From: "Samudrala, Sridhar" <sridhar.samudrala@intel.com>
To: Jiri Pirko <jiri@resnulli.us>
Cc: mst@redhat.com, stephen@networkplumber.org, davem@davemloft.net,
netdev@vger.kernel.org,
virtualization@lists.linux-foundation.org,
virtio-dev@lists.oasis-open.org, jesse.brandeburg@intel.com,
alexander.h.duyck@intel.com, kubakici@wp.pl, jasowang@redhat.com,
loseweigh@gmail.com, aaron.f.brown@intel.com
Subject: Re: [PATCH net-next v9 3/4] virtio_net: Extend virtio to use VF datapath when available
Date: Sun, 29 Apr 2018 20:00:33 -0700 [thread overview]
Message-ID: <62f3b81b-70f6-6991-8e23-2bf650ecea2d@intel.com> (raw)
In-Reply-To: <20180428082433.GK5632@nanopsycho.orion>
On 4/28/2018 1:24 AM, Jiri Pirko wrote:
> Fri, Apr 27, 2018 at 07:06:59PM CEST, sridhar.samudrala@intel.com wrote:
>> This patch enables virtio_net to switch over to a VF datapath when a VF
>> netdev is present with the same MAC address. It allows live migration
>> of a VM with a direct attached VF without the need to setup a bond/team
>> between a VF and virtio net device in the guest.
>>
>> The hypervisor needs to enable only one datapath at any time so that
>> packets don't get looped back to the VM over the other datapath. When a VF
> Why? Both datapaths could be enabled at a time. Why the loop on
> hypervisor side would be a problem. This in not an issue for
> bonding/team as well.
Somehow the hypervisor needs to make sure that the broadcasts/multicasts from the VM
sent over the VF datapath don't get looped back to the VM via the virtio-net datapth.
This can happen if both datapaths are enabled at the same time.
I would think this is an issue even with bonding/team as well when virtio-net and
VF are backed by the same PF.
>
>
>> is plugged, the virtio datapath link state can be marked as down. The
>> hypervisor needs to unplug the VF device from the guest on the source host
>> and reset the MAC filter of the VF to initiate failover of datapath to
> "reset the MAC filter of the VF" - you mean "set the VF mac"?
Yes. the PF should take away the MAC address assigned to the VF so that the PF
starts receiving those packets.
>
>
>> virtio before starting the migration. After the migration is completed,
>> the destination hypervisor sets the MAC filter on the VF and plugs it back
>> to the guest to switch over to VF datapath.
>>
>> It uses the generic failover framework that provides 2 functions to create
>> and destroy a master failover netdev. When STANDBY feature is enabled, an
>> additional netdev(failover netdev) is created that acts as a master device
>> and tracks the state of the 2 lower netdevs. The original virtio_net netdev
>> is marked as 'standby' netdev and a passthru device with the same MAC is
>> registered as 'primary' netdev.
>>
>> This patch is based on the discussion initiated by Jesse on this thread.
>> https://marc.info/?l=linux-virtualization&m=151189725224231&w=2
> [...]
>
next prev parent reply other threads:[~2018-04-30 3:00 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-27 17:06 [PATCH net-next v9 0/4] Enable virtio_net to act as a standby for a passthru device Sridhar Samudrala
2018-04-27 17:06 ` [PATCH net-next v9 1/4] virtio_net: Introduce VIRTIO_NET_F_STANDBY feature bit Sridhar Samudrala
2018-04-28 7:50 ` Jiri Pirko
2018-04-30 2:47 ` Samudrala, Sridhar
2018-04-30 7:03 ` Jiri Pirko
2018-04-30 19:14 ` Samudrala, Sridhar
2018-04-27 17:06 ` [PATCH net-next v9 2/4] net: Introduce generic failover module Sridhar Samudrala
2018-04-27 17:53 ` Jiri Pirko
2018-04-28 8:15 ` Jiri Pirko
2018-04-30 2:47 ` Samudrala, Sridhar
2018-04-28 9:06 ` Jiri Pirko
2018-04-30 3:03 ` Samudrala, Sridhar
2018-05-02 16:15 ` Jiri Pirko
2018-05-02 17:51 ` Samudrala, Sridhar
2018-05-02 20:30 ` Michael S. Tsirkin
2018-05-02 21:36 ` Samudrala, Sridhar
2018-05-02 21:39 ` Jiri Pirko
2018-05-02 21:39 ` Jiri Pirko
2018-04-27 17:06 ` [PATCH net-next v9 3/4] virtio_net: Extend virtio to use VF datapath when available Sridhar Samudrala
2018-04-28 8:24 ` Jiri Pirko
2018-04-30 3:00 ` Samudrala, Sridhar [this message]
2018-04-30 7:12 ` Jiri Pirko
2018-04-30 19:26 ` Samudrala, Sridhar
2018-05-01 7:33 ` Jiri Pirko
2018-04-28 9:42 ` Jiri Pirko
2018-04-29 8:56 ` Siwei Liu
2018-04-29 13:45 ` Jiri Pirko
2018-04-30 4:16 ` Samudrala, Sridhar
2018-04-30 7:20 ` Jiri Pirko
2018-05-02 0:20 ` Samudrala, Sridhar
2018-05-02 7:50 ` Jiri Pirko
2018-05-02 15:34 ` Samudrala, Sridhar
2018-05-02 16:05 ` Jiri Pirko
2018-05-02 15:47 ` Michael S. Tsirkin
2018-05-02 16:04 ` Jiri Pirko
2018-04-27 17:07 ` [PATCH net-next v9 4/4] netvsc: refactor notifier/event handling code to use the failover framework Sridhar Samudrala
2018-04-27 17:45 ` [PATCH net-next v9 0/4] Enable virtio_net to act as a standby for a passthru device Jiri Pirko
2018-04-27 17:53 ` Samudrala, Sridhar
2018-04-27 19:38 ` Jiri Pirko
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=62f3b81b-70f6-6991-8e23-2bf650ecea2d@intel.com \
--to=sridhar.samudrala@intel.com \
--cc=aaron.f.brown@intel.com \
--cc=alexander.h.duyck@intel.com \
--cc=davem@davemloft.net \
--cc=jasowang@redhat.com \
--cc=jesse.brandeburg@intel.com \
--cc=jiri@resnulli.us \
--cc=kubakici@wp.pl \
--cc=loseweigh@gmail.com \
--cc=mst@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=stephen@networkplumber.org \
--cc=virtio-dev@lists.oasis-open.org \
--cc=virtualization@lists.linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
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;
as well as URLs for NNTP newsgroup(s).