]> git.baikalelectronics.ru Git - kernel.git/commit
bonding: refactor ARP active-backup monitor
authorJay Vosburgh <fubar@us.ibm.com>
Sun, 18 May 2008 04:10:13 +0000 (21:10 -0700)
committerJeff Garzik <jgarzik@redhat.com>
Thu, 22 May 2008 10:34:28 +0000 (06:34 -0400)
commit708c530629b11952b4c172377c99ead858cc36bc
tree73d2322a9e5edd2ef7f2e97f523162b57f3e8ebb
parent42fd9f449647a0bf6dde3a96b9add8ce266d47be
bonding: refactor ARP active-backup monitor

Refactor ARP monitor for active-backup mode.  The motivation for
this is to take care of locking issues in a clear manner (particularly to
correctly handle RTNL vs. the bonding locks).  Currently, the a-b ARP
monitor does not hold RTNL at all, but future changes will require RTNL
during ARP monitor failovers.

Rather than using conditional locking, this patch instead breaks
up the ARP monitor into three discrete steps: inspection, commit changes,
and probe.  The inspection phase marks slaves that require link state
changes.  The commit phase is only called if inspection detects that
changes are needed, and is called with RTNL.  Lastly, the probe phase
issues the ARP probes that the inspection phase uses to determine link
state.

Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/net/bonding/bond_main.c
drivers/net/bonding/bonding.h