Files
linux/Documentation/netlink/specs/rt-rule.yaml
Matthieu Baerts (NGI0) 12e74931ee netlink: specs: explicitly declare block scalar strings
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>
2025-09-15 18:27:19 -07:00

274 lines
4.8 KiB
YAML

# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
---
name: rt-rule
protocol: netlink-raw
uapi-header: linux/fib_rules.h
protonum: 0
doc: >-
FIB rule management over rtnetlink.
definitions:
-
name: rtgenmsg
type: struct
members:
-
name: family
type: u8
-
name: pad
type: pad
len: 3
-
name: fib-rule-hdr
type: struct
members:
-
name: family
type: u8
-
name: dst-len
type: u8
-
name: src-len
type: u8
-
name: tos
type: u8
-
name: table
type: u8
-
name: res1
type: pad
len: 1
-
name: res2
type: pad
len: 1
-
name: action
type: u8
enum: fr-act
-
name: flags
type: u32
-
name: fr-act
type: enum
enum-name:
entries:
- unspec
- to-tbl
- goto
- nop
- res3
- res4
- blackhole
- unreachable
- prohibit
-
name: fib-rule-port-range
type: struct
members:
-
name: start
type: u16
-
name: end
type: u16
-
name: fib-rule-uid-range
type: struct
members:
-
name: start
type: u32
-
name: end
type: u32
attribute-sets:
-
name: fib-rule-attrs
name-prefix: fra-
attributes:
-
name: dst
type: u32
-
name: src
type: u32
-
name: iifname
type: string
-
name: goto
type: u32
-
name: unused2
type: pad
-
name: priority
type: u32
-
name: unused3
type: pad
-
name: unused4
type: pad
-
name: unused5
type: pad
-
name: fwmark
type: u32
display-hint: hex
-
name: flow
type: u32
-
name: tun-id
type: u64
-
name: suppress-ifgroup
type: u32
-
name: suppress-prefixlen
type: u32
display-hint: hex
-
name: table
type: u32
-
name: fwmask
type: u32
display-hint: hex
-
name: oifname
type: string
-
name: pad
type: pad
-
name: l3mdev
type: u8
-
name: uid-range
type: binary
struct: fib-rule-uid-range
-
name: protocol
type: u8
-
name: ip-proto
type: u8
-
name: sport-range
type: binary
struct: fib-rule-port-range
-
name: dport-range
type: binary
struct: fib-rule-port-range
-
name: dscp
type: u8
-
name: flowlabel
type: u32
byte-order: big-endian
display-hint: hex
-
name: flowlabel-mask
type: u32
byte-order: big-endian
display-hint: hex
-
name: sport-mask
type: u16
display-hint: hex
-
name: dport-mask
type: u16
display-hint: hex
-
name: dscp-mask
type: u8
display-hint: hex
operations:
enum-model: directional
fixed-header: fib-rule-hdr
name-prefix: rtm-
list:
-
name: newrule
doc: Add new FIB rule
attribute-set: fib-rule-attrs
do:
request:
value: 32
attributes: &fib-rule-all
- iifname
- oifname
- priority
- fwmark
- flow
- tun-id
- fwmask
- table
- suppress-prefixlen
- suppress-ifgroup
- goto
- l3mdev
- uid-range
- protocol
- ip-proto
- sport-range
- dport-range
- dscp
- flowlabel
- flowlabel-mask
- sport-mask
- dport-mask
- dscp-mask
-
name: newrule-ntf
doc: Notify a rule creation
value: 32
notify: getrule
-
name: delrule
doc: Remove an existing FIB rule
attribute-set: fib-rule-attrs
do:
request:
value: 33
attributes: *fib-rule-all
-
name: delrule-ntf
doc: Notify a rule deletion
value: 33
notify: getrule
-
name: getrule
doc: Dump all FIB rules
attribute-set: fib-rule-attrs
dump:
request:
value: 34
reply:
value: 32
attributes: *fib-rule-all
mcast-groups:
list:
-
name: rtnlgrp-ipv4-rule
value: 8
-
name: rtnlgrp-ipv6-rule
value: 19