[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100423162307.GI30693@x200.localdomain>
Date: Fri, 23 Apr 2010 09:23:07 -0700
From: Chris Wright <chrisw@...hat.com>
To: Anirban Chakraborty <anirban.chakraborty@...gic.com>
Cc: Scott Feldman <scofeldm@...co.com>,
David Miller <davem@...emloft.net>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"chrisw@...hat.com" <chrisw@...hat.com>,
Arnd Bergmann <arnd@...db.de>,
Ameen Rahman <ameen.rahman@...gic.com>,
Amit Salecha <amit.salecha@...gic.com>,
Rajesh Borundia <rajesh.borundia@...gic.com>
Subject: Re: eSwitch management
* Anirban Chakraborty (anirban.chakraborty@...gic.com) wrote:
>
> On Apr 22, 2010, at 6:29 PM, Scott Feldman wrote:
>
> > On 4/22/10 5:47 PM, "Scott Feldman" <scofeldm@...co.com> wrote:
> >
> >> On 4/22/10 4:16 PM, "Anirban Chakraborty" <anirban.chakraborty@...gic.com>
> >> wrote:
> >>
> >>> I am following the discussions on iovnl patch closely. While it is going to
> >>> take some time for iovnl patch to be reviewed and accepted, what would be the
> >>> interim approach to manage the eswitch in NIC? We need to add support in
> >>> qlcnic driver to configure the eswitch in our 10G NIC. Some of the things
> >>> that
> >>> we need to set to the switch are setting a port's VLAN, tx bandwidth etc. We
> >>> would like to set these parameters for a bunch of ports at the start of the
> >>> day and set it to the eswitch.
> >>
> >> Are any of these settings covered in DCB? (net/dcb/dcbnl.c). Maybe you can
> >> get a start there? Not sure not knowing your device requirements.
> >
> > Or maybe the RTM_SETLINK IFLA_VF_* ops in include/linux/if_link.h? Those
> > seem like what you're looking for. I'm looking at moving iovnl here as well
> > for port-profile.
>
> It looks like ifla_vf_info does contain most of the data set. But if I use it, what NETLINK protocol family should I use in my driver to receive netlink messages? Do I need to create a private protocol family?
No, you don't need to use netlink in your driver. You just need to fill
in the relevant net_device_ops in your driver init. Specifically:
* SR-IOV management functions.
* int (*ndo_set_vf_mac)(struct net_device *dev, int vf, u8* mac);
* int (*ndo_set_vf_vlan)(struct net_device *dev, int vf, u16 vlan, u8 qos);
* int (*ndo_set_vf_tx_rate)(struct net_device *dev, int vf, int rate);
* int (*ndo_get_vf_config)(struct net_device *dev,
* int vf, struct ifla_vf_info *ivf);
These are all operating on a VF indexed internally w/in the driver, so it's
a little cumbersome to use from userspace.
thanks,
-chris
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists