Skip to contentSkip to conversation

ARP handling in case of having multiple interfaces on same segment

DISCUSSION NIIBE Yutaka 2 participants 2 messages Apr 19, 2001

lore
Share & tools
lore
#0 lore raw

Sometime, we have setting like following (say, in the migration process of changing IP networks, or perhaps wrong way of load balancing):

	+----------+
	|eth0 eth1 |
	+----------+
	   |   |
    -------+---+------------

Current implementation of Linux doesn't handle this case. The problem is ARP handling. When ARP broadcast packet comes to the host, both interfaces receive the packet, and regardless of the device, we reply to that packet. I think that we should not reply if the packet is not related to that interface. If the ARP request is for eth1's address, we should not send reply from eth0.

IIRC, I had fixed this issue six years ago, but now see same thing. Kind a dejagnu...

How do you think? For me, this is bug.

#1 lore raw
Quoted 11 lines · NIIBE Yutaka

Sometime, we have setting like following (say, in the migration process of changing IP networks, or perhaps wrong way of load balancing):

        +----------+
        |eth0 eth1 |
        +----------+
           |   |
    -------+---+------------
Quoted 6 lines

Current implementation of Linux doesn't handle this case. The problem is ARP handling. When ARP broadcast packet comes to the host, both interfaces receive the packet, and regardless of the device, we reply to that packet. I think that we should not reply if the packet is not related to that interface. If the ARP request is for eth1's address, we should not send reply from eth0.

Under later 2.2 kernels there is something called arp_filter that can be enabled to give the exact behaviour you want. Apparently it is not yet in 2.4, but I think that it should definately be added.

See the "ARP responses broken!" thread for more on this.

Chris

Signature · 4 lines
Chris Friesen                    | MailStop: 043/33/F10  
Nortel Networks                  | work: (613) 765-0557
3500 Carling Avenue              | fax:  (613) 765-2986
Nepean, ON K2H 8E9 Canada        | email: [email protected]