diff options
| author | bisdhdh <biswajit.sadhu@gmail.com> | 2019-10-24 20:29:43 +0530 |
|---|---|---|
| committer | bisdhdh <biswajit.sadhu@gmail.com> | 2020-01-23 09:34:25 +0530 |
| commit | 9e3b51a7f3d111e6c01424dae801501f7053bc60 (patch) | |
| tree | 3cb2c80f6ed3950ac2034a85a367a8125b26be23 /bgpd/bgp_table.c | |
| parent | d6e3c15b6294acc52ba8078000ed12dd13f25034 (diff) | |
bgpd: Restarting node does not send EOR after the convergence.
*After a restarting router comes up and the bgp session is
successfully established with the peer. If the restarting
router doesn’t have any route to send, it send EOR to
the peer immediately before receiving updates from its peers.
*Instead the restarting router should send EOR, if the
selection deferral timer is not running OR count of eor received
and eor required are matches then send EOR.
Signed-off-by: Biswajit Sadhu <sadhub@vmware.com>
Diffstat (limited to 'bgpd/bgp_table.c')
| -rw-r--r-- | bgpd/bgp_table.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/bgpd/bgp_table.c b/bgpd/bgp_table.c index 01efab8f2d..2ef272b571 100644 --- a/bgpd/bgp_table.c +++ b/bgpd/bgp_table.c @@ -141,13 +141,14 @@ void bgp_delete_listnode(struct bgp_node *node) */ if (CHECK_FLAG(node->flags, BGP_NODE_SELECT_DEFER)) { table = bgp_node_table(node); - if (table) + + if (table) { bgp = table->bgp; + afi = table->afi; + safi = table->safi; + } rn = bgp_node_to_rnode(node); - afi = table->afi; - safi = table->safi; - if (bgp && rn && rn->lock == 1) { /* Delete the route from the selection pending list */ if ((node->rt_node) && |
