[lug] Arp bug in 2.4.20-30 kernels?

Scott Herod herod at dimensional.com
Mon Feb 14 19:38:59 MST 2005


Hello all,

I've got two machines running kernel 2.4.20-30.8.legacy.  These share an
IP address, taking turns as to which is currently using it.  (The system 
uses the Linux-HA project code to do this.)

Using ifconfig I can watch which machine currently owns the address.  When 
ownership changes, they send out arps so that the router correctly directs 
traffic.  (Both machines have their own personal IP address.  The shared 
one is on an eth0:0 alias.)

Today however, the router is starting to flip which MAC address is 
associated with the IP address without the machines changing their 
network.  I would call this a router bug except that when I sniff the 
network I see the machine that does not report using ifconfig that it owns 
the address responding to an "arp who-has" from the router:

16:15:50.538827 0:e0:52:cb:ac:0 Broadcast arp 60: arp who-has  
172.20.142.20 tell 172.20.142.1
16:15:50.538840 0:2:b3:ee:a0:15 0:e0:52:cb:ac:0 arp 42: arp reply  
172.20.142.20 is-at 0:2:b3:ee:a0:15

Furthermore, when the router directs to that machine it accepts 
connections despite the fact that it does not report it owns the IP 
address when I ask with ifconfig.

A couple of questions:

Has anyone ever heard of a bug reported against the 2.4 kernels in which
they respond positively to an arp but don't show the IP address
configured?

If the router forwards to an interface via its MAC address, will the 
kernel refuse to accept the packets if the MAC address is right but it 
doesn't believe that it owns the associated IP address?

Thanks for your help.

Scott




More information about the LUG mailing list