There has been a bug in VyOS for some time now. It occurs when the router is rebooted. What seems to happen is the route maps applied to each peer are dropped before the sessions and killed. The end result is that the session trips max prefix filters on the peer’s router and that usually requires the session is cleared by the peer before it can be re-established.
I’ve found a way around is to disable the interface before the reboot. sudo ifconfig eth6 down, then reboot.
Another possible work around may be to manually shutdown the peer before the reboot.
vyos@vyos# set protocols bgp 65001 neighbor 10.10.1.1 shutdown
vyos@vyos:~$ show ip bgp neighbors 10.10.1.1
BGP neighbor is 10.10.1.1, remote AS 65001, local AS 65001, internal link
Administratively shut down
You are correct, that is a work around. Except we have 163 peers on one router alone. Running 8 routers in our confederation. not practical to shut each down individually
We ran into this issue as well. Tried to shutdown all sessions before reboot, but even then some routes are leaked. Has anyone found a successfull workaround to circumvent this already?
I’m unable to reproduce this problem on my test environment as of now. Maybe it occurs when redistributing routes learning through iBGP, but i tried to emulate my internet routing table with some static routes generated in a loop.
Also, i don’t have the set protocols bgp xxxx neighbor x.x.x.x address-family ipv4-unicast export command (VyOS 1.2.5).
Will try to adapt my test environment with anyother instance which will inject all routes into my IGP now.
Not sure if i understood correctly, but there is no neighbor in set protocols bgp 65534 address-family ipv4-unicast either
How do you guys test the BGP implementation against a full table? I tried to simulate a upstream with another VyOS instance but adding tousands of static routes proofed to be slow going, so i think there has to be a better tool to mock those BGP messages, however my internet search came up with decade olds scientific papers only.
set protocols bgp 65534 neighbor 10.0.0.1 address-family ipv4-unicast
For test FullView, we establish a real session with neighbor. If you don’t have a direct link, you can use tunnel gre interfaces.
Of course, as a test lab you can origin 40-500 prefixes and on another side parameter “maximum prefix limit”
Thanks. I emulated 2.5k test routes in my lab which was not enough to trigger the bug. Will connect to a real neighbor next and conduct further tests then.
I’m not able to reproduce this with a real neighbor connected to the BGP core with all routes anymore. Will leave it as it is for now and hope this does not happen anymore.