]> 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)
committermergify-bot <noreply@mergify.io>
Thu, 16 Sep 2021 18:15:43 +0000 (18:15 +0000)
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>
(cherry picked from commit dcd5ba55058fc42c592f6c40ad0815aa20f0cbbf)

bgpd/bgp_network.c

index ecaa1cd9513a6bf001a7af08728907b0c9fb0a73..dfc465af0826a5377ca2ff0540c3698fa4fddfd5 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;
 
@@ -606,6 +607,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;
 }