summaryrefslogtreecommitdiff
path: root/lib/agg_table.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@nvidia.com>2022-04-24 16:52:46 -0400
committerDonald Sharp <sharpd@nvidia.com>2022-04-24 17:08:12 -0400
commit9f002fa5dd34e7d901b501e7d0306027d85b531a (patch)
treebad1efed8f2aae448a2735614f1ce951a33f8086 /lib/agg_table.c
parentc27892b24d21762f3cd4276fa2cca75c958f9b15 (diff)
bgpd: Fix import check removal
Fix: 06e4e90132ad23815c6f288dd7e6be334f5ab233 Modified BGP to pay more attention the prefix returned from zebra to ensure that a LPM wasn't accidently causing BGP import checks to think it had a match when it did not. This unfortunately removed the check to handle the route removal. This sequence of config and events would leave BGP in a bad state: ip route 100.100.100.0/24 Null0 router bgp 32932 bgp network import-check address-family ipv4 uni network 100.100.100.0/24 Then if you removed the static route the import check would still think the route existed: donatas-pc(config)# ip route 100.100.100.0/24 Null0 donatas-pc(config)# do sh ip bgp import-check-table Current BGP import check cache: 100.100.100.0 valid [IGP metric 0], #paths 1 blackhole Last update: Sat Apr 23 22:51:34 2022 donatas-pc(config)# do sh ip nht 100.100.100.0 resolved via static is directly connected, Null0 Client list: bgp(fd 17) donatas-pc(config)# do sh ip bgp neighbors 192.168.10.123 advertised-routes | include 100.100.100.0 *> 100.100.100.0/24 0.0.0.0 0 32768 i donatas-pc(config)# no ip route 100.100.100.0/24 Null0 donatas-pc(config)# do sh ip nht 100.100.100.0 resolved via kernel via 192.168.10.1, enp3s0 Client list: bgp(fd 17) donatas-pc(config)# do sh ip bgp import-check-table Current BGP import check cache: 100.100.100.0 valid [IGP metric 0], #paths 1 blackhole Last update: Sat Apr 23 22:51:34 2022 donatas-pc(config)# do sh ip bgp neighbors 192.168.10.123 advertised-routes | include 100.100.100.0 *> 100.100.100.0/24 0.0.0.0 0 32768 i donatas-pc(config)# Fix this by moving the code to handle the prefix check to the evaluation function and mark the bnc as not matching and actually evaluate the bnc. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Diffstat (limited to 'lib/agg_table.c')
0 files changed, 0 insertions, 0 deletions