Netdev List
 help / color / mirror / Atom feed
From: Chris Wright <chrisw@redhat.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Scott Feldman <scofeldm@cisco.com>,
	davem@davemloft.net, netdev@vger.kernel.org, chrisw@redhat.com
Subject: Re: [net-next,1/2] add iovnl netlink support
Date: Wed, 21 Apr 2010 09:18:42 -0700	[thread overview]
Message-ID: <20100421161842.GB25928@x200.localdomain> (raw)
In-Reply-To: <201004211326.00974.arnd@arndb.de>

* Arnd Bergmann (arnd@arndb.de) wrote:
> On Tuesday 20 April 2010, Scott Feldman wrote:
> > On 4/20/10 6:48 AM, "Arnd Bergmann" <arnd@arndb.de> wrote:
> > > Also, do you expect your interface to be supported by dcbd/lldpad,
> > > or is there a good reason to create a new tool for iovnl?
> > 
> > Lldpad supporting this interface would seem right, for those cases where
> > lldpad is responsible for configuring the netdev.
> 
> I believe we meant different things here, because I misunderstood the
> intention of the code. My question was whether lldpad would send the
> netlink messages to iovnl, but from what you and Chris write, the
> real idea was that both lldpad and kernel/iovnl can receive the
> same messages, right?

Correct.  An example set of steps for initiating host to switch
negotiation and subsequently launching a VM would be (expect user below
to be a mgmt tool like libvirt):

1) user sends netlink message w/ relevant host interface and port profile id
2) recipient picks this up (enic, lldpad, whatever)
3) recipient does negotiation w/ adjacent switch
4) user creates macvtap associated w/ relevant host interface
5) user launches guest

> > >> + * @IOV_ATTR_CLIENT_NAME: client name (NLA_NUL_STRING)
> > >> + * @IOV_ATTR_HOST_UUID: host UUID (NLA_NUL_STRING)
> > > 
> > > Can you elaborate more on what these do? Who is the 'client' and the 'host'
> > > in this case, and why do you need to identify them?
> > 
> > Those are optional and useful, for example, by the network mgmt tool for
> > presenting a view such as:
> > 
> >     - blade 1/2                     // know by host uuid
> >         - vm-rhel5-eth0             // client name
> >             - port-profile: xyz
> > 
> > Something like that.
> 
> Hmm, but how do they get from the device driver to the the network
> management tool then? Also, these are similar to the attributes
> that are passed in the 802.1Qbg VDP protocol, but not compatible.
> If the idea is use the same netlink protocol for both your internal
> representation and for the standard based protocol, I think we should
> make them compatible.

Indeed, that's my expectation.

> Instead of a string identifying the port profile, this needs to pass
> a four byte field for a VSI type (3 bytes) and VSI manager ID (1 byte).

I think we just need a u8 array, 4 bytes for VDP, some maxlen that is
at least as large as enic expects.

> There is also a UUID in VDP, but it identifies the guest, not the host,
> so this is really confusing.

Yes, I had same confusion.  I expected guest, enic wants to send host as
well.

> VDP also needs a list of MAC addresses and VLAN IDs (normally only
> one of each), but that would be separate from what you tell the adapter,
> see below: 
> 
> > >> + * @IOV_ATTR_MAC_ADDR: device station MAC address (NLA_U8[6])
> > > 
> > > Just one mac address? What happens if we want to assign multiple mac
> > > addresses to the VF later? Also, how is this defined specifically?
> > > Will a SIOCSIFHWADDR with a different MAC address on the VF fail
> > > later, or is this just the default value?
> > 
> > Depends on how the VF wants to handle this.  For our use-case with enic we
> > only need the port-profile op so I'm not sure what the best design is for
> > mac+vlan on a VF.  Looking for advise from folks like yourself.  If it's not
> > needed, let's scratch it.
> 
> In order to make VEPA work, it's absolutely required to impose a hard limit
> on what MAC+VLAN IDs are visible to the VF, because the switch identifies
> the guest by those and forwards any frames to/from that address according
> to the VSI type.
> 
> However, I feel that we should strictly separate the steps of configuring
> the adapter from talking to the switch. When we do the VDP association
> in user land, we still need to set up the VLAN and MAC configuration for
> the VF through a kernel interface. If we ignore the port profile stuff
> for a moment, your netlink interface looks like a good fit for that.
> 
> 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).  I don't expect mgmt app to care about the implementation
specifics of an adapter, so it will always send this and iovnl message
too.  All as part of same setup.

thanks,
-chris

  parent reply	other threads:[~2010-04-21 16: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         ` Chris Wright [this message]
2010-04-21 17:52           ` [net-next,1/2] add iovnl netlink support 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
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=20100421161842.GB25928@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