| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275 |
- # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
- ---
- name: rt-rule
- protocol: netlink-raw
- uapi-header: linux/fib_rules.h
- 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
- enum-name:
- 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
- name-prefix: fra-
- attributes:
- -
- name: dst
- type: binary
- display-hint: ipv4-or-v6
- -
- name: src
- type: binary
- display-hint: ipv4-or-v6
- -
- 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
- -
- name: flowlabel
- type: u32
- byte-order: big-endian
- display-hint: hex
- -
- name: flowlabel-mask
- type: u32
- byte-order: big-endian
- display-hint: hex
- -
- name: sport-mask
- type: u16
- display-hint: hex
- -
- name: dport-mask
- type: u16
- display-hint: hex
- -
- name: dscp-mask
- type: u8
- display-hint: hex
- operations:
- enum-model: directional
- fixed-header: fib-rule-hdr
- name-prefix: rtm-
- 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
- - flowlabel
- - flowlabel-mask
- - sport-mask
- - dport-mask
- - dscp-mask
- -
- name: newrule-ntf
- doc: Notify a rule creation
- value: 32
- notify: getrule
- -
- 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: getrule
- -
- 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
|