Fixed
Created: Nov 20, 2012
Updated: Feb 18, 2017
Resolved Date: Apr 25, 2013
Found In Version: 5.0.1
Fix Version: 5.0.1.3
Severity: Severe
Applicable for: Wind River Linux 5
Component/s: Networking
Problem Description
======================
1.Add router to kernel main router table with "ip", then you can see a router item in kernel main router table.
Also can see this router item in zebra router table. If down the interface, this router item will be delete
from kernel main router table, but it will not be deleted from zebra router table, just set as inactive.
2. If add static router with zebra, and zhen delete it with "ip" command, this router item will be deleted
from kernel main router table, but it will not be deleted from zebra router table, just set as inactive..
This issue have disscussion in http://www.gossamer-threads.com/lists/quagga/dev/22609
Expected Behavior
======================
The zebra router table should sync with kernel main router table.
Observed Behavior
======================
ISSUE 1:
$ telnet localhost zebra
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
Hello, this is Quagga (version 0.99.21).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
User Access Verification
Password:
WR-Router> show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
O - OSPF, I - IS-IS, B - BGP, A - Babel,
> - selected route, * - FIB route
K>* 0.0.0.0/0 via 128.224.158.1, eth0
C>* 127.0.0.0/8 is directly connected, lo
C>* 128.224.158.0/23 is directly connected, eth0
K>* 192.168.13.0/24 is directly connected, eth2
WR-Router> exit
$ ifconfig eth2 down
$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 128.224.158.1 0.0.0.0 UG 0 0 0 eth0
128.224.158.0 * 255.255.254.0 U 0 0 0 eth0
$ telnet localhost zebra
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
Hello, this is Quagga (version 0.99.21).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
User Access Verification
Password:
WR-Router> show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
O - OSPF, I - IS-IS, B - BGP, A - Babel,
> - selected route, * - FIB route
K>* 0.0.0.0/0 via 128.224.158.1, eth0
C>* 127.0.0.0/8 is directly connected, lo
C>* 128.224.158.0/23 is directly connected, eth0
K * 192.168.13.0/24 is directly connected, eth2 inactive
WR-Router> exit
ISSUE 2:
$ telnet localhost zebra
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
Hello, this is Quagga (version 0.99.21).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
User Access Verification
Password:
WR-Router> enable
WR-Router# configure terminal
WR-Router(config)# ip route 192.168.14.0/24 eth2
WR-Router(config)# exit
WR-Router# exit
$ telnet localhost zebra
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
Hello, this is Quagga (version 0.99.21).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
User Access Verification
Password:
WR-Router> show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
O - OSPF, I - IS-IS, B - BGP, A - Babel,
> - selected route, * - FIB route
K>* 0.0.0.0/0 via 128.224.158.1, eth0
C>* 127.0.0.0/8 is directly connected, lo
C>* 128.224.158.0/23 is directly connected, eth0
S>* 192.168.14.0/24 [1/0] is directly connected, eth2
WR-Router> exit
$ ip route show
default via 128.224.158.1 dev eth0
128.224.158.0/23 dev eth0 proto kernel scope link src 128.224.158.223
192.168.14.0/24 dev eth2 proto zebra
$ ip route del 192.168.14.0/24 dev eth2
telnet localhost zebra
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
Hello, this is Quagga (version 0.99.21).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
User Access Verification
Password:
WR-Router> show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
O - OSPF, I - IS-IS, B - BGP, A - Babel,
> - selected route, * - FIB route
K>* 0.0.0.0/0 via 128.224.158.1, eth0
C>* 127.0.0.0/8 is directly connected, lo
C>* 128.224.158.0/23 is directly connected, eth0
S 192.168.14.0/24 [1/0] is directly connected, eth2
1.Configure zebra
$ cat > /etc/quagga/zebra.conf << EOF
hostname WR-Router
password zebra
log file /var/log/quagga/zebra.log
log stdout
log syslog
debug zebra events
debug zebra packet
debug zebra kernel
EOF
2.Start zebra and ripd
/etc/init.d/quagga start
3. Please see the observed behavior part of the Symptom Details section.