-
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
[staticroutebfd]fix an issue on deleting a non-bfd static route #15269
Changes from 1 commit
1bf4dd8
a3bc84c
64739f4
b0e7c70
8a76f1f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,4 @@ | ||
from unittest.mock import patch | ||
#from unittest.mock import MagicMock, patch | ||
|
||
from staticroutebfd.main import * | ||
from swsscommon import swsscommon | ||
|
@@ -169,6 +168,28 @@ def test_set_del(): | |
{'del_default:2.2.2.0/24': {}} | ||
) | ||
|
||
# test add a non-bfd static route | ||
set_del_test(dut, "srt", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I also suggest adding a testcase which has nexthop-vrf parameter There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. new testcases are added for nexthop-vrf list. thanks |
||
"SET", | ||
("3.3.3.0/24", { | ||
"nexthop": "192.168.1.2 , 192.168.2.2", | ||
"ifname": "if1, if2", | ||
}), | ||
{}, | ||
{} | ||
) | ||
|
||
# test delete a non-bfd static route | ||
set_del_test(dut, "srt", | ||
"DEL", | ||
("3.3.3.0/24", { | ||
"nexthop": "192.168.1.2 , 192.168.2.2", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. fv-pairs for del notification will be empty There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I will remove that to prevent DUT using these values in case |
||
"ifname": "if1, if2", | ||
}), | ||
{}, | ||
{} | ||
) | ||
|
||
def test_bfd_del(): | ||
dut = constructor() | ||
intf_setup(dut) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why aren't we removing the static route if bfd not enabled? What was the previous behavior? Does this mean if the user removes static route via CLI, won't it get removed from APP_DB?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If BFD is not enabled, staticroutebfd does not write static route entry to appl_db. so it should not delete it from appl_db. In general, prefix in config_db should not in appl_db. but to be safe, it is better that staticroutebfd does not touch that route in appl_db if it is not created by staticroutebfd.