]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: Allow v6 LL peers to work when connected to as well
authorDonald Sharp <sharpd@nvidia.com>
Thu, 16 Sep 2021 12:00:44 +0000 (08:00 -0400)
committerDonald Sharp <sharpd@nvidia.com>
Thu, 16 Sep 2021 12:07:45 +0000 (08:07 -0400)
Initial commit: 8761cd6ddb5437767625f58c8e9cc3ccda7887ab

introduced the idea of v6 LL using interface up/down events
instead of nexthop resolution to know when a peering should
happen or not.  This above commit left a hole where if the remote
peer connected to this bgp, the bgp code would still believe
the peering is down.   Modify the code to double check and
ensure that we have proper v6 LL resolution flags set.

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

index f72f44f8a20689af8cbad07db156143b5d6309b5..09abb699683de1212ef8117543389da1ff2d9d6c 100644 (file)
@@ -46,6 +46,7 @@
 #include "bgpd/bgp_errors.h"
 #include "bgpd/bgp_network.h"
 #include "bgpd/bgp_zebra.h"
+#include "bgpd/bgp_nht.h"
 
 extern struct zebra_privs_t bgpd_privs;
 
@@ -603,6 +604,12 @@ static int bgp_accept(struct thread *thread)
                        BGP_EVENT_ADD(peer, TCP_connection_open);
        }
 
+       /*
+        * If we are doing nht for a peer that is v6 LL based
+        * massage the event system to make things happy
+        */
+       bgp_nht_interface_events(peer);
+
        return 0;
 }