# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) name: team protocol: genetlink-legacy doc: | Network team device driver. c-family-name: team-genl-name c-version-name: team-genl-version kernel-policy: global uapi-header: linux/if_team.h definitions: - name: string-max-len type: const value: 32 - name: genl-change-event-mc-grp-name type: const value: change_event attribute-sets: - name: team doc: The team nested layout of get/set msg looks like [TEAM_ATTR_LIST_OPTION] [TEAM_ATTR_ITEM_OPTION] [TEAM_ATTR_OPTION_*], ... [TEAM_ATTR_ITEM_OPTION] [TEAM_ATTR_OPTION_*], ... ... [TEAM_ATTR_LIST_PORT] [TEAM_ATTR_ITEM_PORT] [TEAM_ATTR_PORT_*], ... [TEAM_ATTR_ITEM_PORT] [TEAM_ATTR_PORT_*], ... ... name-prefix: team-attr- attributes: - name: unspec type: unused value: 0 - name: team-ifindex type: u32 - name: list-option type: nest nested-attributes: item-option - name: list-port type: nest nested-attributes: item-port - name: item-option name-prefix: team-attr-item- attr-cnt-name: __team-attr-item-option-max attr-max-name: team-attr-item-option-max attributes: - name: option-unspec type: unused value: 0 - name: option type: nest nested-attributes: attr-option - name: attr-option name-prefix: team-attr-option- attributes: - name: unspec type: unused value: 0 - name: name type: string checks: max-len: string-max-len unterminated-ok: true - name: changed type: flag - name: type type: u8 - name: data type: binary - name: removed type: flag - name: port-ifindex type: u32 doc: for per-port options - name: array-index type: u32 doc: for array options - name: item-port name-prefix: team-attr-item- attr-cnt-name: __team-attr-item-port-max attr-max-name: team-attr-item-port-max attributes: - name: port-unspec type: unused value: 0 - name: port type: nest nested-attributes: attr-port - name: attr-port name-prefix: team-attr-port- attributes: - name: unspec type: unused value: 0 - name: ifindex type: u32 - name: changed type: flag - name: linkup type: flag - name: speed type: u32 - name: duplex type: u8 - name: removed type: flag operations: list: - name: noop doc: No operation value: 0 attribute-set: team dont-validate: [ strict ] do: # Actually it only reply the team netlink family reply: attributes: - team-ifindex - name: options-set doc: Set team options attribute-set: team dont-validate: [ strict ] flags: [ admin-perm ] do: request: &option_attrs attributes: - team-ifindex - list-option reply: *option_attrs - name: options-get doc: Get team options info attribute-set: team dont-validate: [ strict ] flags: [ admin-perm ] do: request: attributes: - team-ifindex reply: *option_attrs - name: port-list-get doc: Get team ports info attribute-set: team dont-validate: [ strict ] flags: [ admin-perm ] do: request: attributes: - team-ifindex reply: &port_attrs attributes: - team-ifindex - list-port