| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324 |
- # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
- ---
- name: rt-route
- protocol: netlink-raw
- uapi-header: linux/rtnetlink.h
- protonum: 0
- doc: >-
- Route configuration over rtnetlink.
- definitions:
- -
- name: rtm-type
- name-prefix: rtn-
- enum-name:
- 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
- name-prefix: rta-
- attributes:
- -
- name: dst
- type: binary
- display-hint: ipv4-or-v6
- -
- name: src
- type: binary
- display-hint: ipv4-or-v6
- -
- name: iif
- type: u32
- -
- name: oif
- type: u32
- -
- name: gateway
- type: binary
- display-hint: ipv4-or-v6
- -
- name: priority
- type: u32
- -
- name: prefsrc
- type: binary
- display-hint: ipv4-or-v6
- -
- name: metrics
- type: nest
- nested-attributes: metrics
- -
- name: multipath
- type: binary
- -
- name: protoinfo # not used
- type: binary
- -
- name: flow
- type: u32
- -
- name: cacheinfo
- type: binary
- struct: rta-cacheinfo
- -
- name: session # not used
- type: binary
- -
- name: mp-algo # not used
- type: binary
- -
- name: table
- type: u32
- -
- name: mark
- type: u32
- -
- name: mfc-stats
- type: binary
- -
- name: via
- type: binary
- -
- name: newdst
- type: binary
- -
- name: pref
- type: u8
- -
- name: encap-type
- type: u16
- -
- name: encap
- type: binary # tunnel specific nest
- -
- name: expires
- type: u32
- -
- name: pad
- type: binary
- -
- name: uid
- type: u32
- -
- name: ttl-propagate
- type: u8
- -
- name: ip-proto
- type: u8
- -
- name: sport
- type: u16
- -
- name: dport
- type: u16
- -
- name: nh-id
- type: u32
- -
- name: flowlabel
- type: u32
- byte-order: big-endian
- display-hint: hex
- -
- name: metrics
- name-prefix: rtax-
- attributes:
- -
- name: unspec
- type: unused
- value: 0
- -
- name: lock
- type: u32
- -
- name: mtu
- type: u32
- -
- name: window
- type: u32
- -
- name: rtt
- type: u32
- -
- name: rttvar
- type: u32
- -
- name: ssthresh
- type: u32
- -
- name: cwnd
- type: u32
- -
- name: advmss
- type: u32
- -
- name: reordering
- type: u32
- -
- name: hoplimit
- type: u32
- -
- name: initcwnd
- type: u32
- -
- name: features
- type: u32
- -
- name: rto-min
- type: u32
- -
- name: initrwnd
- type: u32
- -
- name: quickack
- type: u32
- -
- name: cc-algo
- type: string
- -
- name: fastopen-no-cookie
- type: u32
- operations:
- enum-model: directional
- fixed-header: rtmsg
- name-prefix: rtm-
- list:
- -
- name: getroute
- doc: Dump route information.
- attribute-set: route-attrs
- do:
- request:
- value: 26
- attributes:
- - src
- - dst
- - iif
- - oif
- - ip-proto
- - sport
- - dport
- - mark
- - uid
- - flowlabel
- reply:
- value: 24
- attributes: &all-route-attrs
- - dst
- - src
- - iif
- - oif
- - gateway
- - priority
- - prefsrc
- - metrics
- - multipath
- - flow
- - cacheinfo
- - table
- - mark
- - mfc-stats
- - via
- - newdst
- - pref
- - encap-type
- - encap
- - expires
- - pad
- - uid
- - ttl-propagate
- - ip-proto
- - sport
- - dport
- - nh-id
- - flowlabel
- dump:
- request:
- value: 26
- attributes: []
- reply:
- value: 24
- attributes: *all-route-attrs
- -
- name: newroute
- doc: Create a new route
- attribute-set: route-attrs
- do:
- request:
- value: 24
- attributes: *all-route-attrs
- -
- name: delroute
- doc: Delete an existing route
- attribute-set: route-attrs
- do:
- request:
- value: 25
- attributes: *all-route-attrs
|