mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-30 21:52:21 +00:00
doc/netlink: Add spec for rt route messages
Add schema for rt route with support for getroute, newroute and delroute. Routes can be dumped with filter attributes like this: ./tools/net/ynl/cli.py \ --spec Documentation/netlink/specs/rt_route.yaml \ --dump getroute --json '{"rtm-family": 2, "rtm-table": 254}' Signed-off-by: Donald Hunter <donald.hunter@gmail.com> Reviewed-by: Jacob Keller <jacob.e.keller@intel.com> Link: https://lore.kernel.org/r/20230825122756.7603-13-donald.hunter@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
b2f63d904e
commit
023289b4f5
327
Documentation/netlink/specs/rt_route.yaml
Normal file
327
Documentation/netlink/specs/rt_route.yaml
Normal file
@ -0,0 +1,327 @@
|
|||||||
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||||
|
|
||||||
|
name: rt-route
|
||||||
|
protocol: netlink-raw
|
||||||
|
protonum: 0
|
||||||
|
|
||||||
|
doc:
|
||||||
|
Route configuration over rtnetlink.
|
||||||
|
|
||||||
|
definitions:
|
||||||
|
-
|
||||||
|
name: rtm-type
|
||||||
|
name-prefix: rtn-
|
||||||
|
type: enum
|
||||||
|
entries:
|
||||||
|
- unspec
|
||||||
|
- unicast
|
||||||
|
- local
|
||||||
|
- broadcast
|
||||||
|
- anycast
|
||||||
|
- multicast
|
||||||
|
- blackhole
|
||||||
|
- unreachable
|
||||||
|
- prohibit
|
||||||
|
- throw
|
||||||
|
- nat
|
||||||
|
- xresolve
|
||||||
|
-
|
||||||
|
name: rtmsg
|
||||||
|
type: struct
|
||||||
|
members:
|
||||||
|
-
|
||||||
|
name: rtm-family
|
||||||
|
type: u8
|
||||||
|
-
|
||||||
|
name: rtm-dst-len
|
||||||
|
type: u8
|
||||||
|
-
|
||||||
|
name: rtm-src-len
|
||||||
|
type: u8
|
||||||
|
-
|
||||||
|
name: rtm-tos
|
||||||
|
type: u8
|
||||||
|
-
|
||||||
|
name: rtm-table
|
||||||
|
type: u8
|
||||||
|
-
|
||||||
|
name: rtm-protocol
|
||||||
|
type: u8
|
||||||
|
-
|
||||||
|
name: rtm-scope
|
||||||
|
type: u8
|
||||||
|
-
|
||||||
|
name: rtm-type
|
||||||
|
type: u8
|
||||||
|
enum: rtm-type
|
||||||
|
-
|
||||||
|
name: rtm-flags
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rta-cacheinfo
|
||||||
|
type: struct
|
||||||
|
members:
|
||||||
|
-
|
||||||
|
name: rta-clntref
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rta-lastuse
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rta-expires
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rta-error
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rta-used
|
||||||
|
type: u32
|
||||||
|
|
||||||
|
attribute-sets:
|
||||||
|
-
|
||||||
|
name: route-attrs
|
||||||
|
attributes:
|
||||||
|
-
|
||||||
|
name: rta-dst
|
||||||
|
type: binary
|
||||||
|
display-hint: ipv4
|
||||||
|
-
|
||||||
|
name: rta-src
|
||||||
|
type: binary
|
||||||
|
display-hint: ipv4
|
||||||
|
-
|
||||||
|
name: rta-iif
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rta-oif
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rta-gateway
|
||||||
|
type: binary
|
||||||
|
display-hint: ipv4
|
||||||
|
-
|
||||||
|
name: rta-priority
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rta-prefsrc
|
||||||
|
type: binary
|
||||||
|
display-hint: ipv4
|
||||||
|
-
|
||||||
|
name: rta-metrics
|
||||||
|
type: nest
|
||||||
|
nested-attributes: rta-metrics
|
||||||
|
-
|
||||||
|
name: rta-multipath
|
||||||
|
type: binary
|
||||||
|
-
|
||||||
|
name: rta-protoinfo # not used
|
||||||
|
type: binary
|
||||||
|
-
|
||||||
|
name: rta-flow
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rta-cacheinfo
|
||||||
|
type: binary
|
||||||
|
struct: rta-cacheinfo
|
||||||
|
-
|
||||||
|
name: rta-session # not used
|
||||||
|
type: binary
|
||||||
|
-
|
||||||
|
name: rta-mp-algo # not used
|
||||||
|
type: binary
|
||||||
|
-
|
||||||
|
name: rta-table
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rta-mark
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rta-mfc-stats
|
||||||
|
type: binary
|
||||||
|
-
|
||||||
|
name: rta-via
|
||||||
|
type: binary
|
||||||
|
-
|
||||||
|
name: rta-newdst
|
||||||
|
type: binary
|
||||||
|
-
|
||||||
|
name: rta-pref
|
||||||
|
type: u8
|
||||||
|
-
|
||||||
|
name: rta-encap-type
|
||||||
|
type: u16
|
||||||
|
-
|
||||||
|
name: rta-encap
|
||||||
|
type: binary # tunnel specific nest
|
||||||
|
-
|
||||||
|
name: rta-expires
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rta-pad
|
||||||
|
type: binary
|
||||||
|
-
|
||||||
|
name: rta-uid
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rta-ttl-propagate
|
||||||
|
type: u8
|
||||||
|
-
|
||||||
|
name: rta-ip-proto
|
||||||
|
type: u8
|
||||||
|
-
|
||||||
|
name: rta-sport
|
||||||
|
type: u16
|
||||||
|
-
|
||||||
|
name: rta-dport
|
||||||
|
type: u16
|
||||||
|
-
|
||||||
|
name: rta-nh-id
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rta-metrics
|
||||||
|
attributes:
|
||||||
|
-
|
||||||
|
name: rtax-unspec
|
||||||
|
type: unused
|
||||||
|
value: 0
|
||||||
|
-
|
||||||
|
name: rtax-lock
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rtax-mtu
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rtax-window
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rtax-rtt
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rtax-rttvar
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rtax-ssthresh
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rtax-cwnd
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rtax-advmss
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rtax-reordering
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rtax-hoplimit
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rtax-initcwnd
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rtax-features
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rtax-rto-min
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rtax-initrwnd
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rtax-quickack
|
||||||
|
type: u32
|
||||||
|
-
|
||||||
|
name: rtax-cc-algo
|
||||||
|
type: string
|
||||||
|
-
|
||||||
|
name: rtax-fastopen-no-cookie
|
||||||
|
type: u32
|
||||||
|
|
||||||
|
operations:
|
||||||
|
enum-model: directional
|
||||||
|
list:
|
||||||
|
-
|
||||||
|
name: getroute
|
||||||
|
doc: Dump route information.
|
||||||
|
attribute-set: route-attrs
|
||||||
|
fixed-header: rtmsg
|
||||||
|
do:
|
||||||
|
request:
|
||||||
|
value: 26
|
||||||
|
attributes:
|
||||||
|
- rtm-family
|
||||||
|
- rta-src
|
||||||
|
- rtm-src-len
|
||||||
|
- rta-dst
|
||||||
|
- rtm-dst-len
|
||||||
|
- rta-iif
|
||||||
|
- rta-oif
|
||||||
|
- rta-ip-proto
|
||||||
|
- rta-sport
|
||||||
|
- rta-dport
|
||||||
|
- rta-mark
|
||||||
|
- rta-uid
|
||||||
|
reply:
|
||||||
|
value: 24
|
||||||
|
attributes: &all-route-attrs
|
||||||
|
- rtm-family
|
||||||
|
- rtm-dst-len
|
||||||
|
- rtm-src-len
|
||||||
|
- rtm-tos
|
||||||
|
- rtm-table
|
||||||
|
- rtm-protocol
|
||||||
|
- rtm-scope
|
||||||
|
- rtm-type
|
||||||
|
- rtm-flags
|
||||||
|
- rta-dst
|
||||||
|
- rta-src
|
||||||
|
- rta-iif
|
||||||
|
- rta-oif
|
||||||
|
- rta-gateway
|
||||||
|
- rta-priority
|
||||||
|
- rta-prefsrc
|
||||||
|
- rta-metrics
|
||||||
|
- rta-multipath
|
||||||
|
- rta-flow
|
||||||
|
- rta-cacheinfo
|
||||||
|
- rta-table
|
||||||
|
- rta-mark
|
||||||
|
- rta-mfc-stats
|
||||||
|
- rta-via
|
||||||
|
- rta-newdst
|
||||||
|
- rta-pref
|
||||||
|
- rta-encap-type
|
||||||
|
- rta-encap
|
||||||
|
- rta-expires
|
||||||
|
- rta-pad
|
||||||
|
- rta-uid
|
||||||
|
- rta-ttl-propagate
|
||||||
|
- rta-ip-proto
|
||||||
|
- rta-sport
|
||||||
|
- rta-dport
|
||||||
|
- rta-nh-id
|
||||||
|
dump:
|
||||||
|
request:
|
||||||
|
value: 26
|
||||||
|
attributes:
|
||||||
|
- rtm-family
|
||||||
|
reply:
|
||||||
|
value: 24
|
||||||
|
attributes: *all-route-attrs
|
||||||
|
-
|
||||||
|
name: newroute
|
||||||
|
doc: Create a new route
|
||||||
|
attribute-set: route-attrs
|
||||||
|
fixed-header: rtmsg
|
||||||
|
do:
|
||||||
|
request:
|
||||||
|
value: 24
|
||||||
|
attributes: *all-route-attrs
|
||||||
|
-
|
||||||
|
name: delroute
|
||||||
|
doc: Delete an existing route
|
||||||
|
attribute-set: route-attrs
|
||||||
|
fixed-header: rtmsg
|
||||||
|
do:
|
||||||
|
request:
|
||||||
|
value: 25
|
||||||
|
attributes: *all-route-attrs
|
Loading…
Reference in New Issue
Block a user