Netdev List
 help / color / mirror / Atom feed
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.

  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