[Xorp-hackers] OSPF bug(s) in XORP-1.5

Pavlin Radoslavov pavlin at ICSI.Berkeley.EDU
Wed Aug 20 21:25:47 PDT 2008


Francisco Rodriguez <f.rodriguez at lancaster.ac.uk> wrote:

> 2) When configuring the system's network cards (ports) in XORP using
> system's default configuration, I have found the following:
> 	2.1) when disabling the interface on systems shell using ifconfig
> <if> down, XORP does recognizes that the interface has come down:
> root at Route-Server> show interfaces 
> eth1.12/eth1.12: Flags:<ENABLED,BROADCAST,MULTICAST> mtu 1500 speed 100 Mbps
>         inet6 fe80::5054:ff:fe12:3552 prefixlen 64
>         inet 192.168.1.2 subnet 192.168.1.0/24 broadcast 192.168.1.255
>         physical index 5
>         ether 52:54:0:12:35:52
> eth1.13/eth1.13: Flags:<ENABLED,BROADCAST,MULTICAST> mtu 1500 speed 100 Mbps
>         inet6 fe80::5054:ff:fe12:3552 prefixlen 64
>         inet 192.168.2.2 subnet 192.168.2.0/24 broadcast 192.168.2.255
>         physical index 6
>         ether 52:54:0:12:35:52
> root at Route-Server> quit
> Route-Server:~# ifconfig eth1.12 down
> Route-Server:~# /usr/local/xorp-1.5/rtrmgr/./xorpsh
> root at Route-Server> show interfaces 
> eth1.12: Flags:<> mtu 1500 speed 100 Mbps
>         physical index 5
>         ether 52:54:0:12:35:52
> eth1.13/eth1.13: Flags:<ENABLED,BROADCAST,MULTICAST> mtu 1500 speed 100 Mbps
>         inet6 fe80::5054:ff:fe12:3552 prefixlen 64
>         inet 192.168.2.2 subnet 192.168.2.0/24 broadcast 192.168.2.255
>         physical index 6
>         ether 52:54:0:12:35:52
> root at Route-Server> show ospf4 neighbor 
>   Address         Interface             State      ID              Pri  Dead
> 192.168.2.3      eth1.13/eth1.13        Full      192.168.2.3      128    31
> 
> So far, so good.
> 	2.2) Then, after bringing up the interface, again in system's shell
> by entering ifconfig <if> up, I found that XORP does recognizes that the
> interfaces is up again:
> Route-Server:~# ifconfig eth1.12 up
> Route-Server:~# /usr/local/xorp-1.5/rtrmgr/./xorpsh
> Welcome to XORP on Route-Server
> root at Route-Server> show interfaces 
> eth1.12/eth1.12: Flags:<ENABLED,BROADCAST,MULTICAST> mtu 1500 speed 100 Mbps
>         inet6 fe80::5054:ff:fe12:3552 prefixlen 64
>         physical index 5
>         ether 52:54:0:12:35:52
> eth1.13/eth1.13: Flags:<ENABLED,BROADCAST,MULTICAST> mtu 1500 speed 100 Mbps
>         inet6 fe80::5054:ff:fe12:3552 prefixlen 64
>         inet 192.168.2.2 subnet 192.168.2.0/24 broadcast 192.168.2.255
>         physical index 6
>         ether 52:54:0:12:35:52
> 
> BUT, it doesn't load the IP address information as it can be noted above.

I presume you are using VLANs (as you mentioned in your follow-up
email).
What OS distribution and kernel version are you using?
I tried to replicate the problem on Ubuntu-8.04 with kernel
2.6.24-19-server, but I couldn't.
Could you double-check by using the Linux "ip" command that when you
took eth1.12 down, the IPv4 address was still configured in the
kernel.

For reference purpose, here is what I did (I was using Ubuntu within
VMware Fusion). For simplicity I configured only the FEA, and I had
already configured the VLAN in advance:


========
Interface configuration before starting XORP:

pavlin at vm-ubuntu[3] ip addr
<DEL>
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:0c:29:c4:42:3f brd ff:ff:ff:ff:ff:ff
    inet 10.10.10.10/24 brd 10.10.10.255 scope global eth1
    inet6 fe80::20c:29ff:fec4:423f/64 scope link 
       valid_lft forever preferred_lft forever
4: vlan1 at eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
    link/ether 00:0c:29:c4:42:3f brd ff:ff:ff:ff:ff:ff
    inet 10.10.20.20/24 brd 10.10.20.255 scope global vlan1
    inet6 fe80::20c:29ff:fec4:423f/64 scope link 
       valid_lft forever preferred_lft forever

========
XORP configuration:

interfaces {
    interface vlan1 {
    default-system-config
    }
}

========
pavlin at vm-ubuntu> show interfaces 
vlan1/vlan1: Flags:<ENABLED,BROADCAST,MULTICAST> mtu 1500 speed unknown
        inet6 fe80::20c:29ff:fec4:423f prefixlen 64
        inet 10.10.20.20 subnet 10.10.20.0/24 broadcast 10.10.20.255
        physical index 4
        ether 0:c:29:c4:42:3f

========
Take vlan1 down:

root at vm-ubuntu[13] ifconfig vlan1 down
root at vm-ubuntu[14] ip addr
<DEL>
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:0c:29:c4:42:3f brd ff:ff:ff:ff:ff:ff
    inet 10.10.10.10/24 brd 10.10.10.255 scope global eth1
    inet6 fe80::20c:29ff:fec4:423f/64 scope link 
       valid_lft forever preferred_lft forever
4: vlan1 at eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue 
    link/ether 00:0c:29:c4:42:3f brd ff:ff:ff:ff:ff:ff
    inet 10.10.20.20/24 brd 10.10.20.255 scope global vlan1

pavlin at vm-ubuntu> show interfaces 
vlan1/vlan1: Flags:<BROADCAST,MULTICAST> mtu 1500 speed unknown
        inet 10.10.20.20 subnet 10.10.20.0/24 broadcast 10.10.20.255
<DISABLED>
        physical index 4
        ether 0:c:29:c4:42:3f

========
Enable vlan1:
root at vm-ubuntu[15] ifconfig vlan1 up
root at vm-ubuntu[16] ip addr
<DEL>
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:0c:29:c4:42:3f brd ff:ff:ff:ff:ff:ff
    inet 10.10.10.10/24 brd 10.10.10.255 scope global eth1
    inet6 fe80::20c:29ff:fec4:423f/64 scope link 
       valid_lft forever preferred_lft forever
4: vlan1 at eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
    link/ether 00:0c:29:c4:42:3f brd ff:ff:ff:ff:ff:ff
    inet 10.10.20.20/24 brd 10.10.20.255 scope global vlan1
    inet6 fe80::20c:29ff:fec4:423f/64 scope link 
       valid_lft forever preferred_lft forever

pavlin at vm-ubuntu> show interfaces 
vlan1/vlan1: Flags:<ENABLED,BROADCAST,MULTICAST> mtu 1500 speed unknown
        inet6 fe80::20c:29ff:fec4:423f prefixlen 64
        inet 10.10.20.20 subnet 10.10.20.0/24 broadcast 10.10.20.255
        physical index 4
        ether 0:c:29:c4:42:3f



Pavlin

> So, due to this reason, OSPF doesn't consider such interface for any of its
> running processes.
>  
> root at Route-Server> show ospf4 neighbor 
>   Address         Interface             State      ID              Pri  Dead
> 192.168.2.3      eth1.13/eth1.13        Full      192.168.2.3      128    35
> 
> 	2.3) After, I flapped the interface by issuing a disable-enable on
> XORPSH (CLI), to try and see if in this way XORP does reload interface's IP
> information, which indeed it does!
> 
> root at Route-Server# create interfaces interface eth1.12 disable true
> root at Route-Server# commit
> root at Route-Server# create interfaces interface eth1.12 disable false
> root at Route-Server# commit
> root at Route-Server# exit
> root at Route-Server> show ospf4 neighbor 
>   Address         Interface             State      ID              Pri  Dead
> 192.168.1.3      eth1.12/eth1.12        Full      192.168.1.3      128    37
> 192.168.2.3      eth1.13/eth1.13        Full      192.168.2.3      128    33
> root at Route-Server> show interfaces 
> eth1.12/eth1.12: Flags:<ENABLED,BROADCAST,MULTICAST> mtu 1500 speed 100 Mbps
>         inet6 fe80::5054:ff:fe12:3552 prefixlen 64
>         inet 192.168.1.2 subnet 192.168.1.0/24 broadcast 192.168.1.255
>         physical index 5
>         ether 52:54:0:12:35:52
> eth1.13/eth1.13: Flags:<ENABLED,BROADCAST,MULTICAST> mtu 1500 speed 100 Mbps
>         inet6 fe80::5054:ff:fe12:3552 prefixlen 64
>         inet 192.168.2.2 subnet 192.168.2.0/24 broadcast 192.168.2.255
>         physical index 6
>         ether 52:54:0:12:35:52
> 
> From previous, it seems that the issue comes from FEA and not from OSPF as I
> though initially.



More information about the Xorp-hackers mailing list