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: Tue, 20 Apr 2010 07:34:33 -0700 [thread overview]
Message-ID: <20100420143433.GF11712@x200.localdomain> (raw)
In-Reply-To: <201004201548.26609.arnd@arndb.de>
* Arnd Bergmann (arnd@arndb.de) wrote:
> On Monday 19 April 2010, Scott Feldman wrote:
>
> > IOV netlink (IOVNL) adds I/O Virtualization control support to a master
> > device (MD) netdev interface. The MD (e.g. SR-IOV PF) will set/get
> > control settings on behalf of a slave netdevice (e.g. SR-IOV VF). The
> > design allows for the case where master and slave are the
> > same netdev interface.
>
> What is the reason for controlling the slave device through the master,
> rather than talking to the slave directly? The kernel always knows
> the master for each slave, so it seems to me that this information
> is redundant.
Not all devices have this relationship explicit (i.e. not all are pure
sr-iov devices). If there's always a way to discover the master from
the device, then I agree we only need the slave.
> Is this new interface only for the case that you have a switch integrated
> in the NIC, or also for the case where you do an LLDP and EDP exchange
> with an adjacent bridge and put the device into VEPA mode?
It should be useful for both. That's part of the reason for using
netlink, a userspace daemon running the VDP state machine (like lldpad)
can listen for these messages and see a set_port_profile request when
the user starts up a VM.
> > One control setting example is MAC/VLAN settings for a VF. Another
> > example control setting is a port-profile for a VF. A port-profile is an
> > identifier that defines policy-based settings on the network port
> > backing the VF. The network port settings examples are VLAN membership,
> > QoS settings, and L2 security settings, typical of a data center network.
> >
> > This patch adds the iovnl interface definitions and an iovnl module.
>
> How does this relate to the existing DCB netlink interface? My feeling
> is that there is some overlap in how it would get used, and some parts
> that are very distinct. In particular, I'd guess that you'd want to
> be able to set DCB parameters for each VF, but not all DCB adapters
> would support SR-IOV.
>
> Did you consider making this code an extension to the DCB interface
> instead of a separate one? What was the reason for your decision
> to keep it separate?
Well, aside from the fact that DCB and VDP have some low level
similarities in the PDU and they are both communication between
the host and the switch, they are doing different things.
> 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 would listen, I don't see why iproute2 couldn't send, and libvirt
will send as well.
> > + * @IOV_ATTR_IFNAME: interface name of master (PF) net device (NLA_NUL_STRING)
> > + * @IOV_ATTR_VF_IFNAME: interface name of target VF device (NLA_NUL_STRING)
>
> As mentioned above, why not drop one of these, and just pass the VF's IFNAME?
>
> > + * @IOV_ATTR_PORT_PROFILE: port-profile name to assign to device
> > + * (NLA_NUL_STRING)
>
> How does the definition of the port profile get into the NIC's switch?
> Is there any way to list the available port profiles?
The port profile is a concept external to the NIC's switch. It's a value
that exists in the external physical layer 2 switching infrastructure.
So an admin knows this value and is informing the adjacent switch that a
new virutal interface is coming up and needs some particular port profile.
> > + * @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?
>
> > + * @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?
>
> > + * @IOV_ATTR_VLAN: device 8021q VLAN ID (NLA_U16)
>
> Same here: Should you be able to set multiple MAC addresses, or
> trunk mode? Can the VF override it?
> Also, for the new multi-channel VEPA, I'd guess that you also need
> to supply an 802.1ad S-VLAN ID.
Something like set_port_profile() would initiate the negotiation for the
s-vlan id for a particular channel, not sure it's needed as part of the
netlink interface or not.
thanks,
-chris
next prev parent reply other threads:[~2010-04-20 14:34 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 [this message]
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
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=20100420143433.GF11712@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