aboutsummaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorJohn Fastabend <john.r.fastabend@intel.com>2010-12-30 04:25:46 -0500
committerDavid S. Miller <davem@davemloft.net>2010-12-31 13:47:45 -0500
commit3e29027af43728c2a91fe3f735ab2822edaf54a8 (patch)
treefb453671722596b9dcb1af4171bdcfa17cd48d61 /include/net
parenta7dd6027e55992dd7c409a71a4a2b576fda2f7c2 (diff)
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>
Diffstat (limited to 'include/net')
-rw-r--r--include/net/dcbnl.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/net/dcbnl.h b/include/net/dcbnl.h
index b36ac7e0914d..e2d841e963b3 100644
--- a/include/net/dcbnl.h
+++ b/include/net/dcbnl.h
@@ -20,11 +20,22 @@
20#ifndef __NET_DCBNL_H__ 20#ifndef __NET_DCBNL_H__
21#define __NET_DCBNL_H__ 21#define __NET_DCBNL_H__
22 22
23#include <linux/dcbnl.h>
24
23/* 25/*
24 * Ops struct for the netlink callbacks. Used by DCB-enabled drivers through 26 * Ops struct for the netlink callbacks. Used by DCB-enabled drivers through
25 * the netdevice struct. 27 * the netdevice struct.
26 */ 28 */
27struct dcbnl_rtnl_ops { 29struct dcbnl_rtnl_ops {
30 /* IEEE 802.1Qaz std */
31 int (*ieee_getets) (struct net_device *, struct ieee_ets *);
32 int (*ieee_setets) (struct net_device *, struct ieee_ets *);
33 int (*ieee_getpfc) (struct net_device *, struct ieee_pfc *);
34 int (*ieee_setpfc) (struct net_device *, struct ieee_pfc *);
35 int (*ieee_getapp) (struct net_device *, struct dcb_app *);
36 int (*ieee_setapp) (struct net_device *, struct dcb_app *);
37
38 /* CEE std */
28 u8 (*getstate)(struct net_device *); 39 u8 (*getstate)(struct net_device *);
29 u8 (*setstate)(struct net_device *, u8); 40 u8 (*setstate)(struct net_device *, u8);
30 void (*getpermhwaddr)(struct net_device *, u8 *); 41 void (*getpermhwaddr)(struct net_device *, u8 *);