-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
bgpd crashes in in vpn_leak_to_vrf_update_all #2473
Comments
Initial impressions before testing: I think this crash arises because bgp_vpn is NULL (see vpn_leak_to_vrf_update_all() in the stack trace), which implies bgp_get_default() returns NULL, which is probably due to a missing default bgp instance. You will need a default instance in order to do any vrf importing/exporting in any case. That should enable you to avoid this crash by defining one. (For my own future reference:) 1. Code should tolerate missing default instance and not crash; maybe generate error message; 2. Does default instance need to be defined in config before other instances? If not, does there need to be any handling for deferred vrf/vpn leak operations resulting from prior configuration? |
No crash after I added default bgp instance. /etc/frr/bgpd.conf
/etc/frr/zebra.conf
But no routes was actually imported
/var/log/frr/zebra.log
|
Thank you for providing test results; at least that confirms my hunch. I am thinking about the correct way to deal with cases where the default instance is defined after the vpn instances. In order to leak the routes, you need to explicitly enable leaking. If you want to leak routes in both directions between the vrfs, there are four leak paths that must be enabled:
(The current code does not support direct vrf->vrf leak paths, so they all have to go through the default instance vpn RIB) So each vrf block should have "export vpn" and "import vpn":
(The manual describes this syntax in BGP>BGP Router Configuration>VRFs>VRF Route Leaking) |
Thank you for information. Sorry that asking here but direct vrf->vrf leak will be implemented in the future? After I added export/import routes are shown in "show bgp" but not in "show ip route" - why?
Messages "zebra_redistribute_add: Specified Route Type 0 does not exist" and "zebra_redistribute_delete: Specified Route Type 0 does not exist" still appears, what they mean? |
I do not know; probably best to ask on the frr users mailing list
I think you are showing output from vtysh. "show bgp" shows the contents of the BGP routing tables, but "show ip route" shows the contents of the zebra routing tables. The BGP routes will only be sent to zebra if they are marked valid (*) and best (>). It is possible you are encountering issue #2381. I put a speculative fix in PR #2540 but I have not had a chance to test it yet. Please feel free to try it out if you like. |
@nuqleo is this happening with the latest release? |
I didn't tried but I think that crash should not happen any more. |
@polychaeta autoclose in 1 day. |
Hi,
Trying frr built from current git to run on Fedora28 with bgpd.conf:
Interfaces setup:
But bgpd process crashes:
The text was updated successfully, but these errors were encountered: