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

Attachment: signature.asc
Description: Digital signature

Reply via email to