[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