Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

When the interface is down, a small number of routes are deleted without notifying fpm. #15395

Open
2 tasks done
wangdan1323 opened this issue Feb 20, 2024 · 3 comments
Open
2 tasks done
Labels
triage Needs further investigation

Comments

@wangdan1323
Copy link

Description

When the interface is down, a small number of routes are deleted without notifying fpm.

Version

FRR 8.5

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

  • I have searched the open issues for this bug.
  • I have not included sensitive information in this report.
@wangdan1323 wangdan1323 added the triage Needs further investigation label Feb 20, 2024
@donaldsharp
Copy link
Member

Can you give us an idea of which routes are not deleted through the FPM? Could you turn on debug zebra dplane detailed and debug zebra rib when this problem ocurrs

@wangdan1323
Copy link
Author

See attachment for log。
routes are deleted without notifying fpm:
100::af1"
100::aff"
100::b10"
100::afa"
100::af3"
100::b09"
100::afd"
100::b17"
100::b16"
100::b04"
100::b0f"
100::b03"
100::b07
100::af0
100::af5
100::b12
100::afb
100::b0a
100::b02
100::b08
100::afe
100::b0b
100::af8
100::af7
100::b00
100::b0c
100::af9
100::af4
100::b0d
100::b06
100::af6
100::b01
100::b11
100::b13
100::b0e
100::b14
100::b15
100::af2
100::afc
100::b05

@wangdan1323
Copy link
Author

wangdan1323 commented Feb 21, 2024

image
you can analyze 100::b02

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
triage Needs further investigation
Projects
None yet
Development

No branches or pull requests

2 participants