]> git.proxmox.com Git - mirror_frr.git/commitdiff
bgpd: More Extended nexthop fixing
authorDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 16 Nov 2016 17:00:40 +0000 (12:00 -0500)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 17 May 2017 12:48:46 +0000 (08:48 -0400)
Basically if we are reading in a cli with a extended-nexthop
and we have not received from zebra the interface we are working
on I believe we have a race condition where we are not
propagating the PEER_FLAG_CAPABILITY_ENHE in this case.

Modify the code to propagate even if we haven't found the
interface yet.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
bgpd/bgpd.c

index 24ef4465fe1f07fa4279e8ca8adcd7c34d648351..7343d3714ffe580149d2001acf19c5337d28a046 100644 (file)
@@ -2697,7 +2697,7 @@ peer_group_bind (struct bgp *bgp, union sockunion *su, struct peer *peer,
        * Capability extended-nexthop is enabled for an interface neighbor by
        * default. So, fix that up here.
        */
-      if (peer->ifp && cap_enhe_preset)
+      if (peer->conf_if && cap_enhe_preset)
         peer_flag_set (peer, PEER_FLAG_CAPABILITY_ENHE);
 
       for (afi = AFI_IP; afi < AFI_MAX; afi++)