Bug 66285

Summary: /sbin/ifup prevents zebra working
Product: [Retired] Red Hat Linux Reporter: Dams <dnade>
Component: zebraAssignee: Jay Fenlason <fenlason>
Status: CLOSED WONTFIX QA Contact: Brock Organ <borgan>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.3CC: dnade, hps, jfeeney
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-06-30 15:37:55 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Dams 2002-06-07 08:06:55 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 Galeon/1.2.3 (X11; Linux i686; U;) Gecko/20020524

Description of problem:
If an interface is configure in a "static" way (no dhcp/bootp) then zebra wont
insert into the main routing table the routes ospfd has learned.

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1.netconfig -> choose an ip, a mask, eventually a ns-server and a gateway.
2. service network restart
3. Configure zebra something like that :
/etc/zebra/zebra.conf :
[root@router-rome /tmp]# cat /etc/zebra/zebra.conf
!
! Zebra configuration saved from vty
!   2002/06/06 12:37:29
!
hostname router-munich
password admin
log file /var/log/zebra/zebra.log
log syslog
!
interface lo
!
interface eth0
!
interface eth1
! etc .. one line for each interface...
!
line vty
!

3. service zebra start
4. Configure ospfd :
/etc/zebra/ospfd.conf :
!
! Zebra configuration saved from vty
!   2002/06/05 19:44:31
!
hostname router-munich
password admin
log file /var/log/ospfd.log
log stdout
log syslog
!
!
!
interface lo
!
interface eth0
!
interface eth1
!
router ospf
! the network are all ethX networks.. 
 network 192.168.162.0/24 area 0.0.0.0
 network 192.168.186.0/24 area 0.0.0.0
!
line vty
!
5. service ospfd start
6. Assume you have another ospfd on one of your networks to share some routes
with this router.
7. wait 30s.

Actual Results:  [root@router-munich ~]# telnet localhost ospfd
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Hello, this is zebra (version 0.92a).
Copyright 1996-2001 Kunihiro Ishiguro.


User Access Verification

Password: 
router-munich> enable
router-munich# show ip ospf neighbor 

Neighbor ID     Pri   State           Dead Time   Address         Interface    
      RXmtL RqstL DBsmL
192.168.190.252   1   Full/DR         00:00:38    192.168.1.181  
eth1:192.168.1.184     0     0     0

as you see osfpd has one neighbor and that is normal.

[root@router-munich ~]# telnet localhost zebra
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Hello, this is zebra (version 0.92a).
Copyright 1996-2001 Kunihiro Ishiguro.


User Access Verification

Password: 
router-munich> enable
router-munich# show ip route ospf 
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
       B - BGP, > - selected route, * - FIB route

O   0.0.0.0/0 [110/10] via 192.168.1.181 inactive, 00:02:42
O   192.168.0.0/23 [110/10] is directly connected, eth1, 00:02:53
O   192.168.99.0/24 [110/10] via 192.168.1.181 inactive, 00:02:42
O   192.168.128.0/19 [110/10] via 192.168.1.181 inactive, 00:02:42
O   192.168.160.0/24 [110/20] via 192.168.1.181 inactive, 00:02:43
O   192.168.161.0/24 [110/40] via 192.168.1.181 inactive, 00:02:43
O   192.168.162.0/24 [110/30] via 192.168.1.181 inactive, 00:02:43
O   192.168.163.0/24 [110/10] is directly connected, eth0, 00:02:53
O   192.168.186.0/24 [110/20] via 192.168.1.181 inactive, 00:02:43
O   192.168.187.0/24 [110/20] via 192.168.1.181 inactive, 00:02:43
O   192.168.188.0/24 [110/30] via 192.168.1.181 inactive, 00:02:43
O   192.168.189.0/24 [110/30] via 192.168.1.181 inactive, 00:02:43
O   192.168.190.0/24 [110/20] via 192.168.1.181 inactive, 00:02:43

... and ospfd told zebra there were some routes. But zebra see all theese routes
inactive.

[root@router-munich ~]# ip route
192.168.163.0/24 dev eth0  scope link 
192.168.0.0/23 dev eth1  scope link 
127.0.0.0/8 dev lo  scope link 

... and there's no route in the main routing table.

Expected Results:  The "telnet localhost ospfd" described above is okay. 

Now let's see what we should see in telnet localhost zebra :

[root@router-munich ~]# telnet localhost zebra
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Hello, this is zebra (version 0.92a).
Copyright 1996-2001 Kunihiro Ishiguro.


User Access Verification

Password: 
router-munich> enable
router-munich# show ip route ospf 
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
       B - BGP, > - selected route, * - FIB route

O>* 0.0.0.0/0 [110/10] via 192.168.1.181, eth1, 00:00:18
O   192.168.0.0/23 [110/10] is directly connected, eth1, 00:00:29
O>* 192.168.99.0/24 [110/10] via 192.168.1.181, eth1, 00:00:18
O>* 192.168.128.0/19 [110/10] via 192.168.1.181, eth1, 00:00:18
O>* 192.168.160.0/24 [110/20] via 192.168.1.181, eth1, 00:00:19
O>* 192.168.161.0/24 [110/40] via 192.168.1.181, eth1, 00:00:19
O>* 192.168.162.0/24 [110/30] via 192.168.1.181, eth1, 00:00:19
O   192.168.163.0/24 [110/10] is directly connected, eth0, 00:00:29
O>* 192.168.186.0/24 [110/20] via 192.168.1.181, eth1, 00:00:19
O>* 192.168.187.0/24 [110/20] via 192.168.1.181, eth1, 00:00:19
O>* 192.168.188.0/24 [110/30] via 192.168.1.181, eth1, 00:00:19
O>* 192.168.189.0/24 [110/30] via 192.168.1.181, eth1, 00:00:19
O>* 192.168.190.0/24 [110/20] via 192.168.1.181, eth1, 00:00:19

.. see ? All ospfd routes are *not* inactive.
With the "ip route" command : 

[root@router-munich ~]# ip route
192.168.162.0/24 via 192.168.1.181 dev eth1  proto zebra  metric 30 
192.168.163.0/24 dev eth0  proto kernel  scope link  src 192.168.163.249 
192.168.160.0/24 via 192.168.1.181 dev eth1  proto zebra  metric 20 
192.168.161.0/24 via 192.168.1.181 dev eth1  proto zebra  metric 40 
192.168.99.0/24 via 192.168.1.181 dev eth1  proto zebra  metric 10 
192.168.186.0/24 via 192.168.1.181 dev eth1  proto zebra  metric 20 
192.168.187.0/24 via 192.168.1.181 dev eth1  proto zebra  metric 20 
192.168.190.0/24 via 192.168.1.181 dev eth1  proto zebra  metric 20 
192.168.188.0/24 via 192.168.1.181 dev eth1  proto zebra  metric 30 
192.168.189.0/24 via 192.168.1.181 dev eth1  proto zebra  metric 30 
192.168.0.0/23 dev eth1  proto kernel  scope link  src 192.168.1.184 
192.168.128.0/19 via 192.168.1.181 dev eth1  proto zebra  metric 10 
default via 192.168.1.181 dev eth1  proto zebra  metric 10 



Additional info:

After a lot of test and re-install, i found this was an ifup issue.
If I comment/del theese lines :     
229 : # Add a route for the subnet.  Replace any existing route.
230 : if [ "${ISALIAS}" = no ]; then
231 :     ip route replace ${NETWORK}/${PREFIX} ${SRC} dev ${REALDEVICE}
232 : fi

then zebra will work with absolutly no problem...
I think that redhat7.2 concerned too but not redhat7.1.

Comment 1 Henning Schmiedehausen 2003-04-22 13:32:30 UTC
This is definitely reproduceable here (RedHat 7.3, all security updates
installed,  zebra-0.92a-3.i386.rpm

I rebuilt the RPM from RedHat 9 under 7.3 (rpm --rebuild zebra-0.93b-1.src.rpm)
and installed it instead and this fixed all the problems. Now my routes get
redistributed just fine.


Comment 2 Jay Fenlason 2004-06-30 15:37:55 UTC
7.3 has been unsupported for quite some time now.  If you can
reproduce the problem with a currently supported product, open a new bug.