-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
nhrpd: fixes core dump on shutdown #15879
nhrpd: fixes core dump on shutdown #15879
Conversation
would be nice to have a topotest for this |
Having a coredump inside the commit would be helpful too. |
core.txt link has the backtrace. Next time I'll include in line. |
Why not this time? |
@Mergifyio backport stable/10.0 stable/9.1 stable/9.0 stable/8.5 |
✅ Backports have been created
|
Hi Donatas, I'd be happy to add coredump and associated nhrpd. I looked for a previous pull request example of best practices how to do that and couldn't find another PR with a coredump. Can you suggest how FRR community would like that done. Thanks. |
cb75c32
to
a63f6a9
Compare
(This is non-blocking re. this PR) — we may have a more general problem here with ordering shutdown operations. |
The topotest added by this commit is failing on Ubuntu 18.04 arm8 because 'iptables' is not installed on the image. The test leverages 'iptables' in order to be able to test nhrp shortcuts 2024/05/02-00:05:51 2024-05-02 00:05:51,225 INFO: topo: input: iptables -A FORWARD -i r1-gre0 -o r1-gre0 -m hashlimit --hashlimit-upto 4/minute --hashlimit-burst 1 --hashlimit-mode srcip,dstip --hashlimit-srcmask 24 --hashlimit-dstmask 24 --hashlimit-name loglimit-0 -j NFLOG --nflog-group 1 --nflog-range 128 |
a63f6a9
to
4f6e5a6
Compare
9188309
to
94d381d
Compare
If you are adding usage of iptables and it is not present you should skip the test on that platform. See the bgp_as_allow_in/test_bgp_as_allow_in.py script and look at setup_module and add a similiar test to the kernel version and pytest.skip(...) if its not available. |
Thanks Donald. I pushed the fix to ignore unsupported platforms already. Now just trying to get all the unrelated basics tests to pass. i.e.
E AssertionError: 'r1' wrong number of route nexthops |
e39f017
to
be936d4
Compare
be936d4
to
104410d
Compare
When nhrpd is shutdown via nhrp_request_stop() the shutdown sequence was not handling the case where there are active shortcut routes installed. The zebra client and shortcut rib were being cleaned up before vrf_terminate() had an opportunity to delete the active routes. Signed-off-by: dleroy <[email protected]>
…ology Contains 2 testcases. The first does a basic configuration/connectivity. The second testcase initiates a shortcut through the primary NHS, verifies shortcut routes are installed. Primary NHS interface brought down and verify that the shortcut is not impacted. Finally verify that after the shortcut expires, it is able to be re-established via a backup NHS. Signed-off-by: dleroy <[email protected]>
104410d
to
a7037ab
Compare
@Mergifyio backport stable/8.4 |
✅ Backports have been created
|
nhrpd: fixes core dump on shutdown (backport #15879)
When nhrpd is shutdown via nhrp_request_stop() the shutdown sequence was not handling the case where there are active shortcut routes installed. The zebra client and shortcut rib were being cleaned up before vrf_terminate() had an opportunity to delete the active routes.
core.txt