mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-21 19:35:23 -04:00
In YAML, it is allowed to declare a scalar strings at the next lines without explicitly declaring them as a block. Yet, they looks weird, and can cause issues when ':' or '#' are present. The modified lines didn't have issues with the special characters, but it seems better to explicitly declare such blocks as scalar strings to encourage people to "properly" declare future scalar strings. The right angle bracket is used with a minus sign to indicate that the folded style should be used without adding extra newlines. By doing that, the output is not changed compared to what was done before this patch. Suggested-by: Donald Hunter <donald.hunter@gmail.com> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Link: https://patch.msgid.link/20250913-net-next-ynl-attr-doc-rst-v3-3-4f06420d87db@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1533 lines
30 KiB
YAML
1533 lines
30 KiB
YAML
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
|
---
|
|
name: nftables
|
|
protocol: netlink-raw
|
|
protonum: 12
|
|
|
|
doc: >-
|
|
Netfilter nftables configuration over netlink.
|
|
|
|
definitions:
|
|
-
|
|
name: nfgenmsg
|
|
type: struct
|
|
members:
|
|
-
|
|
name: nfgen-family
|
|
type: u8
|
|
-
|
|
name: version
|
|
type: u8
|
|
-
|
|
name: res-id
|
|
byte-order: big-endian
|
|
type: u16
|
|
-
|
|
name: meta-keys
|
|
type: enum
|
|
entries:
|
|
- len
|
|
- protocol
|
|
- priority
|
|
- mark
|
|
- iif
|
|
- oif
|
|
- iifname
|
|
- oifname
|
|
- iftype
|
|
- oiftype
|
|
- skuid
|
|
- skgid
|
|
- nftrace
|
|
- rtclassid
|
|
- secmark
|
|
- nfproto
|
|
- l4-proto
|
|
- bri-iifname
|
|
- bri-oifname
|
|
- pkttype
|
|
- cpu
|
|
- iifgroup
|
|
- oifgroup
|
|
- cgroup
|
|
- prandom
|
|
- secpath
|
|
- iifkind
|
|
- oifkind
|
|
- bri-iifpvid
|
|
- bri-iifvproto
|
|
- time-ns
|
|
- time-day
|
|
- time-hour
|
|
- sdif
|
|
- sdifname
|
|
- bri-broute
|
|
-
|
|
name: bitwise-ops
|
|
type: enum
|
|
entries:
|
|
- bool
|
|
- lshift
|
|
- rshift
|
|
-
|
|
name: cmp-ops
|
|
type: enum
|
|
entries:
|
|
- eq
|
|
- neq
|
|
- lt
|
|
- lte
|
|
- gt
|
|
- gte
|
|
-
|
|
name: object-type
|
|
type: enum
|
|
entries:
|
|
- unspec
|
|
- counter
|
|
- quota
|
|
- ct-helper
|
|
- limit
|
|
- connlimit
|
|
- tunnel
|
|
- ct-timeout
|
|
- secmark
|
|
- ct-expect
|
|
- synproxy
|
|
-
|
|
name: nat-range-flags
|
|
type: flags
|
|
entries:
|
|
- map-ips
|
|
- proto-specified
|
|
- proto-random
|
|
- persistent
|
|
- proto-random-fully
|
|
- proto-offset
|
|
- netmap
|
|
-
|
|
name: table-flags
|
|
type: flags
|
|
entries:
|
|
- dormant
|
|
- owner
|
|
- persist
|
|
-
|
|
name: chain-flags
|
|
type: flags
|
|
entries:
|
|
- base
|
|
- hw-offload
|
|
- binding
|
|
-
|
|
name: set-flags
|
|
type: flags
|
|
entries:
|
|
- anonymous
|
|
- constant
|
|
- interval
|
|
- map
|
|
- timeout
|
|
- eval
|
|
- object
|
|
- concat
|
|
- expr
|
|
-
|
|
name: lookup-flags
|
|
type: flags
|
|
entries:
|
|
- invert
|
|
-
|
|
name: ct-keys
|
|
type: enum
|
|
entries:
|
|
- state
|
|
- direction
|
|
- status
|
|
- mark
|
|
- secmark
|
|
- expiration
|
|
- helper
|
|
- l3protocol
|
|
- src
|
|
- dst
|
|
- protocol
|
|
- proto-src
|
|
- proto-dst
|
|
- labels
|
|
- pkts
|
|
- bytes
|
|
- avgpkt
|
|
- zone
|
|
- eventmask
|
|
- src-ip
|
|
- dst-ip
|
|
- src-ip6
|
|
- dst-ip6
|
|
- ct-id
|
|
-
|
|
name: ct-direction
|
|
type: enum
|
|
entries:
|
|
- original
|
|
- reply
|
|
-
|
|
name: quota-flags
|
|
type: flags
|
|
entries:
|
|
- invert
|
|
- depleted
|
|
-
|
|
name: verdict-code
|
|
type: enum
|
|
entries:
|
|
- name: continue
|
|
value: 0xffffffff
|
|
- name: break
|
|
value: 0xfffffffe
|
|
- name: jump
|
|
value: 0xfffffffd
|
|
- name: goto
|
|
value: 0xfffffffc
|
|
- name: return
|
|
value: 0xfffffffb
|
|
- name: drop
|
|
value: 0
|
|
- name: accept
|
|
value: 1
|
|
- name: stolen
|
|
value: 2
|
|
- name: queue
|
|
value: 3
|
|
- name: repeat
|
|
value: 4
|
|
-
|
|
name: fib-result
|
|
type: enum
|
|
entries:
|
|
- oif
|
|
- oifname
|
|
- addrtype
|
|
-
|
|
name: fib-flags
|
|
type: flags
|
|
entries:
|
|
- saddr
|
|
- daddr
|
|
- mark
|
|
- iif
|
|
- oif
|
|
- present
|
|
-
|
|
name: reject-types
|
|
type: enum
|
|
entries:
|
|
- icmp-unreach
|
|
- tcp-rst
|
|
- icmpx-unreach
|
|
|
|
attribute-sets:
|
|
-
|
|
name: empty-attrs
|
|
attributes:
|
|
-
|
|
name: name
|
|
type: string
|
|
-
|
|
name: batch-attrs
|
|
attributes:
|
|
-
|
|
name: genid
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: table-attrs
|
|
attributes:
|
|
-
|
|
name: name
|
|
type: string
|
|
doc: name of the table
|
|
-
|
|
name: flags
|
|
type: u32
|
|
byte-order: big-endian
|
|
doc: bitmask of flags
|
|
enum: table-flags
|
|
enum-as-flags: true
|
|
-
|
|
name: use
|
|
type: u32
|
|
byte-order: big-endian
|
|
doc: number of chains in this table
|
|
-
|
|
name: handle
|
|
type: u64
|
|
byte-order: big-endian
|
|
doc: numeric handle of the table
|
|
-
|
|
name: userdata
|
|
type: binary
|
|
doc: user data
|
|
-
|
|
name: chain-attrs
|
|
attributes:
|
|
-
|
|
name: table
|
|
type: string
|
|
doc: name of the table containing the chain
|
|
-
|
|
name: handle
|
|
type: u64
|
|
byte-order: big-endian
|
|
doc: numeric handle of the chain
|
|
-
|
|
name: name
|
|
type: string
|
|
doc: name of the chain
|
|
-
|
|
name: hook
|
|
type: nest
|
|
nested-attributes: nft-hook-attrs
|
|
doc: hook specification for basechains
|
|
-
|
|
name: policy
|
|
type: u32
|
|
byte-order: big-endian
|
|
doc: numeric policy of the chain
|
|
-
|
|
name: use
|
|
type: u32
|
|
byte-order: big-endian
|
|
doc: number of references to this chain
|
|
-
|
|
name: type
|
|
type: string
|
|
doc: type name of the chain
|
|
-
|
|
name: counters
|
|
type: nest
|
|
nested-attributes: nft-counter-attrs
|
|
doc: counter specification of the chain
|
|
-
|
|
name: flags
|
|
type: u32
|
|
byte-order: big-endian
|
|
doc: chain flags
|
|
enum: chain-flags
|
|
enum-as-flags: true
|
|
-
|
|
name: id
|
|
type: u32
|
|
byte-order: big-endian
|
|
doc: uniquely identifies a chain in a transaction
|
|
-
|
|
name: userdata
|
|
type: binary
|
|
doc: user data
|
|
-
|
|
name: counter-attrs
|
|
attributes:
|
|
-
|
|
name: bytes
|
|
type: u64
|
|
byte-order: big-endian
|
|
-
|
|
name: packets
|
|
type: u64
|
|
byte-order: big-endian
|
|
-
|
|
name: pad
|
|
type: pad
|
|
-
|
|
name: nft-hook-attrs
|
|
attributes:
|
|
-
|
|
name: num
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: priority
|
|
type: s32
|
|
byte-order: big-endian
|
|
-
|
|
name: dev
|
|
type: string
|
|
doc: net device name
|
|
-
|
|
name: devs
|
|
type: nest
|
|
nested-attributes: hook-dev-attrs
|
|
doc: list of net devices
|
|
-
|
|
name: hook-dev-attrs
|
|
attributes:
|
|
-
|
|
name: name
|
|
type: string
|
|
multi-attr: true
|
|
-
|
|
name: nft-counter-attrs
|
|
attributes:
|
|
-
|
|
name: bytes
|
|
type: u64
|
|
-
|
|
name: packets
|
|
type: u64
|
|
-
|
|
name: rule-attrs
|
|
attributes:
|
|
-
|
|
name: table
|
|
type: string
|
|
doc: name of the table containing the rule
|
|
-
|
|
name: chain
|
|
type: string
|
|
doc: name of the chain containing the rule
|
|
-
|
|
name: handle
|
|
type: u64
|
|
byte-order: big-endian
|
|
doc: numeric handle of the rule
|
|
-
|
|
name: expressions
|
|
type: nest
|
|
nested-attributes: expr-list-attrs
|
|
doc: list of expressions
|
|
-
|
|
name: compat
|
|
type: nest
|
|
nested-attributes: rule-compat-attrs
|
|
doc: compatibility specifications of the rule
|
|
-
|
|
name: position
|
|
type: u64
|
|
byte-order: big-endian
|
|
doc: numeric handle of the previous rule
|
|
-
|
|
name: userdata
|
|
type: binary
|
|
doc: user data
|
|
-
|
|
name: id
|
|
type: u32
|
|
doc: uniquely identifies a rule in a transaction
|
|
-
|
|
name: position-id
|
|
type: u32
|
|
doc: transaction unique identifier of the previous rule
|
|
-
|
|
name: chain-id
|
|
type: u32
|
|
doc: add the rule to chain by ID, alternative to chain name
|
|
-
|
|
name: expr-list-attrs
|
|
attributes:
|
|
-
|
|
name: elem
|
|
type: nest
|
|
nested-attributes: expr-attrs
|
|
multi-attr: true
|
|
-
|
|
name: expr-attrs
|
|
attributes:
|
|
-
|
|
name: name
|
|
type: string
|
|
doc: name of the expression type
|
|
-
|
|
name: data
|
|
type: sub-message
|
|
sub-message: expr-ops
|
|
selector: name
|
|
doc: type specific data
|
|
-
|
|
name: rule-compat-attrs
|
|
attributes:
|
|
-
|
|
name: proto
|
|
type: binary
|
|
doc: numeric value of the handled protocol
|
|
-
|
|
name: flags
|
|
type: binary
|
|
doc: bitmask of flags
|
|
-
|
|
name: set-attrs
|
|
attributes:
|
|
-
|
|
name: table
|
|
type: string
|
|
doc: table name
|
|
-
|
|
name: name
|
|
type: string
|
|
doc: set name
|
|
-
|
|
name: flags
|
|
type: u32
|
|
enum: set-flags
|
|
byte-order: big-endian
|
|
doc: bitmask of enum nft_set_flags
|
|
-
|
|
name: key-type
|
|
type: u32
|
|
byte-order: big-endian
|
|
doc: key data type, informational purpose only
|
|
-
|
|
name: key-len
|
|
type: u32
|
|
byte-order: big-endian
|
|
doc: key data length
|
|
-
|
|
name: data-type
|
|
type: u32
|
|
byte-order: big-endian
|
|
doc: mapping data type
|
|
-
|
|
name: data-len
|
|
type: u32
|
|
byte-order: big-endian
|
|
doc: mapping data length
|
|
-
|
|
name: policy
|
|
type: u32
|
|
byte-order: big-endian
|
|
doc: selection policy
|
|
-
|
|
name: desc
|
|
type: nest
|
|
nested-attributes: set-desc-attrs
|
|
doc: set description
|
|
-
|
|
name: id
|
|
type: u32
|
|
doc: uniquely identifies a set in a transaction
|
|
-
|
|
name: timeout
|
|
type: u64
|
|
doc: default timeout value
|
|
-
|
|
name: gc-interval
|
|
type: u32
|
|
doc: garbage collection interval
|
|
-
|
|
name: userdata
|
|
type: binary
|
|
doc: user data
|
|
-
|
|
name: pad
|
|
type: pad
|
|
-
|
|
name: obj-type
|
|
type: u32
|
|
byte-order: big-endian
|
|
doc: stateful object type
|
|
-
|
|
name: handle
|
|
type: u64
|
|
byte-order: big-endian
|
|
doc: set handle
|
|
-
|
|
name: expr
|
|
type: nest
|
|
nested-attributes: expr-attrs
|
|
doc: set expression
|
|
multi-attr: true
|
|
-
|
|
name: expressions
|
|
type: nest
|
|
nested-attributes: set-list-attrs
|
|
doc: list of expressions
|
|
-
|
|
name: set-desc-attrs
|
|
attributes:
|
|
-
|
|
name: size
|
|
type: u32
|
|
byte-order: big-endian
|
|
doc: number of elements in set
|
|
-
|
|
name: concat
|
|
type: nest
|
|
nested-attributes: set-desc-concat-attrs
|
|
doc: description of field concatenation
|
|
multi-attr: true
|
|
-
|
|
name: set-desc-concat-attrs
|
|
attributes:
|
|
-
|
|
name: elem
|
|
type: nest
|
|
nested-attributes: set-field-attrs
|
|
-
|
|
name: set-field-attrs
|
|
attributes:
|
|
-
|
|
name: len
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: set-list-attrs
|
|
attributes:
|
|
-
|
|
name: elem
|
|
type: nest
|
|
nested-attributes: expr-attrs
|
|
multi-attr: true
|
|
-
|
|
name: setelem-attrs
|
|
attributes:
|
|
-
|
|
name: key
|
|
type: nest
|
|
nested-attributes: data-attrs
|
|
doc: key value
|
|
-
|
|
name: data
|
|
type: nest
|
|
nested-attributes: data-attrs
|
|
doc: data value of mapping
|
|
-
|
|
name: flags
|
|
type: binary
|
|
doc: bitmask of nft_set_elem_flags
|
|
-
|
|
name: timeout
|
|
type: u64
|
|
doc: timeout value
|
|
-
|
|
name: expiration
|
|
type: u64
|
|
doc: expiration time
|
|
-
|
|
name: userdata
|
|
type: binary
|
|
doc: user data
|
|
-
|
|
name: expr
|
|
type: nest
|
|
nested-attributes: expr-attrs
|
|
doc: expression
|
|
-
|
|
name: objref
|
|
type: string
|
|
doc: stateful object reference
|
|
-
|
|
name: key-end
|
|
type: nest
|
|
nested-attributes: data-attrs
|
|
doc: closing key value
|
|
-
|
|
name: expressions
|
|
type: nest
|
|
nested-attributes: expr-list-attrs
|
|
doc: list of expressions
|
|
-
|
|
name: setelem-list-elem-attrs
|
|
attributes:
|
|
-
|
|
name: elem
|
|
type: nest
|
|
nested-attributes: setelem-attrs
|
|
multi-attr: true
|
|
-
|
|
name: setelem-list-attrs
|
|
attributes:
|
|
-
|
|
name: table
|
|
type: string
|
|
-
|
|
name: set
|
|
type: string
|
|
-
|
|
name: elements
|
|
type: nest
|
|
nested-attributes: setelem-list-elem-attrs
|
|
-
|
|
name: set-id
|
|
type: u32
|
|
-
|
|
name: gen-attrs
|
|
attributes:
|
|
-
|
|
name: id
|
|
type: u32
|
|
byte-order: big-endian
|
|
doc: ruleset generation id
|
|
-
|
|
name: proc-pid
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: proc-name
|
|
type: string
|
|
-
|
|
name: obj-attrs
|
|
attributes:
|
|
-
|
|
name: table
|
|
type: string
|
|
doc: name of the table containing the expression
|
|
-
|
|
name: name
|
|
type: string
|
|
doc: name of this expression type
|
|
-
|
|
name: type
|
|
type: u32
|
|
enum: object-type
|
|
byte-order: big-endian
|
|
doc: stateful object type
|
|
-
|
|
name: data
|
|
type: sub-message
|
|
sub-message: obj-data
|
|
selector: type
|
|
doc: stateful object data
|
|
-
|
|
name: use
|
|
type: u32
|
|
byte-order: big-endian
|
|
doc: number of references to this expression
|
|
-
|
|
name: handle
|
|
type: u64
|
|
byte-order: big-endian
|
|
doc: object handle
|
|
-
|
|
name: pad
|
|
type: pad
|
|
-
|
|
name: userdata
|
|
type: binary
|
|
doc: user data
|
|
-
|
|
name: quota-attrs
|
|
attributes:
|
|
-
|
|
name: bytes
|
|
type: u64
|
|
byte-order: big-endian
|
|
-
|
|
name: flags
|
|
type: u32
|
|
byte-order: big-endian
|
|
enum: quota-flags
|
|
-
|
|
name: pad
|
|
type: pad
|
|
-
|
|
name: consumed
|
|
type: u64
|
|
byte-order: big-endian
|
|
-
|
|
name: flowtable-attrs
|
|
attributes:
|
|
-
|
|
name: table
|
|
type: string
|
|
-
|
|
name: name
|
|
type: string
|
|
-
|
|
name: hook
|
|
type: nest
|
|
nested-attributes: flowtable-hook-attrs
|
|
-
|
|
name: use
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: handle
|
|
type: u64
|
|
byte-order: big-endian
|
|
-
|
|
name: pad
|
|
type: pad
|
|
-
|
|
name: flags
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: flowtable-hook-attrs
|
|
attributes:
|
|
-
|
|
name: num
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: priority
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: devs
|
|
type: nest
|
|
nested-attributes: hook-dev-attrs
|
|
-
|
|
name: expr-bitwise-attrs
|
|
attributes:
|
|
-
|
|
name: sreg
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: dreg
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: len
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: mask
|
|
type: nest
|
|
nested-attributes: data-attrs
|
|
-
|
|
name: xor
|
|
type: nest
|
|
nested-attributes: data-attrs
|
|
-
|
|
name: op
|
|
type: u32
|
|
byte-order: big-endian
|
|
enum: bitwise-ops
|
|
-
|
|
name: data
|
|
type: nest
|
|
nested-attributes: data-attrs
|
|
-
|
|
name: expr-cmp-attrs
|
|
attributes:
|
|
-
|
|
name: sreg
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: op
|
|
type: u32
|
|
byte-order: big-endian
|
|
enum: cmp-ops
|
|
-
|
|
name: data
|
|
type: nest
|
|
nested-attributes: data-attrs
|
|
-
|
|
name: data-attrs
|
|
attributes:
|
|
-
|
|
name: value
|
|
type: binary
|
|
# sub-type: u8
|
|
-
|
|
name: verdict
|
|
type: nest
|
|
nested-attributes: verdict-attrs
|
|
-
|
|
name: verdict-attrs
|
|
attributes:
|
|
-
|
|
name: code
|
|
type: u32
|
|
byte-order: big-endian
|
|
enum: verdict-code
|
|
-
|
|
name: chain
|
|
type: string
|
|
-
|
|
name: chain-id
|
|
type: u32
|
|
-
|
|
name: expr-counter-attrs
|
|
attributes:
|
|
-
|
|
name: bytes
|
|
type: u64
|
|
doc: Number of bytes
|
|
-
|
|
name: packets
|
|
type: u64
|
|
doc: Number of packets
|
|
-
|
|
name: pad
|
|
type: pad
|
|
-
|
|
name: expr-fib-attrs
|
|
attributes:
|
|
-
|
|
name: dreg
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: result
|
|
type: u32
|
|
byte-order: big-endian
|
|
enum: fib-result
|
|
-
|
|
name: flags
|
|
type: u32
|
|
byte-order: big-endian
|
|
enum: fib-flags
|
|
-
|
|
name: expr-ct-attrs
|
|
attributes:
|
|
-
|
|
name: dreg
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: key
|
|
type: u32
|
|
byte-order: big-endian
|
|
enum: ct-keys
|
|
-
|
|
name: direction
|
|
type: u8
|
|
enum: ct-direction
|
|
-
|
|
name: sreg
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: expr-flow-offload-attrs
|
|
attributes:
|
|
-
|
|
name: name
|
|
type: string
|
|
doc: Flow offload table name
|
|
-
|
|
name: expr-immediate-attrs
|
|
attributes:
|
|
-
|
|
name: dreg
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: data
|
|
type: nest
|
|
nested-attributes: data-attrs
|
|
-
|
|
name: expr-lookup-attrs
|
|
attributes:
|
|
-
|
|
name: set
|
|
type: string
|
|
doc: Name of set to use
|
|
-
|
|
name: set id
|
|
type: u32
|
|
byte-order: big-endian
|
|
doc: ID of set to use
|
|
-
|
|
name: sreg
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: dreg
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: flags
|
|
type: u32
|
|
byte-order: big-endian
|
|
enum: lookup-flags
|
|
-
|
|
name: expr-meta-attrs
|
|
attributes:
|
|
-
|
|
name: dreg
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: key
|
|
type: u32
|
|
byte-order: big-endian
|
|
enum: meta-keys
|
|
-
|
|
name: sreg
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: expr-nat-attrs
|
|
attributes:
|
|
-
|
|
name: type
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: family
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: reg-addr-min
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: reg-addr-max
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: reg-proto-min
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: reg-proto-max
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: flags
|
|
type: u32
|
|
byte-order: big-endian
|
|
enum: nat-range-flags
|
|
enum-as-flags: true
|
|
-
|
|
name: expr-payload-attrs
|
|
attributes:
|
|
-
|
|
name: dreg
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: base
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: offset
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: len
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: sreg
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: csum-type
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: csum-offset
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: csum-flags
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: expr-reject-attrs
|
|
attributes:
|
|
-
|
|
name: type
|
|
type: u32
|
|
byte-order: big-endian
|
|
enum: reject-types
|
|
-
|
|
name: icmp-code
|
|
type: u8
|
|
-
|
|
name: expr-target-attrs
|
|
attributes:
|
|
-
|
|
name: name
|
|
type: string
|
|
-
|
|
name: rev
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: info
|
|
type: binary
|
|
-
|
|
name: expr-tproxy-attrs
|
|
attributes:
|
|
-
|
|
name: family
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: reg-addr
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: reg-port
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: expr-objref-attrs
|
|
attributes:
|
|
-
|
|
name: imm-type
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: imm-name
|
|
type: string
|
|
doc: object name
|
|
-
|
|
name: set-sreg
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: set-name
|
|
type: string
|
|
doc: name of object map
|
|
-
|
|
name: set-id
|
|
type: u32
|
|
byte-order: big-endian
|
|
doc: id of object map
|
|
|
|
sub-messages:
|
|
-
|
|
name: expr-ops
|
|
formats:
|
|
-
|
|
value: bitwise
|
|
attribute-set: expr-bitwise-attrs
|
|
-
|
|
value: cmp
|
|
attribute-set: expr-cmp-attrs
|
|
-
|
|
value: counter
|
|
attribute-set: expr-counter-attrs
|
|
-
|
|
value: ct
|
|
attribute-set: expr-ct-attrs
|
|
-
|
|
value: fib
|
|
attribute-set: expr-fib-attrs
|
|
-
|
|
value: flow_offload
|
|
attribute-set: expr-flow-offload-attrs
|
|
-
|
|
value: immediate
|
|
attribute-set: expr-immediate-attrs
|
|
-
|
|
value: lookup
|
|
attribute-set: expr-lookup-attrs
|
|
-
|
|
value: meta
|
|
attribute-set: expr-meta-attrs
|
|
-
|
|
value: nat
|
|
attribute-set: expr-nat-attrs
|
|
-
|
|
value: objref
|
|
attribute-set: expr-objref-attrs
|
|
-
|
|
value: payload
|
|
attribute-set: expr-payload-attrs
|
|
-
|
|
value: quota
|
|
attribute-set: quota-attrs
|
|
-
|
|
value: reject
|
|
attribute-set: expr-reject-attrs
|
|
-
|
|
value: target
|
|
attribute-set: expr-target-attrs
|
|
-
|
|
value: tproxy
|
|
attribute-set: expr-tproxy-attrs
|
|
-
|
|
name: obj-data
|
|
formats:
|
|
-
|
|
value: counter
|
|
attribute-set: counter-attrs
|
|
-
|
|
value: quota
|
|
attribute-set: quota-attrs
|
|
|
|
operations:
|
|
enum-model: directional
|
|
list:
|
|
-
|
|
name: batch-begin
|
|
doc: Start a batch of operations
|
|
attribute-set: batch-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0x10
|
|
attributes:
|
|
- genid
|
|
reply:
|
|
value: 0x10
|
|
attributes:
|
|
- genid
|
|
-
|
|
name: batch-end
|
|
doc: Finish a batch of operations
|
|
attribute-set: batch-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0x11
|
|
attributes:
|
|
- genid
|
|
-
|
|
name: newtable
|
|
doc: Create a new table.
|
|
attribute-set: table-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa00
|
|
attributes:
|
|
- name
|
|
-
|
|
name: gettable
|
|
doc: Get / dump tables.
|
|
attribute-set: table-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa01
|
|
attributes:
|
|
- name
|
|
reply:
|
|
value: 0xa00
|
|
attributes:
|
|
- name
|
|
-
|
|
name: deltable
|
|
doc: Delete an existing table.
|
|
attribute-set: table-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa02
|
|
attributes:
|
|
- name
|
|
-
|
|
name: destroytable
|
|
doc: |
|
|
Delete an existing table with destroy semantics (ignoring ENOENT
|
|
errors).
|
|
attribute-set: table-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa1a
|
|
attributes:
|
|
- name
|
|
-
|
|
name: newchain
|
|
doc: Create a new chain.
|
|
attribute-set: chain-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa03
|
|
attributes:
|
|
- name
|
|
-
|
|
name: getchain
|
|
doc: Get / dump chains.
|
|
attribute-set: chain-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa04
|
|
attributes:
|
|
- name
|
|
reply:
|
|
value: 0xa03
|
|
attributes:
|
|
- name
|
|
-
|
|
name: delchain
|
|
doc: Delete an existing chain.
|
|
attribute-set: chain-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa05
|
|
attributes:
|
|
- name
|
|
-
|
|
name: destroychain
|
|
doc: |
|
|
Delete an existing chain with destroy semantics (ignoring ENOENT
|
|
errors).
|
|
attribute-set: chain-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa1b
|
|
attributes:
|
|
- name
|
|
-
|
|
name: newrule
|
|
doc: Create a new rule.
|
|
attribute-set: rule-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa06
|
|
attributes:
|
|
- name
|
|
-
|
|
name: getrule
|
|
doc: Get / dump rules.
|
|
attribute-set: rule-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa07
|
|
attributes:
|
|
- name
|
|
reply:
|
|
value: 0xa06
|
|
attributes:
|
|
- name
|
|
-
|
|
name: getrule-reset
|
|
doc: Get / dump rules and reset stateful expressions.
|
|
attribute-set: rule-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa19
|
|
attributes:
|
|
- name
|
|
reply:
|
|
value: 0xa06
|
|
attributes:
|
|
- name
|
|
-
|
|
name: delrule
|
|
doc: Delete an existing rule.
|
|
attribute-set: rule-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa08
|
|
attributes:
|
|
- name
|
|
-
|
|
name: destroyrule
|
|
doc: |
|
|
Delete an existing rule with destroy semantics (ignoring ENOENT errors).
|
|
attribute-set: rule-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa1c
|
|
attributes:
|
|
- name
|
|
-
|
|
name: newset
|
|
doc: Create a new set.
|
|
attribute-set: set-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa09
|
|
attributes:
|
|
- name
|
|
-
|
|
name: getset
|
|
doc: Get / dump sets.
|
|
attribute-set: set-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa0a
|
|
attributes:
|
|
- name
|
|
reply:
|
|
value: 0xa09
|
|
attributes:
|
|
- name
|
|
-
|
|
name: delset
|
|
doc: Delete an existing set.
|
|
attribute-set: set-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa0b
|
|
attributes:
|
|
- name
|
|
-
|
|
name: destroyset
|
|
doc: |
|
|
Delete an existing set with destroy semantics (ignoring ENOENT errors).
|
|
attribute-set: set-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa1d
|
|
attributes:
|
|
- name
|
|
-
|
|
name: newsetelem
|
|
doc: Create a new set element.
|
|
attribute-set: setelem-list-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa0c
|
|
attributes:
|
|
- name
|
|
-
|
|
name: getsetelem
|
|
doc: Get / dump set elements.
|
|
attribute-set: setelem-list-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa0d
|
|
attributes:
|
|
- name
|
|
reply:
|
|
value: 0xa0c
|
|
attributes:
|
|
- name
|
|
-
|
|
name: getsetelem-reset
|
|
doc: Get / dump set elements and reset stateful expressions.
|
|
attribute-set: setelem-list-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa21
|
|
attributes:
|
|
- name
|
|
reply:
|
|
value: 0xa0c
|
|
attributes:
|
|
- name
|
|
-
|
|
name: delsetelem
|
|
doc: Delete an existing set element.
|
|
attribute-set: setelem-list-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa0e
|
|
attributes:
|
|
- name
|
|
-
|
|
name: destroysetelem
|
|
doc: Delete an existing set element with destroy semantics.
|
|
attribute-set: setelem-list-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa1e
|
|
attributes:
|
|
- name
|
|
-
|
|
name: getgen
|
|
doc: Get / dump rule-set generation.
|
|
attribute-set: gen-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa10
|
|
attributes:
|
|
- name
|
|
reply:
|
|
value: 0xa0f
|
|
attributes:
|
|
- name
|
|
-
|
|
name: newobj
|
|
doc: Create a new stateful object.
|
|
attribute-set: obj-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa12
|
|
attributes:
|
|
- name
|
|
-
|
|
name: getobj
|
|
doc: Get / dump stateful objects.
|
|
attribute-set: obj-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa13
|
|
attributes:
|
|
- name
|
|
reply:
|
|
value: 0xa12
|
|
attributes:
|
|
- name
|
|
-
|
|
name: delobj
|
|
doc: Delete an existing stateful object.
|
|
attribute-set: obj-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa14
|
|
attributes:
|
|
- name
|
|
-
|
|
name: destroyobj
|
|
doc: Delete an existing stateful object with destroy semantics.
|
|
attribute-set: obj-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa1f
|
|
attributes:
|
|
- name
|
|
-
|
|
name: newflowtable
|
|
doc: Create a new flow table.
|
|
attribute-set: flowtable-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa16
|
|
attributes:
|
|
- name
|
|
-
|
|
name: getflowtable
|
|
doc: Get / dump flow tables.
|
|
attribute-set: flowtable-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa17
|
|
attributes:
|
|
- name
|
|
reply:
|
|
value: 0xa16
|
|
attributes:
|
|
- name
|
|
-
|
|
name: delflowtable
|
|
doc: Delete an existing flow table.
|
|
attribute-set: flowtable-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa18
|
|
attributes:
|
|
- name
|
|
-
|
|
name: destroyflowtable
|
|
doc: Delete an existing flow table with destroy semantics.
|
|
attribute-set: flowtable-attrs
|
|
fixed-header: nfgenmsg
|
|
do:
|
|
request:
|
|
value: 0xa20
|
|
attributes:
|
|
- name
|
|
|
|
mcast-groups:
|
|
list:
|
|
-
|
|
name: mgmt
|