| # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) | |
| name: nlctrl | |
| protocol: genetlink-legacy | |
| uapi-header: linux/genetlink.h | |
| doc: | | |
| genetlink meta-family that exposes information about all genetlink | |
| families registered in the kernel (including itself). | |
| definitions: | |
| - | |
| name: op-flags | |
| type: flags | |
| enum-name: | |
| entries: | |
| - admin-perm | |
| - cmd-cap-do | |
| - cmd-cap-dump | |
| - cmd-cap-haspol | |
| - uns-admin-perm | |
| - | |
| name: attr-type | |
| enum-name: netlink-attribute-type | |
| type: enum | |
| entries: | |
| - invalid | |
| - flag | |
| - u8 | |
| - u16 | |
| - u32 | |
| - u64 | |
| - s8 | |
| - s16 | |
| - s32 | |
| - s64 | |
| - binary | |
| - string | |
| - nul-string | |
| - nested | |
| - nested-array | |
| - bitfield32 | |
| - sint | |
| - uint | |
| attribute-sets: | |
| - | |
| name: ctrl-attrs | |
| name-prefix: ctrl-attr- | |
| attributes: | |
| - | |
| name: family-id | |
| type: u16 | |
| - | |
| name: family-name | |
| type: string | |
| - | |
| name: version | |
| type: u32 | |
| - | |
| name: hdrsize | |
| type: u32 | |
| - | |
| name: maxattr | |
| type: u32 | |
| - | |
| name: ops | |
| type: indexed-array | |
| sub-type: nest | |
| nested-attributes: op-attrs | |
| - | |
| name: mcast-groups | |
| type: indexed-array | |
| sub-type: nest | |
| nested-attributes: mcast-group-attrs | |
| - | |
| name: policy | |
| type: nest-type-value | |
| type-value: [ policy-id, attr-id ] | |
| nested-attributes: policy-attrs | |
| - | |
| name: op-policy | |
| type: nest-type-value | |
| type-value: [ op-id ] | |
| nested-attributes: op-policy-attrs | |
| - | |
| name: op | |
| type: u32 | |
| - | |
| name: mcast-group-attrs | |
| name-prefix: ctrl-attr-mcast-grp- | |
| enum-name: | |
| attributes: | |
| - | |
| name: name | |
| type: string | |
| - | |
| name: id | |
| type: u32 | |
| - | |
| name: op-attrs | |
| name-prefix: ctrl-attr-op- | |
| enum-name: | |
| attributes: | |
| - | |
| name: id | |
| type: u32 | |
| - | |
| name: flags | |
| type: u32 | |
| enum: op-flags | |
| enum-as-flags: true | |
| - | |
| name: policy-attrs | |
| name-prefix: nl-policy-type-attr- | |
| enum-name: | |
| attributes: | |
| - | |
| name: type | |
| type: u32 | |
| enum: attr-type | |
| - | |
| name: min-value-s | |
| type: s64 | |
| - | |
| name: max-value-s | |
| type: s64 | |
| - | |
| name: min-value-u | |
| type: u64 | |
| - | |
| name: max-value-u | |
| type: u64 | |
| - | |
| name: min-length | |
| type: u32 | |
| - | |
| name: max-length | |
| type: u32 | |
| - | |
| name: policy-idx | |
| type: u32 | |
| - | |
| name: policy-maxtype | |
| type: u32 | |
| - | |
| name: bitfield32-mask | |
| type: u32 | |
| - | |
| name: mask | |
| type: u64 | |
| - | |
| name: pad | |
| type: pad | |
| - | |
| name: op-policy-attrs | |
| name-prefix: ctrl-attr-policy- | |
| enum-name: | |
| attributes: | |
| - | |
| name: do | |
| type: u32 | |
| - | |
| name: dump | |
| type: u32 | |
| operations: | |
| enum-model: directional | |
| name-prefix: ctrl-cmd- | |
| list: | |
| - | |
| name: getfamily | |
| doc: Get / dump genetlink families | |
| attribute-set: ctrl-attrs | |
| do: | |
| request: | |
| value: 3 | |
| attributes: | |
| - family-name | |
| reply: &all-attrs | |
| value: 1 | |
| attributes: | |
| - family-id | |
| - family-name | |
| - hdrsize | |
| - maxattr | |
| - mcast-groups | |
| - ops | |
| - version | |
| dump: | |
| reply: *all-attrs | |
| - | |
| name: getpolicy | |
| doc: Get / dump genetlink policies | |
| attribute-set: ctrl-attrs | |
| dump: | |
| request: | |
| value: 10 | |
| attributes: | |
| - family-name | |
| - family-id | |
| - op | |
| reply: | |
| value: 10 | |
| attributes: | |
| - family-id | |
| - op-policy | |
| - policy |