-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Incorrect route for 0.0.0.0 in APPL_DB #6483
Comments
I figured out the method to repro the issue. If we shutdown some interface on DUT, the default route in
If we shutdown an interface (say
Logs are following
In our regression test, the |
completely unexpected. I can repro it in the virtual dut. meanwhile, it seems only affecting default route. also, if I bring the port back, the default route is still missing. |
This seems to be a bug/behavior change in FRR/Zebra: When any interface is shutdown, a route update is sent from zebra to fpmsyncd for eth0 and thats causing the route change to APPDB. Looks like routes in kernel default table are being reinstalled Zebra log during Ethernet28 shutdown:
Upon receiving this event, fpmsyncd just modifies default route in APPDB causing the issue fpmsyncd logs during interface down
|
Check sonic-net#6483 add test to make sure default route change in eth0 does not affect the default route in the default vrf Signed-off-by: Guohan Lu <lguohan@gmail.com>
this only repro when there is such default route in the default table. root@b263e2768225:/# ip route list table default |
Fix sonic-net/sonic-buildimage#6483 An FRR behavior change from 7.2 to 7.5 makes FRR update the default route to eth0 in interface up/down events. Skipping routes to eth0 or docker0 to avoid such behavior.
Check #6483 add test to make sure default route change in eth0 does not affect the default route in the default vrf Signed-off-by: Guohan Lu <lguohan@gmail.com>
Fix sonic-net/sonic-buildimage#6483 An FRR behavior change from 7.2 to 7.5 makes FRR update the default route to eth0 in interface up/down events. Skipping routes to eth0 or docker0 to avoid such behavior.
Fix sonic-net/sonic-buildimage#6483 An FRR behavior change from 7.2 to 7.5 makes FRR update the default route to eth0 in interface up/down events. Skipping routes to eth0 or docker0 to avoid such behavior.
Fix sonic-net/sonic-buildimage#6483 An FRR behavior change from 7.2 to 7.5 makes FRR update the default route to eth0 in interface up/down events. Skipping routes to eth0 or docker0 to avoid such behavior.
Fix sonic-net/sonic-buildimage#6483 An FRR behavior change from 7.2 to 7.5 makes FRR update the default route to eth0 in interface up/down events. Skipping routes to eth0 or docker0 to avoid such behavior.
Description
The test case
test_hash
will extract route fromAPPL_DB
byredis-dump -d 0 -k 'ROUTE*' -y
.Recently,
test_hash
was consistently failing with exceptionThe exception was because of incorrect default route, which results in empty
exp_port_list
.The most bizarre thing is the route in kernel is correct.
Still not sure if this issue is caused by previously running test cases or triggered by some operations.
Steps to reproduce the issue:
The issue is not easy to repro when running manually. But was consistently failing on regression test.
test_hash
Describe the results you received:
Test case should pass.
Describe the results you expected:
Test case failed.
Additional information you deem important (e.g. issue happens only occasionally):
The text was updated successfully, but these errors were encountered: