| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 |
- # 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
|