public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
From: Nikolay Aleksandrov <nikolay@cumulusnetworks•com>
To: David Miller <davem@davemloft•net>
Cc: jay.vosburgh@canonical•com, bjornar.ness@gmail•com,
	netdev@vger•kernel.org, vfalico@gmail•com,
	gospo@cumulusnetworks•com, jiri@resnulli•us, mst@redhat•com,
	virtualization@lists•linux-foundation.org
Subject: Re: bonding (IEEE 802.3ad) not working with qemu/virtio
Date: Sat, 30 Jan 2016 12:41:16 +0100	[thread overview]
Message-ID: <56ACA15C.1080403@cumulusnetworks.com> (raw)
In-Reply-To: <20160129.225924.1343743091073159760.davem@davemloft.net>

On 01/30/2016 07:59 AM, David Miller wrote:
> From: Nikolay Aleksandrov <nikolay@cumulusnetworks•com>
> Date: Fri, 29 Jan 2016 22:48:26 +0100
> 
>> On 01/29/2016 10:45 PM, Jay Vosburgh wrote:
>>> Nikolay Aleksandrov <nikolay@cumulusnetworks•com> wrote:
>>>
>>>> On 01/25/2016 05:24 PM, Bjørnar Ness wrote:
>>>>> 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.
> 
Yes, that's the other thing - the default setting, from a brief grepping
I see that veth uses 10Gbps, tun uses 10Mbps and batman-adv uses 10Mbps.

If we add a default get_settings that can be used by virtual devices
in ethtool that returns 10Gbps with the settings set like veth does
sounds good to me. What do you think ?

In fact they all set the same settings (apart from speed) so we can
consolidate them in a single default setting init function and for the
ones using different speed do something like:
__ethtool_init_settings(); <- sets everything like veth would with 10Mbps speed
__ethtool_cmd_speed_set(cmd, SPEED_10000);
And we're done.

  parent reply	other threads:[~2016-01-30 11:41 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-25 16:24 bonding (IEEE 802.3ad) not working with qemu/virtio Bjørnar Ness
2016-01-28 13:33 ` Jiri Pirko
2016-01-28 13:53   ` Nikolay Aleksandrov
2016-01-28 14:10     ` Nikolay Aleksandrov
2016-01-29 21:31 ` Nikolay Aleksandrov
2016-01-29 21:45   ` Jay Vosburgh
2016-01-29 21:48     ` Nikolay Aleksandrov
2016-01-30  6:59       ` David Miller
2016-01-30 11:34         ` Jiri Pirko
2016-01-30 11:41         ` Nikolay Aleksandrov [this message]
2016-01-31 14:50           ` Michael S. Tsirkin
2016-02-01 18:49         ` Rick Jones
2016-01-31 14:58       ` Michael S. Tsirkin
2016-01-31 14:35     ` Michael S. Tsirkin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56ACA15C.1080403@cumulusnetworks.com \
    --to=nikolay@cumulusnetworks$(echo .)com \
    --cc=bjornar.ness@gmail$(echo .)com \
    --cc=davem@davemloft$(echo .)net \
    --cc=gospo@cumulusnetworks$(echo .)com \
    --cc=jay.vosburgh@canonical$(echo .)com \
    --cc=jiri@resnulli$(echo .)us \
    --cc=mst@redhat$(echo .)com \
    --cc=netdev@vger$(echo .)kernel.org \
    --cc=vfalico@gmail$(echo .)com \
    --cc=virtualization@lists$(echo .)linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox