[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

kernel announcing ip address on wrong interface



Using the 3.2 kernel, I have the strange situation that an ip address
moves to an unconfigured interface.

network/interfaces looks like this:

auto eth0 

iface eth0 inet manual

  up ifconfig eth0 promisc up

auto eth1

iface eth1 inet manual

  up ifconfig eth1 promisc up

auto eth2

iface eth2 inet manual

  up ifconfig eth2 promisc up

auto bond0

iface bond0 inet manual

  up ifenslave bond0 eth1 eth2

 

auto backbone

iface backbone inet static

  address 192.168.0.1

  netmask 255.255.255.0

  bridge_ports bond0


eth0 has a mac address of x.x.x.x.x.01, eth1/2 y.y.y.y.y.02

Now I randomly observe on the firewall (freebsd based) the message
"kernel:arp: 192.168.0.1 moved from y.y.y.y.y.02 to x.x.x.x.x.01"(or
other way round), which means that the traffic to 192.168.0.1 (and
subsequent VM traffic on that XEN host) is travelling down the wrong
interface.

Actually, eth0 and eth1/2 are connected to the same network, but vlan
and mtu restrictions are different so some networking trouble will
happen intermittently. This happens with no ip address on eth0
configured; to stop the misbehaviour I'd have to down the interface.
This happens on several machines with different drivers.

Apparently the problem isn't originating from the bonding driver; I have
the same situation if using openvswitch 1.45, adding eth1/2 directly to
the openvswitch bridge as lacp pair.

>From my understanding, the kernel isn't expected to ever ARP announce
the 192.168.0.1 address on eth0. Can anybody shed some light on what's
happening here?

Regards
Andreas


Reply to: