# 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