Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2---
3name: rt-rule
4protocol: netlink-raw
5uapi-header: linux/fib_rules.h
6protonum: 0
7
8doc: >-
9 FIB rule management over rtnetlink.
10
11definitions:
12 -
13 name: rtgenmsg
14 type: struct
15 members:
16 -
17 name: family
18 type: u8
19 -
20 name: pad
21 type: pad
22 len: 3
23 -
24 name: fib-rule-hdr
25 type: struct
26 members:
27 -
28 name: family
29 type: u8
30 -
31 name: dst-len
32 type: u8
33 -
34 name: src-len
35 type: u8
36 -
37 name: tos
38 type: u8
39 -
40 name: table
41 type: u8
42 -
43 name: res1
44 type: pad
45 len: 1
46 -
47 name: res2
48 type: pad
49 len: 1
50 -
51 name: action
52 type: u8
53 enum: fr-act
54 -
55 name: flags
56 type: u32
57 -
58 name: fr-act
59 type: enum
60 enum-name:
61 entries:
62 - unspec
63 - to-tbl
64 - goto
65 - nop
66 - res3
67 - res4
68 - blackhole
69 - unreachable
70 - prohibit
71 -
72 name: fib-rule-port-range
73 type: struct
74 members:
75 -
76 name: start
77 type: u16
78 -
79 name: end
80 type: u16
81 -
82 name: fib-rule-uid-range
83 type: struct
84 members:
85 -
86 name: start
87 type: u32
88 -
89 name: end
90 type: u32
91
92attribute-sets:
93 -
94 name: fib-rule-attrs
95 name-prefix: fra-
96 attributes:
97 -
98 name: dst
99 type: u32
100 -
101 name: src
102 type: u32
103 -
104 name: iifname
105 type: string
106 -
107 name: goto
108 type: u32
109 -
110 name: unused2
111 type: pad
112 -
113 name: priority
114 type: u32
115 -
116 name: unused3
117 type: pad
118 -
119 name: unused4
120 type: pad
121 -
122 name: unused5
123 type: pad
124 -
125 name: fwmark
126 type: u32
127 display-hint: hex
128 -
129 name: flow
130 type: u32
131 -
132 name: tun-id
133 type: u64
134 -
135 name: suppress-ifgroup
136 type: u32
137 -
138 name: suppress-prefixlen
139 type: u32
140 display-hint: hex
141 -
142 name: table
143 type: u32
144 -
145 name: fwmask
146 type: u32
147 display-hint: hex
148 -
149 name: oifname
150 type: string
151 -
152 name: pad
153 type: pad
154 -
155 name: l3mdev
156 type: u8
157 -
158 name: uid-range
159 type: binary
160 struct: fib-rule-uid-range
161 -
162 name: protocol
163 type: u8
164 -
165 name: ip-proto
166 type: u8
167 -
168 name: sport-range
169 type: binary
170 struct: fib-rule-port-range
171 -
172 name: dport-range
173 type: binary
174 struct: fib-rule-port-range
175 -
176 name: dscp
177 type: u8
178 -
179 name: flowlabel
180 type: u32
181 byte-order: big-endian
182 display-hint: hex
183 -
184 name: flowlabel-mask
185 type: u32
186 byte-order: big-endian
187 display-hint: hex
188 -
189 name: sport-mask
190 type: u16
191 display-hint: hex
192 -
193 name: dport-mask
194 type: u16
195 display-hint: hex
196 -
197 name: dscp-mask
198 type: u8
199 display-hint: hex
200
201operations:
202 enum-model: directional
203 fixed-header: fib-rule-hdr
204 name-prefix: rtm-
205 list:
206 -
207 name: newrule
208 doc: Add new FIB rule
209 attribute-set: fib-rule-attrs
210 do:
211 request:
212 value: 32
213 attributes: &fib-rule-all
214 - iifname
215 - oifname
216 - priority
217 - fwmark
218 - flow
219 - tun-id
220 - fwmask
221 - table
222 - suppress-prefixlen
223 - suppress-ifgroup
224 - goto
225 - l3mdev
226 - uid-range
227 - protocol
228 - ip-proto
229 - sport-range
230 - dport-range
231 - dscp
232 - flowlabel
233 - flowlabel-mask
234 - sport-mask
235 - dport-mask
236 - dscp-mask
237 -
238 name: newrule-ntf
239 doc: Notify a rule creation
240 value: 32
241 notify: getrule
242 -
243 name: delrule
244 doc: Remove an existing FIB rule
245 attribute-set: fib-rule-attrs
246 do:
247 request:
248 value: 33
249 attributes: *fib-rule-all
250 -
251 name: delrule-ntf
252 doc: Notify a rule deletion
253 value: 33
254 notify: getrule
255 -
256 name: getrule
257 doc: Dump all FIB rules
258 attribute-set: fib-rule-attrs
259 dump:
260 request:
261 value: 34
262 reply:
263 value: 32
264 attributes: *fib-rule-all
265
266mcast-groups:
267 list:
268 -
269 name: rtnlgrp-ipv4-rule
270 value: 8
271 -
272 name: rtnlgrp-ipv6-rule
273 value: 19