mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
Since commit 1b255e1bea ("tools: ynl: add ipv4-or-v6 display hint"), we
can display either IPv4 or IPv6 addresses for a single field based on the
address family. However, most dual-stack fields still use the ipv4 display
hint. This update changes them to use the new ipv4-or-v6 display hint and
converts IPv4-only fields to use the u32 type.
Field changes:
- v4-or-v6
- IFA_ADDRESS, IFA_LOCAL
- IFLA_GRE_LOCAL, IFLA_GRE_REMOTE
- IFLA_VTI_LOCAL, IFLA_VTI_REMOTE
- IFLA_IPTUN_LOCAL, IFLA_IPTUN_REMOTE
- NDA_DST
- RTA_DST, RTA_SRC, RTA_GATEWAY, RTA_PREFSRC
- FRA_SRC, FRA_DST
- ipv4
- IFA_BROADCAST
- IFLA_GENEVE_REMOTE
- IFLA_IPTUN_6RD_RELAY_PREFIX
Reviewed-by: Asbjørn Sloth Tønnesen <ast@fiberby.net>
Reviewed-by: Donald Hunter <donald.hunter@gmail.com>
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Link: https://patch.msgid.link/20251117024457.3034-3-liuhangbin@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
276 lines
4.8 KiB
YAML
276 lines
4.8 KiB
YAML
# 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
|