From: Donald Sharp Date: Wed, 30 Sep 2015 22:05:19 +0000 (-0700) Subject: bgpd: Fix neighbor command with internal or external keyword and interface X-Git-Tag: frr-2.0-rc1~1244 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=edcfcd253c9d07a9dcc66d6b1ffc247525cb881d;p=matthieu%2Ffrr.git bgpd: Fix neighbor command with internal or external keyword and interface Ticket: CM-7737 Reviewed-by: CCR-3611 Testing: See bug When configuring a bgp peer that already has some config hung off of it, such as 'interface v6only' and then configuring remote-as internal/external will not cause the config to be taken. Signed-off-by: Donald Sharp --- diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c index e43fb5a5db..61a416ab71 100644 --- a/bgpd/bgpd.c +++ b/bgpd/bgpd.c @@ -1543,7 +1543,7 @@ peer_remote_as (struct bgp *bgp, union sockunion *su, const char *conf_if, } /* Existing peer's AS number change. */ - if (peer->as != *as) + if ((peer->as != *as) || (peer->as_type != as_type)) peer_as_change (peer, *as, as_type); } else @@ -2265,7 +2265,7 @@ peer_group_remote_as (struct bgp *bgp, const char *group_name, for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer)) { - if (peer->as != *as) + if ((peer->as != *as) || (peer->as_type != as_type)) peer_as_change (peer, *as, as_type); }