Thread (10 messages) flat view 10 messages, 4 authors, 2012-08-10

Re: [E1000-devel] discussion questions: SR-IOV, virtualization, and bonding

From: Jay Vosburgh <hidden>
Date: 2012-08-02 23:01:41

Chris Friesen [off-list ref] wrote:
On 08/02/2012 04:26 PM, Chris Friesen wrote:
quoted
On 08/02/2012 02:30 PM, Jay Vosburgh wrote:
quoted
quoted
The best long term solution is to have a user space API that
provides link state input to bonding on a per-slave basis, and then some
user space entity can perform whatever link monitoring method is
appropriate (e.g., LLDP) and pass the results to bonding.
I think this has potential. This requires a virtual communication
channel between guest/host if we want the host to be able to influence
the guest's choice of active link, but I think that's not unreasonable.
	Not necessarily, if something like LLDP runs across the virtual
link between the guest and slave, then the guest will notice when the
link goes down (although perhaps not very quickly).  I'm pretty sure the
infrastructure to make LLDP work on inactive slaves is already there; as
I recall, the "no wildcard" or "deliver exact" business in the receive
path is at least partially for LLDP.

	Still, though, isn't "influence the guest's choice" pretty much
satisified by having the VF interface go carrier down in the guest when
the host wants it to?  Or are you thinking about more fine grained than
that?
quoted
Actually, couldn't we do this now? Turn off miimon and arpmon, then just
have the userspace thing write to /sys/class/net/bondX/bonding/active_slave
	That might work for active-backup mode, yes, although it may not
handle the case when all slaves have failed if "failed" does not include
the slave being carrier down.  It's not quite the same thing as input to
the link monitoring logic.
Hmm...looks like the bonding code requires either miimon or arpmon.  I
wonder if setting miimon to INT_MAX might work, at least for some bonding
modes.
	Not true; it's legal to leave miimon and arp_interval set to 0.
Older versions of bonding will whine about it, but let you do it; in
mainline, it's a debug message you have to choose to turn on (because
current versions of initscripts, et al, create the bond first, and then
set those options, so it tended to whine all the time).

	-J

---
	-Jay Vosburgh, IBM Linux Technology Center, fubar@us.ibm.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help