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 207