[Bug 405195] [NEW] When stopping a specific daemon, _all_ routes are flushed

Tore Anderson tore at fud.no
Mon Jul 27 09:35:14 BST 2009


Public bug reported:

Binary package hint: quagga

This misbehaviour just bit me:

root at fwtest1:~# /etc/init.d/quagga stop ospf6d
Stopping Quagga daemons (prio:0): ospf6d.
Removing all routes made by zebra.

So I'm stopping ospf6d only, but _all_ routes, including the ones
installed by still-running processes such as bgpd, ripd, and so on, are
removed from the kernel's routing table.  That can't be right.

I suggest applying the following patch so that the flushing will only
happen if all of the Quagga daemons are stopped:

--- /etc/init.d/quagga	2009-05-06 23:47:31.000000000 +0200
+++ /tmp/quagga.new	2009-07-27 10:30:44.000000000 +0200
@@ -235,8 +235,10 @@
 	# Stop all daemons at level '0' or 'stop'
   	stop_prio 0 $2
 
-	echo "Removing all routes made by zebra."
-	ip route flush proto zebra
+	if [ -z "$2" ]; then
+		echo "Removing all routes made by zebra."
+		ip route flush proto zebra
+	fi
    	;;
 
     restart|force-reload)

Tore

** Affects: quagga (Ubuntu)
     Importance: Undecided
         Status: New

-- 
When stopping a specific daemon, _all_ routes are flushed
https://bugs.launchpad.net/bugs/405195
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to quagga in ubuntu.



More information about the Ubuntu-server-bugs mailing list