I just ran into this bug, and read the e-mail discussion in the bts archive, and I find myself wondering if you actually understand the cause of the problem here at all...
All of the quagga daemons can be instructed /not/ to flush their routes upon exit; this is documented in their respective manpages (see the --retain flag). What's causing the routes to temporarily disappear is the fact that you *explicitly flush them* in the init.d script. Let me quote a bit of it: stop|0) # Stop all daemons at level '0' or 'stop' stop_prio 0 $2 echo "Removing all routes made by zebra." ip route flush proto zebra ;; restart|force-reload) $0 stop $2 sleep 1 $0 start $2 ;; That "ip route flush proto zebra" line is what's doing the damage here, not some kind of "underlying concept of what happens when a daemon is restarted". Or did you really think the quagga authors hadn't thought of that problem themselves? As it is right now, the version of quagga in debian has a very serious problem, and your attitude of "it's not my fault others couldn't figure out the obvious" in the email conversation on this bug really did not help matters. Fix this. It won't take you five minutes. -- Rens Houben | opinions are mine Resident linux guru and sysadmin | if my employers have one Systemec Internet Services. |they'll tell you themselves PGP key at http://marduk.systemec.nl/~shadur/shadur.key.asc
signature.asc
Description: Digital signature