328 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			328 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
# 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
 |