]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: Allow nht to work when connection succeeds
authorDonald Sharp <sharpd@nvidia.com>
Wed, 18 May 2022 18:29:16 +0000 (14:29 -0400)
committerDonald Sharp <sharpd@nvidia.com>
Wed, 18 May 2022 18:42:20 +0000 (14:42 -0400)
Originally commit: 8761cd6ddb5437767625f58c8e9cc3ccda7887ab
implemented the ability for LL nexthop tracking to be
interface based.  During some more testing the code
to make the interface event happen was noticed to
not properly run in some cases.  This was because
it was originally assumed that the connect could
not succeed.  Testing has shown that the connect
can succeed and FRR needs to handle the nht tracking
in this case too.

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

index cc3505333b4bc43c87850d5dfe6a6efcb19d7af1..9fe65e4e4b0b39283f040070e27e662f956bce99 100644 (file)
@@ -1701,6 +1701,12 @@ static int bgp_connect_success(struct peer *peer)
                return -1;
        }
 
+       /*
+        * If we are doing nht for a peer that ls v6 LL based
+        * massage the event system to make things happy
+        */
+       bgp_nht_interface_events(peer);
+
        bgp_reads_on(peer);
 
        if (bgp_debug_neighbor_events(peer)) {
@@ -1739,6 +1745,12 @@ static int bgp_connect_success_w_delayopen(struct peer *peer)
                return -1;
        }
 
+       /*
+        * If we are doing nht for a peer that ls v6 LL based
+        * massage the event system to make things happy
+        */
+       bgp_nht_interface_events(peer);
+
        bgp_reads_on(peer);
 
        if (bgp_debug_neighbor_events(peer)) {