FreeBSD Port: quagga-0.99.7_2 - quagga restartting is broken ?

Daniel Dvořák dandee at hellteam.net
Thu Jun 28 01:35:21 UTC 2007


Hi Boris,

I have a problem with restarting quagga by our script for a long time, I guess since that time when the script was moved from /etc/rc.d/ to /usr/local/etc/rc.d/. And before this major change each restarting of quagga was successful. I can swear on it. :)

When I restart quagga, the router is unreachable at once, the last message before ssh client is kicked out:

# /usr/local/etc/rc.d/quagga restart
Stopping quagga.

PuTTY (inactive) to be illustrative :)

I can reach to the router from another host which is in the same network like my router fortunately.

And what I see ?

# /usr/local/etc/rc.d/quagga status
quagga is running as pid 1164.
quagga is running as pid 802.

>From ps aux:
# ps aux | grep "ospfd"
quagga   802  0.0  2.7  4704  3260  ??  Ss    2:38AM   0:04.24 /usr/local/sbin/ospfd -d

# ps aux | grep "zebra"
quagga  1665  3.2  2.0  3868  2508  ??  Ss    3:05AM   0:15.89 /usr/local/sbin/zebra -d

So I begin to repeat restarting again:

# /../rc.d/quagga restart
Stopping quagga.
Starting quagga.
# /../rc.d/quagga status
quagga is running as pid 1251.
quagga is running as pid 802.
# /../rc.d/watchquagga stop
Stopping watchquagga.
# /../rc.d/quagga restart
Stopping quagga.
Starting quagga.
# /../rc.d/quagga status
quagga is running as pid 1396.
quagga is running as pid 802.

So zebra daemon is definitely stopped and started.

But something wrong is with ospfd, it has the same PID like before.

When I do clean stop-status-start-status sequence, quagga works well again.

# /usr/local/etc/rc.d/quagga stop
Stopping quagga.
Stopping quagga.
# /usr/local/etc/rc.d/quagga status
quagga is not running.
quagga is not running.
# /usr/local/etc/rc.d/quagga start
Starting quagga.
Starting quagga.
# /usr/local/etc/rc.d/quagga status
quagga is running as pid 1868.
quagga is running as pid 1874.

And for be sure:

# /usr/local/etc/rc.d/quagga restart
Stopping quagga.
Waiting for PIDS: 1868.
Starting quagga.
# /usr/local/etc/rc.d/quagga status
quagga is running as pid 2343.
quagga is running as pid 1874.
# ps aux | grep "ospfd"
quagga  1874  0.0  2.7  4668  3264  ??  Ss    3:17AM   0:00.64 /usr/local/sbin/ospfd -d
root    2368  0.0  0.8  1608  1012  p1  R+    3:18AM   0:00.02 grep ospfd

During this time, the routing table is half-empty or almost empty, unlike the time when quagga works well with 200 and more routes.

So tell me please, what is wrong here ?

Bye

Dan



More information about the freebsd-ports mailing list