On Mon, 12 Mar 2007, Stephen Hemminger wrote:

When bonding does fail over it calls set_mac_address. When this happens as the result of another port going down, the phy_mutex that is common to both ports is held, so it deadlocks. Setting the address doesn't need to do anything that needs the phy_mutex, it already has the RTNL to protect against other admin actions.

This change just disables the receiver to avoid any hardware confusion while address is changing.

Applied, but no change. For reference, all of the following test cases fail with skge:

* modprobe bonding miimon=100 mode=active-backup
  modprobe skge
  ip ad ad 10.0.0.2/24 brd + dev bond0
  ip ro ad 0.0.0.0/0 dev bond0 via 10.0.0.1

The link works fine at this point.

  ip link set bond0 mtu 9000

Causes the link to stop responding completely. Setting mtu back to 1500 does not change behavior.

* modprobe bonding miimon=100 mode=active-backup
  modprobe skge
  ifconfig bond0 up
  ifenslave bond0 eth2 eth3
  ifenslave -d bond0 eth2 eth3

That hangs the machine. No output on serial console. I have to power cycle to restore access.

* modprobe skge
  ifconfig eth2 up
  ifconfig eth3 up
  ifconfig eth3 down
  ifconfig eth2 down

As above, this hangs the machine, and is without the bonding driver loaded.



-Chris
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to