dcbnl: add support for ieee8021Qaz attributes
authorJohn Fastabend <john.r.fastabend@intel.com>
Thu, 30 Dec 2010 09:25:46 +0000 (09:25 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 31 Dec 2010 18:47:45 +0000 (10:47 -0800)
commit3e29027af43728c2a91fe3f735ab2822edaf54a8
treefb453671722596b9dcb1af4171bdcfa17cd48d61
parenta7dd6027e55992dd7c409a71a4a2b576fda2f7c2
dcbnl: add support for ieee8021Qaz attributes

The IEEE8021Qaz is the IEEE standard version of CEE. The
standard has had enough significant changes from the CEE
version that many of the CEE attributes have no meaning
in the new spec or do not easily map to IEEE standards.

Rather then attempt to create a complicated mapping
between CEE and IEEE standards this patch adds a nested
IEEE attribute to the list of DCB attributes. The policy
is,

[DCB_ATTR_IFNAME]
[DCB_ATTR_STATE]
...
[DCB_ATTR_IEEE]
[DCB_ATTR_IEEE_ETS]
[DCB_ATTR_IEEE_PFC]
[DCB_ATTR_IEEE_APP_TABLE]
[DCB_ATTR_IEEE_APP]
...

The following dcbnl_rtnl_ops routines were added to handle
the IEEE standard,

int (*ieee_getets) (struct net_device *, struct ieee_ets *);
int (*ieee_setets) (struct net_device *, struct ieee_ets *);
int (*ieee_getpfc) (struct net_device *, struct ieee_pfc *);
int (*ieee_setpfc) (struct net_device *, struct ieee_pfc *);
int (*ieee_getapp) (struct net_device *, struct dcb_app *);
int (*ieee_setapp) (struct net_device *, struct dcb_app *);

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/dcbnl.h
include/net/dcbnl.h
net/dcb/dcbnl.c