diff options
| author | Mark Stapp <mjs.ietf@gmail.com> | 2025-04-10 10:07:32 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-10 10:07:32 -0400 |
| commit | 0e8e0c5fb989ea44a392e276b39fe1405d9a0082 (patch) | |
| tree | 0510131294fdd6699ce527e065df02ab883c69bd /bgpd | |
| parent | f28394313fc243bc7ef43672cabda4112d861cb4 (diff) | |
| parent | 93458dcf7a5917df699ce50e1880f384d3a991f7 (diff) | |
Merge pull request #18594 from soumyar-roy/soumya/netwithdraw
bgpd: Paths not deleted received from shutdown peer
Diffstat (limited to 'bgpd')
| -rw-r--r-- | bgpd/bgp_route.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index bca4ea4348..684b0a19d8 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -6825,6 +6825,16 @@ static int clear_batch_rib_helper(struct bgp_clearing_info *cinfo) */ UNSET_FLAG(cinfo->flags, BGP_CLEARING_INFO_FLAG_RESUME); } + + /* Return immediately, otherwise the 'ret' state will be overwritten + * by next afi/safi. Also resume state stored for current afi/safi + * in walk_batch_table_helper, will be overwritten. This may cause to + * skip the nets to be walked again, so they won't be marked for deletion + * from BGP table + */ + if (ret != 0) + return ret; + safi = SAFI_UNICAST; } return ret; |
