Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
include
net
dcbnl.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2008, Intel Corporation.
3
*
4
* This program is free software; you can redistribute it and/or modify it
5
* under the terms and conditions of the GNU General Public License,
6
* version 2, as published by the Free Software Foundation.
7
*
8
* This program is distributed in the hope it will be useful, but WITHOUT
9
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
11
* more details.
12
*
13
* You should have received a copy of the GNU General Public License along with
14
* this program; if not, write to the Free Software Foundation, Inc., 59 Temple
15
* Place - Suite 330, Boston, MA 02111-1307 USA.
16
*
17
* Author: Lucy Liu <
[email protected]
>
18
*/
19
20
#ifndef __NET_DCBNL_H__
21
#define __NET_DCBNL_H__
22
23
#include <
linux/dcbnl.h
>
24
25
struct
dcb_app_type
{
26
int
ifindex
;
27
struct
dcb_app
app
;
28
struct
list_head
list
;
29
u8
dcbx
;
30
};
31
32
int
dcb_setapp
(
struct
net_device
*,
struct
dcb_app
*);
33
u8
dcb_getapp
(
struct
net_device
*,
struct
dcb_app
*);
34
int
dcb_ieee_setapp
(
struct
net_device
*,
struct
dcb_app
*);
35
int
dcb_ieee_delapp
(
struct
net_device
*,
struct
dcb_app
*);
36
u8
dcb_ieee_getapp_mask
(
struct
net_device
*,
struct
dcb_app
*);
37
38
int
dcbnl_ieee_notify
(
struct
net_device
*
dev
,
int
event
,
int
cmd
,
39
u32
seq,
u32
pid
);
40
int
dcbnl_cee_notify
(
struct
net_device
*
dev
,
int
event
,
int
cmd
,
41
u32
seq,
u32
pid
);
42
43
/*
44
* Ops struct for the netlink callbacks. Used by DCB-enabled drivers through
45
* the netdevice struct.
46
*/
47
struct
dcbnl_rtnl_ops
{
48
/* IEEE 802.1Qaz std */
49
int
(*
ieee_getets
) (
struct
net_device
*,
struct
ieee_ets
*);
50
int
(*
ieee_setets
) (
struct
net_device
*,
struct
ieee_ets
*);
51
int
(*
ieee_getmaxrate
) (
struct
net_device
*,
struct
ieee_maxrate
*);
52
int
(*
ieee_setmaxrate
) (
struct
net_device
*,
struct
ieee_maxrate
*);
53
int
(*
ieee_getpfc
) (
struct
net_device
*,
struct
ieee_pfc
*);
54
int
(*
ieee_setpfc
) (
struct
net_device
*,
struct
ieee_pfc
*);
55
int
(*
ieee_getapp
) (
struct
net_device
*,
struct
dcb_app
*);
56
int
(*
ieee_setapp
) (
struct
net_device
*,
struct
dcb_app
*);
57
int
(*
ieee_delapp
) (
struct
net_device
*,
struct
dcb_app
*);
58
int
(*
ieee_peer_getets
) (
struct
net_device
*,
struct
ieee_ets
*);
59
int
(*
ieee_peer_getpfc
) (
struct
net_device
*,
struct
ieee_pfc
*);
60
61
/* CEE std */
62
u8
(*
getstate
)(
struct
net_device
*);
63
u8
(*
setstate
)(
struct
net_device
*,
u8
);
64
void
(*
getpermhwaddr
)(
struct
net_device
*,
u8
*);
65
void
(*
setpgtccfgtx
)(
struct
net_device
*,
int
,
u8
,
u8
,
u8
,
u8
);
66
void
(*
setpgbwgcfgtx
)(
struct
net_device
*,
int
,
u8
);
67
void
(*
setpgtccfgrx
)(
struct
net_device
*,
int
,
u8
,
u8
,
u8
,
u8
);
68
void
(*
setpgbwgcfgrx
)(
struct
net_device
*,
int
,
u8
);
69
void
(*
getpgtccfgtx
)(
struct
net_device
*,
int
,
u8
*,
u8
*,
u8
*,
u8
*);
70
void
(*
getpgbwgcfgtx
)(
struct
net_device
*,
int
,
u8
*);
71
void
(*
getpgtccfgrx
)(
struct
net_device
*,
int
,
u8
*,
u8
*,
u8
*,
u8
*);
72
void
(*
getpgbwgcfgrx
)(
struct
net_device
*,
int
,
u8
*);
73
void
(*
setpfccfg
)(
struct
net_device
*,
int
,
u8
);
74
void
(*
getpfccfg
)(
struct
net_device
*,
int
,
u8
*);
75
u8
(*
setall
)(
struct
net_device
*);
76
u8
(*
getcap
)(
struct
net_device
*,
int
,
u8
*);
77
int
(*
getnumtcs
)(
struct
net_device
*,
int
,
u8
*);
78
int
(*
setnumtcs
)(
struct
net_device
*,
int
,
u8
);
79
u8
(*
getpfcstate
)(
struct
net_device
*);
80
void
(*
setpfcstate
)(
struct
net_device
*,
u8
);
81
void
(*
getbcncfg
)(
struct
net_device
*,
int
,
u32
*);
82
void
(*
setbcncfg
)(
struct
net_device
*,
int
,
u32
);
83
void
(*
getbcnrp
)(
struct
net_device
*,
int
,
u8
*);
84
void
(*
setbcnrp
)(
struct
net_device
*,
int
,
u8
);
85
u8
(*
setapp
)(
struct
net_device
*,
u8
,
u16
,
u8
);
86
u8
(*
getapp
)(
struct
net_device
*,
u8
,
u16
);
87
u8
(*
getfeatcfg
)(
struct
net_device
*,
int
,
u8
*);
88
u8
(*
setfeatcfg
)(
struct
net_device
*,
int
,
u8
);
89
90
/* DCBX configuration */
91
u8
(*
getdcbx
)(
struct
net_device
*);
92
u8
(*
setdcbx
)(
struct
net_device
*,
u8
);
93
94
/* peer apps */
95
int
(*
peer_getappinfo
)(
struct
net_device
*,
struct
dcb_peer_app_info
*,
96
u16
*);
97
int
(*
peer_getapptable
)(
struct
net_device
*,
struct
dcb_app
*);
98
99
/* CEE peer */
100
int
(*
cee_peer_getpg
) (
struct
net_device
*,
struct
cee_pg
*);
101
int
(*
cee_peer_getpfc
) (
struct
net_device
*,
struct
cee_pfc
*);
102
};
103
104
#endif
/* __NET_DCBNL_H__ */
Generated on Thu Jan 10 2013 14:53:02 for Linux Kernel by
1.8.2