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

Pavlin Radoslavov pavlin at ICSI.Berkeley.EDU
Fri Aug 22 19:46:39 PDT 2008


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

> Pavlin,
> 
> Here is the output of your request: 
> (I have flapped VLAN eth1.12)

Thank you for the detailed info.
I cross-referenced it vs. the output I was getting, but I don't see
anything unusual. Indeed, in your output I see some extra stuff, but
I don't think this is related.

To debug the problem further I see the following three options:

(a) You can try a newer kernel (e.g., 2.6.24 like the one I am
    using). This might fix the problem only if it is in the kernel,
    and we don't know that yet.
(b) You can try to debug the problem by me telling you where to start
    looking for different things. E.g., I can tell you where to start
    putting XLOG statements in the FEA and then try to analyze the
    problem and what to do next.
    The downside of doing this is it can be a very slow and very time
    consuming process.
(c) If you can provide me with a temporary login access to your
    machine, this might be the fastest and easiest way to chase the
    problem. Obviously I would need root permission to run
    "ifconfig" to enable/disable the VLAN, but you can use various
    mechanisms to give me root permission for that command only
    (e.g., sudo or temp. setuid for the binary).

If you have already another Linux box running a different kernel
(older kernel is also fine), you can quickly try (a) so you don't
have to update/modify the box you are using currently.
I would recommend first doing (a) anyway, so we can narrow
the problem.
After that I'd recommend (c) so we both can save time.
Only if (c) is not an option for you, we should consider (b).

Pavlin


> Route-Server:~# ip addr
> 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue 
>     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
>     inet 127.0.0.1/8 scope host lo
>     inet6 ::1/128 scope host 
>        valid_lft forever preferred_lft forever
> 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen
> 1000
>     link/ether 52:54:00:12:35:51 brd ff:ff:ff:ff:ff:ff
>     inet 10.0.2.15/24 brd 10.0.2.255 scope global eth0
>     inet6 fe80::5054:ff:fe12:3551/64 scope link 
>        valid_lft forever preferred_lft forever
> 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen
> 1000
>     link/ether 52:54:00:12:35:52 brd ff:ff:ff:ff:ff:ff
>     inet6 fe80::5054:ff:fe12:3552/64 scope link 
>        valid_lft forever preferred_lft forever
> 4: eth1.3 at eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
>     link/ether 52:54:00:12:35:52 brd ff:ff:ff:ff:ff:ff
>     inet 10.100.100.1/24 brd 10.100.100.255 scope global eth1.3
>     inet6 fe80::5054:ff:fe12:3552/64 scope link 
>        valid_lft forever preferred_lft forever
> 5: eth1.12 at eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
>     link/ether 52:54:00:12:35:52 brd ff:ff:ff:ff:ff:ff
>     inet 192.168.1.2/24 brd 192.168.1.255 scope global eth1.12
>     inet6 fe80::5054:ff:fe12:3552/64 scope link 
>        valid_lft forever preferred_lft forever
> 
> Route-Server:~# ip monitor all
> 5: eth1.12 at eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue 
>     link/ether 52:54:00:12:35:52 brd ff:ff:ff:ff:ff:ff
> Deleted fe80::/64 dev eth1.12  metric 256  expires 21263891sec mtu 1500
> advmss 1440 hoplimit 4294967295
> Deleted ff00::/8 dev eth1.12  metric 256  expires 21263891sec mtu 1500
> advmss 1440 hoplimit 4294967295
> Deleted 5: eth1.12    inet6 fe80::5054:ff:fe12:3552/64 scope link 
>        valid_lft forever preferred_lft forever
> Deleted local fe80::5054:ff:fe12:3552 via :: dev lo  proto none  metric 0
> mtu 16436 advmss 16376 hoplimit 4294967295
> Deleted 5: eth1.12 at eth1: <BROADCAST,MULTICAST> mtu 1500 
>     link/ether 52:54:00:12:35:52
> 5: eth1.12 at eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
>     link/ether 52:54:00:12:35:52 brd ff:ff:ff:ff:ff:ff
> broadcast 192.168.1.255 dev eth1.12  table local  proto kernel  scope link
> src 192.168.1.2 
> 192.168.1.0/24 dev eth1.12  proto kernel  scope link  src 192.168.1.2 
> broadcast 192.168.1.0 dev eth1.12  table local  proto kernel  scope link
> src 192.168.1.2 
> ff00::/8 dev eth1.12  metric 256  mtu 1500 advmss 1440 hoplimit 4294967295
> fe80::/64 dev eth1.12  metric 256  mtu 1500 advmss 1440 hoplimit 4294967295
> 5: eth1.12 at eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 
>     link/ether 52:54:00:12:35:52
> 5: eth1.12    inet6 fe80::5054:ff:fe12:3552/64 scope link 
>        valid_lft forever preferred_lft forever
> local fe80::5054:ff:fe12:3552 via :: dev lo  proto none  metric 0  mtu 16436
> advmss 16376 hoplimit 4294967295
> 
> Route-Server:~# ip addr
> 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue 
>     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
>     inet 127.0.0.1/8 scope host lo
>     inet6 ::1/128 scope host 
>        valid_lft forever preferred_lft forever
> 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen
> 1000
>     link/ether 52:54:00:12:35:51 brd ff:ff:ff:ff:ff:ff
>     inet 10.0.2.15/24 brd 10.0.2.255 scope global eth0
>     inet6 fe80::5054:ff:fe12:3551/64 scope link 
>        valid_lft forever preferred_lft forever
> 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen
> 1000
>     link/ether 52:54:00:12:35:52 brd ff:ff:ff:ff:ff:ff
>     inet6 fe80::5054:ff:fe12:3552/64 scope link 
>        valid_lft forever preferred_lft forever
> 4: eth1.3 at eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
>     link/ether 52:54:00:12:35:52 brd ff:ff:ff:ff:ff:ff
>     inet 10.100.100.1/24 brd 10.100.100.255 scope global eth1.3
>     inet6 fe80::5054:ff:fe12:3552/64 scope link 
>        valid_lft forever preferred_lft forever
> 5: eth1.12 at eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
>     link/ether 52:54:00:12:35:52 brd ff:ff:ff:ff:ff:ff
>     inet 192.168.1.2/24 brd 192.168.1.255 scope global eth1.12
>     inet6 fe80::5054:ff:fe12:3552/64 scope link 
>        valid_lft forever preferred_lft forever
> Route-Server:~#
> 
> Any additional information required let me know.
> 
> Cheers,
> Francisco
> 
> -----Original Message-----
> From: Pavlin Radoslavov [mailto:pavlin at ICSI.Berkeley.EDU] 
> Sent: 22 August 2008 18:54
> To: Francisco Rodriguez
> Cc: 'Pavlin Radoslavov'; xorp-hackers at icir.org; atanu at xorp.org
> Subject: Re: [Xorp-hackers] OSPF bug(s) in XORP-1.5 
> 
> Francisco Rodriguez <f.rodriguez at lancaster.ac.uk> wrote:
> 
> > Pavlin,
> > 
> > I'm running my experiments using virtual machines using KVM(QEMU) software
> > which run Debian x86_64 GNU/Linux with kernel 2.6.22-3-amd64.
> > 
> > Your statement about which is the behavior that I had observed of XORP is
> > right. I can't recall any other important detail about my experiments that
> I
> > haven't metioned before. Except, for running my experiments what I did was
> > to configured the interfaces in system's shell and then boot XORP RTRMGR.
> > I've to mention that I didn't configured any FEA parameter at all.
> 
> Francisco,
> 
> My only explanation for what you are seeing is that this might be
> a kernel-specific problem. More specifically, if the kernel is not
> sending the right netlink upcall messages to the FEA, the IP address
> information might be lost when taking a VLAN down and up.
> Unfortunately, I don't have a Linux system with 2.6.22 kernel to
> verify that.
> Hence, could you do the following and send me the output.
> In this experiment you won't need XORP.
> 
> 1. Start with a configured VLAN interface that is UP and use
> "ip addr" to capture the output.
> 2. Run "ip monitor all" in the same terminal as in (1)
> 3. Open another terminal and become a root.
> 4. Use the "ifconfig" command in the second terminal to take the
>    VLAN interface down and then up:
>    ifconfig vlan1 down
>    ifconfig vlan1 up
> 5. Stop "ip monitor" in the first terminal, and use again
>   "ip addr" to show the interface information.
> 
> Please send me the output from the first terminal:
> the "ip addr" output at the beginning and the end of the experiment,
> and the "ip monitor all" captured output.
> 
> For reference purpose, below is what I get on Ubuntu-8.10 with
> kernel 2.6.24-19-server.
> 
> Thanks,
> Pavlin
> 
> pavlin at vm-ubuntu[5] 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
> 5: 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 tentative 
>        valid_lft forever preferred_lft forever
> pavlin at vm-ubuntu[6] ip monitor all
> 5: vlan1 at eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue 
>     link/ether 00:0c:29:c4:42:3f brd ff:ff:ff:ff:ff:ff
> Deleted fe80::/64 dev vlan1  metric 256  mtu 1500 advmss 1440 hoplimit
> 4294967295
> Deleted ff00::/8 dev vlan1  table local  metric 256  mtu 1500 advmss 1440
> hoplimit 4294967295
> Deleted 5: vlan1    inet6 fe80::20c:29ff:fec4:423f/64 scope link tentative 
>        valid_lft forever preferred_lft forever
> 5: 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
> broadcast 10.10.20.255 dev vlan1  table local  proto kernel  scope link  src
> 10.10.20.20 
> 10.10.20.0/24 dev vlan1  proto kernel  scope link  src 10.10.20.20 
> broadcast 10.10.20.0 dev vlan1  table local  proto kernel  scope link  src
> 10.10.20.20 
> ff00::/8 dev vlan1  table local  metric 256  mtu 1500 advmss 1440 hoplimit
> 4294967295
> fe80::/64 dev vlan1  metric 256  mtu 1500 advmss 1440 hoplimit 4294967295
> 5: vlan1 at eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 
>     link/ether 00:0c:29:c4:42:3f
> 
> pavlin at vm-ubuntu[7] 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
> 5: 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 tentative 
>        valid_lft forever preferred_lft forever
> pavlin at vm-ubuntu[8] 
> 
>    
> 
> _______________________________________________
> Xorp-hackers mailing list
> Xorp-hackers at icir.org
> http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers



More information about the Xorp-hackers mailing list