Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2---
3name: team
4
5protocol: genetlink-legacy
6
7doc: |
8 Network team device driver.
9
10c-family-name: team-genl-name
11c-version-name: team-genl-version
12kernel-policy: global
13uapi-header: linux/if_team.h
14
15definitions:
16 -
17 name: string-max-len
18 type: const
19 value: 32
20 -
21 name: genl-change-event-mc-grp-name
22 type: const
23 value: change_event
24
25attribute-sets:
26 -
27 name: team
28 doc: |
29 The team nested layout of get/set msg looks like::
30
31 [TEAM_ATTR_LIST_OPTION]
32 [TEAM_ATTR_ITEM_OPTION]
33 [TEAM_ATTR_OPTION_*], ...
34 [TEAM_ATTR_ITEM_OPTION]
35 [TEAM_ATTR_OPTION_*], ...
36 ...
37 [TEAM_ATTR_LIST_PORT]
38 [TEAM_ATTR_ITEM_PORT]
39 [TEAM_ATTR_PORT_*], ...
40 [TEAM_ATTR_ITEM_PORT]
41 [TEAM_ATTR_PORT_*], ...
42 ...
43
44 name-prefix: team-attr-
45 attributes:
46 -
47 name: unspec
48 type: unused
49 value: 0
50 -
51 name: team-ifindex
52 type: u32
53 -
54 name: list-option
55 type: nest
56 nested-attributes: item-option
57 -
58 name: list-port
59 type: nest
60 nested-attributes: item-port
61 -
62 name: item-option
63 name-prefix: team-attr-item-
64 attr-cnt-name: __team-attr-item-option-max
65 attr-max-name: team-attr-item-option-max
66 attributes:
67 -
68 name: option-unspec
69 type: unused
70 value: 0
71 -
72 name: option
73 type: nest
74 nested-attributes: attr-option
75 -
76 name: attr-option
77 name-prefix: team-attr-option-
78 attributes:
79 -
80 name: unspec
81 type: unused
82 value: 0
83 -
84 name: name
85 type: string
86 checks:
87 max-len: string-max-len
88 unterminated-ok: true
89 -
90 name: changed
91 type: flag
92 -
93 name: type
94 type: u8
95 -
96 name: data
97 type: binary
98 -
99 name: removed
100 type: flag
101 -
102 name: port-ifindex
103 type: u32
104 doc: for per-port options
105 -
106 name: array-index
107 type: u32
108 doc: for array options
109 -
110 name: item-port
111 name-prefix: team-attr-item-
112 attr-cnt-name: __team-attr-item-port-max
113 attr-max-name: team-attr-item-port-max
114 attributes:
115 -
116 name: port-unspec
117 type: unused
118 value: 0
119 -
120 name: port
121 type: nest
122 nested-attributes: attr-port
123 -
124 name: attr-port
125 name-prefix: team-attr-port-
126 attributes:
127 -
128 name: unspec
129 type: unused
130 value: 0
131 -
132 name: ifindex
133 type: u32
134 -
135 name: changed
136 type: flag
137 -
138 name: linkup
139 type: flag
140 -
141 name: speed
142 type: u32
143 -
144 name: duplex
145 type: u8
146 -
147 name: removed
148 type: flag
149
150operations:
151 list:
152 -
153 name: noop
154 doc: No operation
155 value: 0
156 attribute-set: team
157 dont-validate: [strict]
158
159 do:
160 # Actually it only reply the team netlink family
161 reply:
162 attributes:
163 - team-ifindex
164
165 -
166 name: options-set
167 doc: Set team options
168 attribute-set: team
169 dont-validate: [strict]
170 flags: [admin-perm]
171
172 do:
173 request: &option_attrs
174 attributes:
175 - team-ifindex
176 - list-option
177 reply: *option_attrs
178
179 -
180 name: options-get
181 doc: Get team options info
182 attribute-set: team
183 dont-validate: [strict]
184 flags: [admin-perm]
185
186 do:
187 request:
188 attributes:
189 - team-ifindex
190 reply: *option_attrs
191
192 -
193 name: port-list-get
194 doc: Get team ports info
195 attribute-set: team
196 dont-validate: [strict]
197 flags: [admin-perm]
198
199 do:
200 request:
201 attributes:
202 - team-ifindex
203 reply: &port_attrs
204 attributes:
205 - team-ifindex
206 - list-port