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