From: Chris Wright <chrisw@redhat.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Chris Wright <chrisw@redhat.com>,
Scott Feldman <scofeldm@cisco.com>,
davem@davemloft.net, netdev@vger.kernel.org
Subject: Re: [net-next,1/2] add iovnl netlink support
Date: Wed, 21 Apr 2010 15:18:06 -0700 [thread overview]
Message-ID: <20100421221806.GD28829@x200.localdomain> (raw)
In-Reply-To: <201004212139.22421.arnd@arndb.de>
* Arnd Bergmann (arnd@arndb.de) wrote:
> On Wednesday 21 April 2010, Chris Wright wrote:
> > * Arnd Bergmann (arnd@arndb.de) wrote:
> > > On Wednesday 21 April 2010, Chris Wright wrote:
> > > > * Arnd Bergmann (arnd@arndb.de) wrote:
> > > > > Since it seems what you really want to do is to do the exchange with the
> > > > > switch from here, maybe the hardware configuration part should be moved
> > > > > the DCB interface?
> > > >
> > > > I suppose this would work (although it's a bit odd being out of scope
> > > > of DCB spec).
> > >
> > > It could be anywhere, it doesn't have to be the DCB interface, but could
> > > be anything ranging from ethtool to iplink I guess. And we should define
> > > it in a way that works for any SR-IOV card, whether it's using Cisco's
> > > protocol in firmware, 802.1Qbg VDP in firmware, lldpad to do VDP or
> > > none of the above and just provides an internal switch like all the
> > > existing NICs.
> >
> > Heh, that's exactly what iovnl does ;-)
>
> No, according to what you write below, it's exactly what iovnl does *not* do,
> i.e. part 1 in my list.
OK, I see...in this case to me hw setup was the port profile for the
enic to initiate host<->switch negotiation, sorry for confusion.
> > > 1. Setting up the slave device
> > > a) create an SR-IOV VF to assign to a guest
> > > b) create a macvtap device to pass to qemu or vhost
> > > c) attach a tap device to a bridge
> > > d) create a macvlan device and put it into a container
> > > e) create a virtual interface for a VMDq adapter
> >
> > OK, but iovnl isn't doing this.
>
> The set_mac_vlan that Scott's patch adds seems to implement 1a), as far
> as I can tell. Interestingly, this is not actually implemented in
> the enic driver in patch 2/2. So if we all agree that this is out of the
> scope of iovnl, let's just remove it from the interface and find another
> way for it (ethtool, iplink, ..., as listed above).
Scott, any objection? At least a way to keep moving forward on the port
profile bit.
> Note that we still need to pass the MAC address and VLAN ID (or a list
> of these) to the external switch, my point is just that this should be
> separate from enforcing it in the hypervisor.
Yup, we should focus on reconciling the diff of enic vs vpd port profile
needs.
> > > 2) Registering the slave with the switch
> > > a) use Cisco protocol in enic firmware (see patch 2/2)
> > > b) use standard VDP in lldpad
> > > c) use reverse-engineered cisco protocol in some user tool for
> > > non-enic adapters.
> > > d) use standard VDP in firmware (hopefully this never happens)
> > > e) do nothing at all (as we do today)
> >
> > And this is the step that is the main purpose of iovnl.
> >
> > Here's the simplest snippet of libvirt to show this. It sends
> > set_port_profile netlink messages and then creates macvtap. As simple
> > as it gets...
> >
> > --- a/src/qemu/qemu_conf.c
> > +++ b/src/qemu/qemu_conf.c
> > @@ -1470,6 +1470,11 @@ qemudPhysIfaceConnect(virConnectPtr conn,
> > net->model && STREQ(net->model, "virtio"))
> > vnet_hdr = 1;
> >
> > + setPortProfileId(net->data.direct.linkdev,
> > + net->data.direct.mode,
> > + net->data.direct.profileid,
> > + net->mac);
> > +
> > rc = openMacvtapTap(net->ifname, net->mac, linkdev, brmode,
> > &res_ifname, vnet_hdr);
>
> Ok. In case of VDP, I guess this needs to be extended with the vlan ID
> that has been configured, and possibly with a UUID, because we need to
> pass the same one on the target machine if we migrate it.
>
> Alternatively, the setPortProfileId could figure out the MAC address and
> VLAN ID from the device itself, but then we don't need to pass either of
> them.
next prev parent reply other threads:[~2010-04-21 22:18 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-19 19:18 [net-next PATCH 0/2] iovnl netlink ops + enic dynamic vnics Scott Feldman
2010-04-19 19:18 ` [net-next PATCH 1/2] add iovnl netlink support Scott Feldman
2010-04-20 13:48 ` [net-next,1/2] " Arnd Bergmann
2010-04-20 14:34 ` Chris Wright
2010-04-20 14:57 ` Arnd Bergmann
2010-04-20 15:22 ` Chris Wright
2010-04-20 16:19 ` Arnd Bergmann
2010-04-20 20:26 ` Scott Feldman
2010-04-21 13:17 ` Arnd Bergmann
2010-04-21 16:28 ` Scott Feldman
2010-04-21 18:04 ` Arnd Bergmann
2010-04-20 19:56 ` Scott Feldman
2010-04-21 11:26 ` Arnd Bergmann
2010-04-21 11:42 ` Selective MD5 Checksum Failuers Bijay Singh
2010-04-21 16:18 ` [net-next,1/2] add iovnl netlink support Chris Wright
2010-04-21 17:52 ` Arnd Bergmann
2010-04-21 18:10 ` Chris Wright
2010-04-21 19:39 ` Arnd Bergmann
2010-04-21 20:25 ` Scott Feldman
2010-04-21 21:13 ` Arnd Bergmann
2010-04-21 22:48 ` Chris Wright
2010-04-22 6:51 ` Arnd Bergmann
2010-04-22 17:47 ` Chris Wright
2010-04-22 18:48 ` Arnd Bergmann
2010-04-22 19:02 ` Chris Wright
2010-04-22 19:36 ` Arnd Bergmann
2010-04-22 21:03 ` Chris Wright
2010-04-21 23:54 ` Scott Feldman
2010-04-22 12:49 ` Arnd Bergmann
2010-04-22 7:09 ` David Miller
2010-04-21 22:18 ` Chris Wright [this message]
2010-04-22 0:01 ` Scott Feldman
2010-04-21 21:22 ` Arnd Bergmann
2010-04-22 6:48 ` [net-next PATCH 1/2] " David Miller
2010-04-22 21:23 ` Scott Feldman
2010-04-22 23:04 ` David Miller
2010-04-22 23:16 ` eSwitch management Anirban Chakraborty
2010-04-23 0:47 ` Scott Feldman
2010-04-23 1:29 ` Scott Feldman
2010-04-23 5:57 ` Anirban Chakraborty
2010-04-23 12:42 ` Arnd Bergmann
2010-04-23 16:23 ` Chris Wright
2010-04-23 19:00 ` Anirban Chakraborty
2010-04-23 19:44 ` Chris Wright
2010-04-23 21:08 ` Anirban Chakraborty
2010-04-23 23:04 ` Chris Wright
2010-04-24 6:21 ` Anirban Chakraborty
2010-04-22 6:52 ` [net-next PATCH 1/2] add iovnl netlink support David Miller
2010-04-22 10:53 ` Arnd Bergmann
2010-04-22 10:56 ` David Miller
2010-04-22 11:12 ` Arnd Bergmann
2010-04-19 19:18 ` [net-next PATCH 2/2] add enic iovnl ops for dynamic vnics Scott Feldman
2010-04-19 21:35 ` [net-next PATCH 0/2] iovnl netlink ops + enic " Chris Wright
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=20100421221806.GD28829@x200.localdomain \
--to=chrisw@redhat.com \
--cc=arnd@arndb.de \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
--cc=scofeldm@cisco.com \
/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