Thread (14 messages) flat view 14 messages, 7 authors, 2016-02-01

Re: bonding (IEEE 802.3ad) not working with qemu/virtio

From: Jiri Pirko <jiri@resnulli.us>
Date: 2016-01-30 11:34:14

Sat, Jan 30, 2016 at 07:59:24AM CET, davem@davemloft.net wrote:
From: Nikolay Aleksandrov <redacted>
Date: Fri, 29 Jan 2016 22:48:26 +0100
quoted
On 01/29/2016 10:45 PM, Jay Vosburgh wrote:
quoted
Nikolay Aleksandrov [off-list ref] wrote:
quoted
On 01/25/2016 05:24 PM, Bjørnar Ness wrote:
quoted
As subject says, 802.3ad bonding is not working with virtio network model.

The only errors I see is:

No 802.3ad response from the link partner for any adapters in the bond.

Dumping the network traffic shows that no LACP packets are sent from the
host running with virtio driver, changing to for example e1000 solves
this problem
with no configuration changes.

Is this a known problem?
[Including bonding maintainers for comments]

Hi,
Here's a workaround patch for virtio_net devices that "cheats" the
duplex test (which is the actual problem). I've tested this locally
and it works for me.
I'd let the others comment on the implementation, there're other signs
that can be used to distinguish a virtio_net device so I'm open to suggestions.
Also feedback if this is at all acceptable would be appreciated.
	Should virtio instead provide an arbitrary speed and full duplex
to ethtool, as veth does?

	Creating a magic whitelist of devices deep inside the 802.3ad
implementation seems less desirable.
TBH, I absolutely agree. In fact here's what we've been doing:
add set_settings which allows the user to set any speed/duplex
and get_settings of course to retrieve that. This is also useful
for testing other stuff that requires speed and duplex, not only
for the bonding case.
I also agree.  Having a whitelist is just rediculous.

There should be a default speed/duplex setting for such devices as well.
We can pick one that will be use universally for these kinds of devices.
Exposing made up speed for veth and virtio_net sounds odd to me. User
see 10000Mb/s but it makes no sense at all. It is just confusing.

I believe this is bonding bug and should be fixed in there. Team works
fine with virtio_net device and lacp runner.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help