~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/net/dcbnl.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0-only */
  2 /*
  3  * Copyright (c) 2008, Intel Corporation.
  4  *
  5  * Author: Lucy Liu <lucy.liu@intel.com>
  6  */
  7 
  8 #ifndef __NET_DCBNL_H__
  9 #define __NET_DCBNL_H__
 10 
 11 #include <linux/dcbnl.h>
 12 
 13 struct net_device;
 14 
 15 struct dcb_app_type {
 16         int     ifindex;
 17         struct dcb_app    app;
 18         struct list_head  list;
 19         u8      dcbx;
 20 };
 21 
 22 u16 dcb_getrewr(struct net_device *dev, struct dcb_app *app);
 23 int dcb_setrewr(struct net_device *dev, struct dcb_app *app);
 24 int dcb_delrewr(struct net_device *dev, struct dcb_app *app);
 25 
 26 int dcb_setapp(struct net_device *, struct dcb_app *);
 27 u8 dcb_getapp(struct net_device *, struct dcb_app *);
 28 int dcb_ieee_setapp(struct net_device *, struct dcb_app *);
 29 int dcb_ieee_delapp(struct net_device *, struct dcb_app *);
 30 u8 dcb_ieee_getapp_mask(struct net_device *, struct dcb_app *);
 31 
 32 struct dcb_rewr_prio_pcp_map {
 33         u16 map[IEEE_8021QAZ_MAX_TCS];
 34 };
 35 
 36 void dcb_getrewr_prio_pcp_mask_map(const struct net_device *dev,
 37                                    struct dcb_rewr_prio_pcp_map *p_map);
 38 
 39 struct dcb_ieee_app_prio_map {
 40         u64 map[IEEE_8021QAZ_MAX_TCS];
 41 };
 42 void dcb_ieee_getapp_prio_dscp_mask_map(const struct net_device *dev,
 43                                         struct dcb_ieee_app_prio_map *p_map);
 44 
 45 void dcb_getrewr_prio_dscp_mask_map(const struct net_device *dev,
 46                                     struct dcb_ieee_app_prio_map *p_map);
 47 
 48 struct dcb_ieee_app_dscp_map {
 49         u8 map[64];
 50 };
 51 void dcb_ieee_getapp_dscp_prio_mask_map(const struct net_device *dev,
 52                                         struct dcb_ieee_app_dscp_map *p_map);
 53 u8 dcb_ieee_getapp_default_prio_mask(const struct net_device *dev);
 54 
 55 int dcbnl_ieee_notify(struct net_device *dev, int event, int cmd,
 56                       u32 seq, u32 pid);
 57 int dcbnl_cee_notify(struct net_device *dev, int event, int cmd,
 58                      u32 seq, u32 pid);
 59 
 60 /*
 61  * Ops struct for the netlink callbacks.  Used by DCB-enabled drivers through
 62  * the netdevice struct.
 63  */
 64 struct dcbnl_rtnl_ops {
 65         /* IEEE 802.1Qaz std */
 66         int (*ieee_getets) (struct net_device *, struct ieee_ets *);
 67         int (*ieee_setets) (struct net_device *, struct ieee_ets *);
 68         int (*ieee_getmaxrate) (struct net_device *, struct ieee_maxrate *);
 69         int (*ieee_setmaxrate) (struct net_device *, struct ieee_maxrate *);
 70         int (*ieee_getqcn) (struct net_device *, struct ieee_qcn *);
 71         int (*ieee_setqcn) (struct net_device *, struct ieee_qcn *);
 72         int (*ieee_getqcnstats) (struct net_device *, struct ieee_qcn_stats *);
 73         int (*ieee_getpfc) (struct net_device *, struct ieee_pfc *);
 74         int (*ieee_setpfc) (struct net_device *, struct ieee_pfc *);
 75         int (*ieee_getapp) (struct net_device *, struct dcb_app *);
 76         int (*ieee_setapp) (struct net_device *, struct dcb_app *);
 77         int (*ieee_delapp) (struct net_device *, struct dcb_app *);
 78         int (*ieee_peer_getets) (struct net_device *, struct ieee_ets *);
 79         int (*ieee_peer_getpfc) (struct net_device *, struct ieee_pfc *);
 80 
 81         /* CEE std */
 82         u8   (*getstate)(struct net_device *);
 83         u8   (*setstate)(struct net_device *, u8);
 84         void (*getpermhwaddr)(struct net_device *, u8 *);
 85         void (*setpgtccfgtx)(struct net_device *, int, u8, u8, u8, u8);
 86         void (*setpgbwgcfgtx)(struct net_device *, int, u8);
 87         void (*setpgtccfgrx)(struct net_device *, int, u8, u8, u8, u8);
 88         void (*setpgbwgcfgrx)(struct net_device *, int, u8);
 89         void (*getpgtccfgtx)(struct net_device *, int, u8 *, u8 *, u8 *, u8 *);
 90         void (*getpgbwgcfgtx)(struct net_device *, int, u8 *);
 91         void (*getpgtccfgrx)(struct net_device *, int, u8 *, u8 *, u8 *, u8 *);
 92         void (*getpgbwgcfgrx)(struct net_device *, int, u8 *);
 93         void (*setpfccfg)(struct net_device *, int, u8);
 94         void (*getpfccfg)(struct net_device *, int, u8 *);
 95         u8   (*setall)(struct net_device *);
 96         u8   (*getcap)(struct net_device *, int, u8 *);
 97         int  (*getnumtcs)(struct net_device *, int, u8 *);
 98         int  (*setnumtcs)(struct net_device *, int, u8);
 99         u8   (*getpfcstate)(struct net_device *);
100         void (*setpfcstate)(struct net_device *, u8);
101         void (*getbcncfg)(struct net_device *, int, u32 *);
102         void (*setbcncfg)(struct net_device *, int, u32);
103         void (*getbcnrp)(struct net_device *, int, u8 *);
104         void (*setbcnrp)(struct net_device *, int, u8);
105         int  (*setapp)(struct net_device *, u8, u16, u8);
106         int  (*getapp)(struct net_device *, u8, u16);
107         u8   (*getfeatcfg)(struct net_device *, int, u8 *);
108         u8   (*setfeatcfg)(struct net_device *, int, u8);
109 
110         /* DCBX configuration */
111         u8   (*getdcbx)(struct net_device *);
112         u8   (*setdcbx)(struct net_device *, u8);
113 
114         /* peer apps */
115         int (*peer_getappinfo)(struct net_device *, struct dcb_peer_app_info *,
116                                u16 *);
117         int (*peer_getapptable)(struct net_device *, struct dcb_app *);
118 
119         /* CEE peer */
120         int (*cee_peer_getpg) (struct net_device *, struct cee_pg *);
121         int (*cee_peer_getpfc) (struct net_device *, struct cee_pfc *);
122 
123         /* buffer settings */
124         int (*dcbnl_getbuffer)(struct net_device *, struct dcbnl_buffer *);
125         int (*dcbnl_setbuffer)(struct net_device *, struct dcbnl_buffer *);
126 
127         /* apptrust */
128         int (*dcbnl_setapptrust)(struct net_device *, u8 *, int);
129         int (*dcbnl_getapptrust)(struct net_device *, u8 *, int *);
130 
131         /* rewrite */
132         int (*dcbnl_setrewr)(struct net_device *dev, struct dcb_app *app);
133         int (*dcbnl_delrewr)(struct net_device *dev, struct dcb_app *app);
134 };
135 
136 #endif /* __NET_DCBNL_H__ */
137 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php