From c4368918e4a6ff93364c2160d7da3197e86a81b6 Mon Sep 17 00:00:00 2001 From: Daniel Walton Date: Fri, 12 Jan 2018 15:31:16 +0000 Subject: [PATCH] BGP "allowas-in" should accept AS paths with "local-as" Signed-off-by: Daniel Walton For issue #1548 --- bgpd/bgp_route.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 81b605ad79..d45f780f1b 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -2711,7 +2711,9 @@ int bgp_update(struct peer *peer, struct prefix *p, u_int32_t addpath_id, /* AS path local-as loop check. */ if (peer->change_local_as) { - if (!CHECK_FLAG(peer->flags, PEER_FLAG_LOCAL_AS_NO_PREPEND)) + if (peer->allowas_in[afi][safi]) + aspath_loop_count = peer->allowas_in[afi][safi]; + else if (!CHECK_FLAG(peer->flags, PEER_FLAG_LOCAL_AS_NO_PREPEND)) aspath_loop_count = 1; if (aspath_loop_check(attr->aspath, peer->change_local_as)