1
2
3
4
5
6
7
8
9
10
11
12#ifndef _UAPI_LINUX_DEVLINK_H_
13#define _UAPI_LINUX_DEVLINK_H_
14
15#define DEVLINK_GENL_NAME "devlink"
16#define DEVLINK_GENL_VERSION 0x1
17#define DEVLINK_GENL_MCGRP_CONFIG_NAME "config"
18
19enum devlink_command {
20
21 DEVLINK_CMD_UNSPEC,
22
23 DEVLINK_CMD_GET,
24 DEVLINK_CMD_SET,
25 DEVLINK_CMD_NEW,
26 DEVLINK_CMD_DEL,
27
28 DEVLINK_CMD_PORT_GET,
29 DEVLINK_CMD_PORT_SET,
30 DEVLINK_CMD_PORT_NEW,
31 DEVLINK_CMD_PORT_DEL,
32
33 DEVLINK_CMD_PORT_SPLIT,
34 DEVLINK_CMD_PORT_UNSPLIT,
35
36 DEVLINK_CMD_SB_GET,
37 DEVLINK_CMD_SB_SET,
38 DEVLINK_CMD_SB_NEW,
39 DEVLINK_CMD_SB_DEL,
40
41 DEVLINK_CMD_SB_POOL_GET,
42 DEVLINK_CMD_SB_POOL_SET,
43 DEVLINK_CMD_SB_POOL_NEW,
44 DEVLINK_CMD_SB_POOL_DEL,
45
46 DEVLINK_CMD_SB_PORT_POOL_GET,
47 DEVLINK_CMD_SB_PORT_POOL_SET,
48 DEVLINK_CMD_SB_PORT_POOL_NEW,
49 DEVLINK_CMD_SB_PORT_POOL_DEL,
50
51 DEVLINK_CMD_SB_TC_POOL_BIND_GET,
52 DEVLINK_CMD_SB_TC_POOL_BIND_SET,
53 DEVLINK_CMD_SB_TC_POOL_BIND_NEW,
54 DEVLINK_CMD_SB_TC_POOL_BIND_DEL,
55
56
57 DEVLINK_CMD_SB_OCC_SNAPSHOT,
58 DEVLINK_CMD_SB_OCC_MAX_CLEAR,
59
60 DEVLINK_CMD_ESWITCH_MODE_GET,
61 DEVLINK_CMD_ESWITCH_MODE_SET,
62
63
64 __DEVLINK_CMD_MAX,
65 DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1
66};
67
68enum devlink_port_type {
69 DEVLINK_PORT_TYPE_NOTSET,
70 DEVLINK_PORT_TYPE_AUTO,
71 DEVLINK_PORT_TYPE_ETH,
72 DEVLINK_PORT_TYPE_IB,
73};
74
75enum devlink_sb_pool_type {
76 DEVLINK_SB_POOL_TYPE_INGRESS,
77 DEVLINK_SB_POOL_TYPE_EGRESS,
78};
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93enum devlink_sb_threshold_type {
94 DEVLINK_SB_THRESHOLD_TYPE_STATIC,
95 DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC,
96};
97
98#define DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX 20
99
100enum devlink_eswitch_mode {
101 DEVLINK_ESWITCH_MODE_LEGACY,
102 DEVLINK_ESWITCH_MODE_SWITCHDEV,
103};
104
105enum devlink_attr {
106
107 DEVLINK_ATTR_UNSPEC,
108
109
110 DEVLINK_ATTR_BUS_NAME,
111 DEVLINK_ATTR_DEV_NAME,
112
113 DEVLINK_ATTR_PORT_INDEX,
114 DEVLINK_ATTR_PORT_TYPE,
115 DEVLINK_ATTR_PORT_DESIRED_TYPE,
116 DEVLINK_ATTR_PORT_NETDEV_IFINDEX,
117 DEVLINK_ATTR_PORT_NETDEV_NAME,
118 DEVLINK_ATTR_PORT_IBDEV_NAME,
119 DEVLINK_ATTR_PORT_SPLIT_COUNT,
120 DEVLINK_ATTR_PORT_SPLIT_GROUP,
121 DEVLINK_ATTR_SB_INDEX,
122 DEVLINK_ATTR_SB_SIZE,
123 DEVLINK_ATTR_SB_INGRESS_POOL_COUNT,
124 DEVLINK_ATTR_SB_EGRESS_POOL_COUNT,
125 DEVLINK_ATTR_SB_INGRESS_TC_COUNT,
126 DEVLINK_ATTR_SB_EGRESS_TC_COUNT,
127 DEVLINK_ATTR_SB_POOL_INDEX,
128 DEVLINK_ATTR_SB_POOL_TYPE,
129 DEVLINK_ATTR_SB_POOL_SIZE,
130 DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE,
131 DEVLINK_ATTR_SB_THRESHOLD,
132 DEVLINK_ATTR_SB_TC_INDEX,
133 DEVLINK_ATTR_SB_OCC_CUR,
134 DEVLINK_ATTR_SB_OCC_MAX,
135 DEVLINK_ATTR_ESWITCH_MODE,
136
137
138
139 __DEVLINK_ATTR_MAX,
140 DEVLINK_ATTR_MAX = __DEVLINK_ATTR_MAX - 1
141};
142
143#endif
144