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.
next prev 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