I am using Quagga and FreeBSD 10.2 to achieve BGP loadbalancing. Before putting this into the production, I am trying out all fail cases I can come up with.

I tried doing "pkill -9 bgpd" to simulate daemon crash. This removed all BGP entries from the routing table. Is it possible to configure Quagga to keep BGP entries in the routing table? Any hints appreciated.

  • Did any answer help you? If so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you can provide your own answer and accept it.
    – Ron Maupin
    Aug 7, 2017 at 0:53

3 Answers 3


I think you are looking for the --retain argument, which allows you to retain routes in the kernel across restarts of the daemons.


Add following line to your rc.conf to instruct quagga's bgpd to retain routes upon termination:


Quagga's startup script (/usr/local/etc/rc.d/quagga) documented a list of variables and settings you can configure upon startup.


Dynamic Routing Protocols works on that form, any neighbor or peer changes, will cause change on the routing tables, then, think if that neighbor or peer disapear??, automatically the routing table will be changed, only maintaining the statical routes, and those who are put by some active routing protocol.

Quagga emulates in a good way a router, i think, what you need to do is to check the Quagga daemons, eg: quagga, zebra, bgpd and so on, on the way to maintain those working, i´m thinking a daemon like Supervisor, and configured to up every daemon with the conf that you want.

You can find supervisor info here: http://supervisord.org/introduction.html

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.