| # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) |
| |
| name: rt-rule |
| protocol: netlink-raw |
| 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 |
| 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 |
| attributes: |
| - |
| name: dst |
| type: u32 |
| - |
| name: src |
| type: u32 |
| - |
| 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 |
| |
| operations: |
| enum-model: directional |
| fixed-header: fib-rule-hdr |
| 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 |
| - |
| name: newrule-ntf |
| doc: Notify a rule creation |
| value: 32 |
| notify: newrule |
| - |
| 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: delrule |
| - |
| 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 |