mirror of
https://github.com/torvalds/linux.git
synced 2024-11-21 19:41:42 +00:00
netlink: specs: Add a spec for FIB rule management
Add a YNL spec for FIB rules: ./tools/net/ynl/cli.py \ --spec Documentation/netlink/specs/rt_rule.yaml \ --dump getrule --json '{"family": 2}' [{'action': 'to-tbl', 'dst-len': 0, 'family': 2, 'flags': 0, 'protocol': 2, 'src-len': 0, 'suppress-prefixlen': '0xffffffff', 'table': 255, 'tos': 0}, ... ] Acked-by: Stanislav Fomichev <sdf@fomichev.me> Reviewed-by: Ido Schimmel <idosch@nvidia.com> Signed-off-by: Donald Hunter <donald.hunter@gmail.com> Link: https://patch.msgid.link/20241106090718.64713-3-donald.hunter@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
bc515ed066
commit
a852e3c356
242
Documentation/netlink/specs/rt_rule.yaml
Normal file
242
Documentation/netlink/specs/rt_rule.yaml
Normal file
@ -0,0 +1,242 @@
|
||||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||
|
||||
name: rt-rule
|
||||
protocol: netlink-raw
|
||||
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
|
||||
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
|
||||
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
|
||||
|
||||
operations:
|
||||
enum-model: directional
|
||||
fixed-header: fib-rule-hdr
|
||||
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
|
||||
-
|
||||
name: newrule-ntf
|
||||
doc: Notify a rule creation
|
||||
value: 32
|
||||
notify: newrule
|
||||
-
|
||||
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: delrule
|
||||
-
|
||||
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
|
Loading…
Reference in New Issue
Block a user