]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - include/net/dcbnl.h
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / include / net / dcbnl.h
index b36ac7e0914d2f3ac1fdabf7ae85987af610fed7..a8e7852b10abf705a7c7db5385b34a6d1a6a058e 100644 (file)
 #ifndef __NET_DCBNL_H__
 #define __NET_DCBNL_H__
 
+#include <linux/dcbnl.h>
+
+struct dcb_app_type {
+       char              name[IFNAMSIZ];
+       struct dcb_app    app;
+       struct list_head  list;
+};
+
+u8 dcb_setapp(struct net_device *, struct dcb_app *);
+u8 dcb_getapp(struct net_device *, struct dcb_app *);
+
 /*
  * Ops struct for the netlink callbacks.  Used by DCB-enabled drivers through
  * the netdevice struct.
  */
 struct dcbnl_rtnl_ops {
+       /* IEEE 802.1Qaz std */
+       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 *);
+
+       /* CEE std */
        u8   (*getstate)(struct net_device *);
        u8   (*setstate)(struct net_device *, u8);
        void (*getpermhwaddr)(struct net_device *, u8 *);
@@ -50,6 +70,14 @@ struct dcbnl_rtnl_ops {
        void (*setbcnrp)(struct net_device *, int, u8);
        u8   (*setapp)(struct net_device *, u8, u16, u8);
        u8   (*getapp)(struct net_device *, u8, u16);
+       u8   (*getfeatcfg)(struct net_device *, int, u8 *);
+       u8   (*setfeatcfg)(struct net_device *, int, u8);
+
+       /* DCBX configuration */
+       u8   (*getdcbx)(struct net_device *);
+       u8   (*setdcbx)(struct net_device *, u8);
+
+
 };
 
 #endif /* __NET_DCBNL_H__ */