When the interface is down, a small number of routes are deleted without notifying fpm. #15395
Closed
2 tasks done
Labels
triage
Needs further investigation
Description
When the interface is down, a small number of routes are deleted without notifying fpm.
Version
How to reproduce
A --- B
(1) B learns 19k ipv6 bgp route from A----must be ipv6 routes and a large number
(2) B Down the interface connected to A.
Expected behavior
When the interface is down, all routes are deleted with notifying fpm.
Actual behavior
When the interface is down, a small number of routes are deleted without notifying fpm.
Additional context
I notice in rib_delete
/*
* This is a non FRR route
* as such we should mark
* it as deleted
/
dest->selected_fib = NULL;
result when rib_process process
/ Update fib according to selection results */
if (new_fib && old_fib)
rib_process_update_fib(zvrf, rn, old_fib, new_fib);
else if (new_fib)
rib_process_add_fib(zvrf, rn, new_fib);
else if (old_fib)
rib_process_del_fib(zvrf, rn, old_fib); old_fib is NULL, cannot rib_process_del_fib。
Backtrace:
rib_delete+0x42d 56375cb8befd 7ffc94977940 /usr/lib/frr/zebra (mapped at 0x56375cb08000)
vrf_lookup_by_table+0x905 56375cb4a2d5 7ffc94977a90 /usr/lib/frr/zebra (mapped at 0x56375cb08000)
netlink_route_change+0xd3 56375cb4b053 7ffc94977fa0 /usr/lib/frr/zebra (mapped at 0x56375cb08000)
netlink_parse_info+0x177 56375cb40e97 7ffc94977ff0 /usr/lib/frr/zebra (mapped at 0x56375cb08000)
netlink_parse_info+0x445 56375cb41165 7ffc949800d0 /usr/lib/frr/zebra (mapped at 0x56375cb08000)
thread_call+0x56 7f58df218e96 7ffc94980160 /usr/lib64/libfrr.so.0 (mapped at 0x7f58df185000)
frr_run+0xe8 7f58df1e0658 7ffc94980300 /usr/lib64/libfrr.so.0 (mapped at 0x7f58df185000)
main+0x329 56375cb31df9 7ffc94980530 /usr/lib/frr/zebra (mapped at 0x56375cb08000)
__libc_init_first+0x90 7f58dec7c390 7ffc94980670 /usr/lib64/libc.so.6 (mapped at 0x7f58dec4f000)
__libc_start_main+0x7c 7f58dec7c43c 7ffc94980710 /usr/lib64/libc.so.6 (mapped at 0x7f58dec4f000)
_start+0x25 56375cb32775 7ffc94980780 /usr/lib/frr/zebra (mapped at 0x56375cb08000)
Checklist
The text was updated successfully, but these errors were encountered: