xref: /linux/Documentation/netlink/specs/rt_neigh.yaml (revision 25768de50b1f2dbb6ea44bd5148a87fe2c9c3688)
1*bc515ed0SDonald Hunter# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2*bc515ed0SDonald Hunter
3*bc515ed0SDonald Huntername: rt-neigh
4*bc515ed0SDonald Hunterprotocol: netlink-raw
5*bc515ed0SDonald Hunterprotonum: 0
6*bc515ed0SDonald Hunter
7*bc515ed0SDonald Hunterdoc:
8*bc515ed0SDonald Hunter  IP neighbour management over rtnetlink.
9*bc515ed0SDonald Hunter
10*bc515ed0SDonald Hunterdefinitions:
11*bc515ed0SDonald Hunter  -
12*bc515ed0SDonald Hunter    name: ndmsg
13*bc515ed0SDonald Hunter    type: struct
14*bc515ed0SDonald Hunter    members:
15*bc515ed0SDonald Hunter      -
16*bc515ed0SDonald Hunter        name: family
17*bc515ed0SDonald Hunter        type: u8
18*bc515ed0SDonald Hunter      -
19*bc515ed0SDonald Hunter        name: pad
20*bc515ed0SDonald Hunter        type: pad
21*bc515ed0SDonald Hunter        len: 3
22*bc515ed0SDonald Hunter      -
23*bc515ed0SDonald Hunter        name: ifindex
24*bc515ed0SDonald Hunter        type: s32
25*bc515ed0SDonald Hunter      -
26*bc515ed0SDonald Hunter        name: state
27*bc515ed0SDonald Hunter        type: u16
28*bc515ed0SDonald Hunter        enum: nud-state
29*bc515ed0SDonald Hunter      -
30*bc515ed0SDonald Hunter        name: flags
31*bc515ed0SDonald Hunter        type: u8
32*bc515ed0SDonald Hunter        enum: ntf-flags
33*bc515ed0SDonald Hunter      -
34*bc515ed0SDonald Hunter        name: type
35*bc515ed0SDonald Hunter        type: u8
36*bc515ed0SDonald Hunter        enum: rtm-type
37*bc515ed0SDonald Hunter  -
38*bc515ed0SDonald Hunter    name: ndtmsg
39*bc515ed0SDonald Hunter    type: struct
40*bc515ed0SDonald Hunter    members:
41*bc515ed0SDonald Hunter      -
42*bc515ed0SDonald Hunter        name: family
43*bc515ed0SDonald Hunter        type: u8
44*bc515ed0SDonald Hunter      -
45*bc515ed0SDonald Hunter        name: pad
46*bc515ed0SDonald Hunter        type: pad
47*bc515ed0SDonald Hunter        len: 3
48*bc515ed0SDonald Hunter  -
49*bc515ed0SDonald Hunter    name: nud-state
50*bc515ed0SDonald Hunter    type: flags
51*bc515ed0SDonald Hunter    entries:
52*bc515ed0SDonald Hunter      - incomplete
53*bc515ed0SDonald Hunter      - reachable
54*bc515ed0SDonald Hunter      - stale
55*bc515ed0SDonald Hunter      - delay
56*bc515ed0SDonald Hunter      - probe
57*bc515ed0SDonald Hunter      - failed
58*bc515ed0SDonald Hunter      - noarp
59*bc515ed0SDonald Hunter      - permanent
60*bc515ed0SDonald Hunter  -
61*bc515ed0SDonald Hunter    name: ntf-flags
62*bc515ed0SDonald Hunter    type: flags
63*bc515ed0SDonald Hunter    entries:
64*bc515ed0SDonald Hunter      - use
65*bc515ed0SDonald Hunter      - self
66*bc515ed0SDonald Hunter      - master
67*bc515ed0SDonald Hunter      - proxy
68*bc515ed0SDonald Hunter      - ext-learned
69*bc515ed0SDonald Hunter      - offloaded
70*bc515ed0SDonald Hunter      - sticky
71*bc515ed0SDonald Hunter      - router
72*bc515ed0SDonald Hunter  -
73*bc515ed0SDonald Hunter    name: ntf-ext-flags
74*bc515ed0SDonald Hunter    type: flags
75*bc515ed0SDonald Hunter    entries:
76*bc515ed0SDonald Hunter      - managed
77*bc515ed0SDonald Hunter      - locked
78*bc515ed0SDonald Hunter  -
79*bc515ed0SDonald Hunter    name: rtm-type
80*bc515ed0SDonald Hunter    type: enum
81*bc515ed0SDonald Hunter    entries:
82*bc515ed0SDonald Hunter      - unspec
83*bc515ed0SDonald Hunter      - unicast
84*bc515ed0SDonald Hunter      - local
85*bc515ed0SDonald Hunter      - broadcast
86*bc515ed0SDonald Hunter      - anycast
87*bc515ed0SDonald Hunter      - multicast
88*bc515ed0SDonald Hunter      - blackhole
89*bc515ed0SDonald Hunter      - unreachable
90*bc515ed0SDonald Hunter      - prohibit
91*bc515ed0SDonald Hunter      - throw
92*bc515ed0SDonald Hunter      - nat
93*bc515ed0SDonald Hunter      - xresolve
94*bc515ed0SDonald Hunter  -
95*bc515ed0SDonald Hunter    name: nda-cacheinfo
96*bc515ed0SDonald Hunter    type: struct
97*bc515ed0SDonald Hunter    members:
98*bc515ed0SDonald Hunter      -
99*bc515ed0SDonald Hunter        name: confirmed
100*bc515ed0SDonald Hunter        type: u32
101*bc515ed0SDonald Hunter      -
102*bc515ed0SDonald Hunter        name: used
103*bc515ed0SDonald Hunter        type: u32
104*bc515ed0SDonald Hunter      -
105*bc515ed0SDonald Hunter        name: updated
106*bc515ed0SDonald Hunter        type: u32
107*bc515ed0SDonald Hunter      -
108*bc515ed0SDonald Hunter        name: refcnt
109*bc515ed0SDonald Hunter        type: u32
110*bc515ed0SDonald Hunter  -
111*bc515ed0SDonald Hunter    name: ndt-config
112*bc515ed0SDonald Hunter    type: struct
113*bc515ed0SDonald Hunter    members:
114*bc515ed0SDonald Hunter      -
115*bc515ed0SDonald Hunter        name: key-len
116*bc515ed0SDonald Hunter        type: u16
117*bc515ed0SDonald Hunter      -
118*bc515ed0SDonald Hunter        name: entry-size
119*bc515ed0SDonald Hunter        type: u16
120*bc515ed0SDonald Hunter      -
121*bc515ed0SDonald Hunter        name: entries
122*bc515ed0SDonald Hunter        type: u32
123*bc515ed0SDonald Hunter      -
124*bc515ed0SDonald Hunter        name: last-flush
125*bc515ed0SDonald Hunter        type: u32
126*bc515ed0SDonald Hunter      -
127*bc515ed0SDonald Hunter        name: last-rand
128*bc515ed0SDonald Hunter        type: u32
129*bc515ed0SDonald Hunter      -
130*bc515ed0SDonald Hunter        name: hash-rnd
131*bc515ed0SDonald Hunter        type: u32
132*bc515ed0SDonald Hunter      -
133*bc515ed0SDonald Hunter        name: hash-mask
134*bc515ed0SDonald Hunter        type: u32
135*bc515ed0SDonald Hunter      -
136*bc515ed0SDonald Hunter        name: hash-chain-gc
137*bc515ed0SDonald Hunter        type: u32
138*bc515ed0SDonald Hunter      -
139*bc515ed0SDonald Hunter        name: proxy-qlen
140*bc515ed0SDonald Hunter        type: u32
141*bc515ed0SDonald Hunter  -
142*bc515ed0SDonald Hunter    name: ndt-stats
143*bc515ed0SDonald Hunter    type: struct
144*bc515ed0SDonald Hunter    members:
145*bc515ed0SDonald Hunter      -
146*bc515ed0SDonald Hunter        name: allocs
147*bc515ed0SDonald Hunter        type: u64
148*bc515ed0SDonald Hunter      -
149*bc515ed0SDonald Hunter        name: destroys
150*bc515ed0SDonald Hunter        type: u64
151*bc515ed0SDonald Hunter      -
152*bc515ed0SDonald Hunter        name: hash-grows
153*bc515ed0SDonald Hunter        type: u64
154*bc515ed0SDonald Hunter      -
155*bc515ed0SDonald Hunter        name: res-failed
156*bc515ed0SDonald Hunter        type: u64
157*bc515ed0SDonald Hunter      -
158*bc515ed0SDonald Hunter        name: lookups
159*bc515ed0SDonald Hunter        type: u64
160*bc515ed0SDonald Hunter      -
161*bc515ed0SDonald Hunter        name: hits
162*bc515ed0SDonald Hunter        type: u64
163*bc515ed0SDonald Hunter      -
164*bc515ed0SDonald Hunter        name: rcv-probes-mcast
165*bc515ed0SDonald Hunter        type: u64
166*bc515ed0SDonald Hunter      -
167*bc515ed0SDonald Hunter        name: rcv-probes-ucast
168*bc515ed0SDonald Hunter        type: u64
169*bc515ed0SDonald Hunter      -
170*bc515ed0SDonald Hunter        name: periodic-gc-runs
171*bc515ed0SDonald Hunter        type: u64
172*bc515ed0SDonald Hunter      -
173*bc515ed0SDonald Hunter        name: forced-gc-runs
174*bc515ed0SDonald Hunter        type: u64
175*bc515ed0SDonald Hunter      -
176*bc515ed0SDonald Hunter        name: table-fulls
177*bc515ed0SDonald Hunter        type: u64
178*bc515ed0SDonald Hunter
179*bc515ed0SDonald Hunterattribute-sets:
180*bc515ed0SDonald Hunter  -
181*bc515ed0SDonald Hunter    name: neighbour-attrs
182*bc515ed0SDonald Hunter    attributes:
183*bc515ed0SDonald Hunter      -
184*bc515ed0SDonald Hunter        name: unspec
185*bc515ed0SDonald Hunter        type: binary
186*bc515ed0SDonald Hunter        value: 0
187*bc515ed0SDonald Hunter      -
188*bc515ed0SDonald Hunter        name: dst
189*bc515ed0SDonald Hunter        type: binary
190*bc515ed0SDonald Hunter        display-hint: ipv4
191*bc515ed0SDonald Hunter      -
192*bc515ed0SDonald Hunter        name: lladr
193*bc515ed0SDonald Hunter        type: binary
194*bc515ed0SDonald Hunter        display-hint: mac
195*bc515ed0SDonald Hunter      -
196*bc515ed0SDonald Hunter        name: cacheinfo
197*bc515ed0SDonald Hunter        type: binary
198*bc515ed0SDonald Hunter        struct: nda-cacheinfo
199*bc515ed0SDonald Hunter      -
200*bc515ed0SDonald Hunter        name: probes
201*bc515ed0SDonald Hunter        type: u32
202*bc515ed0SDonald Hunter      -
203*bc515ed0SDonald Hunter        name: vlan
204*bc515ed0SDonald Hunter        type: u16
205*bc515ed0SDonald Hunter      -
206*bc515ed0SDonald Hunter        name: port
207*bc515ed0SDonald Hunter        type: u16
208*bc515ed0SDonald Hunter      -
209*bc515ed0SDonald Hunter        name: vni
210*bc515ed0SDonald Hunter        type: u32
211*bc515ed0SDonald Hunter      -
212*bc515ed0SDonald Hunter        name: ifindex
213*bc515ed0SDonald Hunter        type: u32
214*bc515ed0SDonald Hunter      -
215*bc515ed0SDonald Hunter        name: master
216*bc515ed0SDonald Hunter        type: u32
217*bc515ed0SDonald Hunter      -
218*bc515ed0SDonald Hunter        name: link-netnsid
219*bc515ed0SDonald Hunter        type: s32
220*bc515ed0SDonald Hunter      -
221*bc515ed0SDonald Hunter        name: src-vni
222*bc515ed0SDonald Hunter        type: u32
223*bc515ed0SDonald Hunter      -
224*bc515ed0SDonald Hunter        name: protocol
225*bc515ed0SDonald Hunter        type: u8
226*bc515ed0SDonald Hunter      -
227*bc515ed0SDonald Hunter        name: nh-id
228*bc515ed0SDonald Hunter        type: u32
229*bc515ed0SDonald Hunter      -
230*bc515ed0SDonald Hunter        name: fdb-ext-attrs
231*bc515ed0SDonald Hunter        type: binary
232*bc515ed0SDonald Hunter      -
233*bc515ed0SDonald Hunter        name: flags-ext
234*bc515ed0SDonald Hunter        type: u32
235*bc515ed0SDonald Hunter        enum: ntf-ext-flags
236*bc515ed0SDonald Hunter      -
237*bc515ed0SDonald Hunter        name: ndm-state-mask
238*bc515ed0SDonald Hunter        type: u16
239*bc515ed0SDonald Hunter      -
240*bc515ed0SDonald Hunter        name: ndm-flags-mask
241*bc515ed0SDonald Hunter        type: u8
242*bc515ed0SDonald Hunter  -
243*bc515ed0SDonald Hunter    name: ndt-attrs
244*bc515ed0SDonald Hunter    attributes:
245*bc515ed0SDonald Hunter      -
246*bc515ed0SDonald Hunter        name: name
247*bc515ed0SDonald Hunter        type: string
248*bc515ed0SDonald Hunter      -
249*bc515ed0SDonald Hunter        name: thresh1
250*bc515ed0SDonald Hunter        type: u32
251*bc515ed0SDonald Hunter      -
252*bc515ed0SDonald Hunter        name: thresh2
253*bc515ed0SDonald Hunter        type: u32
254*bc515ed0SDonald Hunter      -
255*bc515ed0SDonald Hunter        name: thresh3
256*bc515ed0SDonald Hunter        type: u32
257*bc515ed0SDonald Hunter      -
258*bc515ed0SDonald Hunter        name: config
259*bc515ed0SDonald Hunter        type: binary
260*bc515ed0SDonald Hunter        struct: ndt-config
261*bc515ed0SDonald Hunter      -
262*bc515ed0SDonald Hunter        name: parms
263*bc515ed0SDonald Hunter        type: nest
264*bc515ed0SDonald Hunter        nested-attributes: ndtpa-attrs
265*bc515ed0SDonald Hunter      -
266*bc515ed0SDonald Hunter        name: stats
267*bc515ed0SDonald Hunter        type: binary
268*bc515ed0SDonald Hunter        struct: ndt-stats
269*bc515ed0SDonald Hunter      -
270*bc515ed0SDonald Hunter        name: gc-interval
271*bc515ed0SDonald Hunter        type: u64
272*bc515ed0SDonald Hunter      -
273*bc515ed0SDonald Hunter        name: pad
274*bc515ed0SDonald Hunter        type: pad
275*bc515ed0SDonald Hunter  -
276*bc515ed0SDonald Hunter    name: ndtpa-attrs
277*bc515ed0SDonald Hunter    attributes:
278*bc515ed0SDonald Hunter      -
279*bc515ed0SDonald Hunter        name: ifindex
280*bc515ed0SDonald Hunter        type: u32
281*bc515ed0SDonald Hunter      -
282*bc515ed0SDonald Hunter        name: refcnt
283*bc515ed0SDonald Hunter        type: u32
284*bc515ed0SDonald Hunter      -
285*bc515ed0SDonald Hunter        name: reachable-time
286*bc515ed0SDonald Hunter        type: u64
287*bc515ed0SDonald Hunter      -
288*bc515ed0SDonald Hunter        name: base-reachable-time
289*bc515ed0SDonald Hunter        type: u64
290*bc515ed0SDonald Hunter      -
291*bc515ed0SDonald Hunter        name: retrans-time
292*bc515ed0SDonald Hunter        type: u64
293*bc515ed0SDonald Hunter      -
294*bc515ed0SDonald Hunter        name: gc-staletime
295*bc515ed0SDonald Hunter        type: u64
296*bc515ed0SDonald Hunter      -
297*bc515ed0SDonald Hunter        name: delay-probe-time
298*bc515ed0SDonald Hunter        type: u64
299*bc515ed0SDonald Hunter      -
300*bc515ed0SDonald Hunter        name: queue-len
301*bc515ed0SDonald Hunter        type: u32
302*bc515ed0SDonald Hunter      -
303*bc515ed0SDonald Hunter        name: app-probes
304*bc515ed0SDonald Hunter        type: u32
305*bc515ed0SDonald Hunter      -
306*bc515ed0SDonald Hunter        name: ucast-probes
307*bc515ed0SDonald Hunter        type: u32
308*bc515ed0SDonald Hunter      -
309*bc515ed0SDonald Hunter        name: mcast-probes
310*bc515ed0SDonald Hunter        type: u32
311*bc515ed0SDonald Hunter      -
312*bc515ed0SDonald Hunter        name: anycast-delay
313*bc515ed0SDonald Hunter        type: u64
314*bc515ed0SDonald Hunter      -
315*bc515ed0SDonald Hunter        name: proxy-delay
316*bc515ed0SDonald Hunter        type: u64
317*bc515ed0SDonald Hunter      -
318*bc515ed0SDonald Hunter        name: proxy-qlen
319*bc515ed0SDonald Hunter        type: u32
320*bc515ed0SDonald Hunter      -
321*bc515ed0SDonald Hunter        name: locktime
322*bc515ed0SDonald Hunter        type: u64
323*bc515ed0SDonald Hunter      -
324*bc515ed0SDonald Hunter        name: queue-lenbytes
325*bc515ed0SDonald Hunter        type: u32
326*bc515ed0SDonald Hunter      -
327*bc515ed0SDonald Hunter        name: mcast-reprobes
328*bc515ed0SDonald Hunter        type: u32
329*bc515ed0SDonald Hunter      -
330*bc515ed0SDonald Hunter        name: pad
331*bc515ed0SDonald Hunter        type: pad
332*bc515ed0SDonald Hunter      -
333*bc515ed0SDonald Hunter        name: interval-probe-time-ms
334*bc515ed0SDonald Hunter        type: u64
335*bc515ed0SDonald Hunter
336*bc515ed0SDonald Hunteroperations:
337*bc515ed0SDonald Hunter  enum-model: directional
338*bc515ed0SDonald Hunter  list:
339*bc515ed0SDonald Hunter    -
340*bc515ed0SDonald Hunter      name: newneigh
341*bc515ed0SDonald Hunter      doc: Add new neighbour entry
342*bc515ed0SDonald Hunter      fixed-header: ndmsg
343*bc515ed0SDonald Hunter      attribute-set: neighbour-attrs
344*bc515ed0SDonald Hunter      do:
345*bc515ed0SDonald Hunter        request:
346*bc515ed0SDonald Hunter          value: 28
347*bc515ed0SDonald Hunter          attributes: &neighbour-all
348*bc515ed0SDonald Hunter            - dst
349*bc515ed0SDonald Hunter            - lladdr
350*bc515ed0SDonald Hunter            - probes
351*bc515ed0SDonald Hunter            - vlan
352*bc515ed0SDonald Hunter            - port
353*bc515ed0SDonald Hunter            - vni
354*bc515ed0SDonald Hunter            - ifindex
355*bc515ed0SDonald Hunter            - master
356*bc515ed0SDonald Hunter            - protocol
357*bc515ed0SDonald Hunter            - nh-id
358*bc515ed0SDonald Hunter            - flags-ext
359*bc515ed0SDonald Hunter            - fdb-ext-attrs
360*bc515ed0SDonald Hunter    -
361*bc515ed0SDonald Hunter      name: delneigh
362*bc515ed0SDonald Hunter      doc: Remove an existing neighbour entry
363*bc515ed0SDonald Hunter      fixed-header: ndmsg
364*bc515ed0SDonald Hunter      attribute-set: neighbour-attrs
365*bc515ed0SDonald Hunter      do:
366*bc515ed0SDonald Hunter        request:
367*bc515ed0SDonald Hunter          value: 29
368*bc515ed0SDonald Hunter          attributes:
369*bc515ed0SDonald Hunter            - dst
370*bc515ed0SDonald Hunter            - ifindex
371*bc515ed0SDonald Hunter    -
372*bc515ed0SDonald Hunter      name: delneigh-ntf
373*bc515ed0SDonald Hunter      doc: Notify a neighbour deletion
374*bc515ed0SDonald Hunter      value: 29
375*bc515ed0SDonald Hunter      notify: delneigh
376*bc515ed0SDonald Hunter      fixed-header: ndmsg
377*bc515ed0SDonald Hunter    -
378*bc515ed0SDonald Hunter      name: getneigh
379*bc515ed0SDonald Hunter      doc: Get or dump neighbour entries
380*bc515ed0SDonald Hunter      fixed-header: ndmsg
381*bc515ed0SDonald Hunter      attribute-set: neighbour-attrs
382*bc515ed0SDonald Hunter      do:
383*bc515ed0SDonald Hunter        request:
384*bc515ed0SDonald Hunter          value: 30
385*bc515ed0SDonald Hunter          attributes:
386*bc515ed0SDonald Hunter            - dst
387*bc515ed0SDonald Hunter        reply:
388*bc515ed0SDonald Hunter          value: 28
389*bc515ed0SDonald Hunter          attributes: *neighbour-all
390*bc515ed0SDonald Hunter      dump:
391*bc515ed0SDonald Hunter        request:
392*bc515ed0SDonald Hunter          attributes:
393*bc515ed0SDonald Hunter            - ifindex
394*bc515ed0SDonald Hunter            - master
395*bc515ed0SDonald Hunter        reply:
396*bc515ed0SDonald Hunter          attributes: *neighbour-all
397*bc515ed0SDonald Hunter    -
398*bc515ed0SDonald Hunter      name: newneigh-ntf
399*bc515ed0SDonald Hunter      doc: Notify a neighbour creation
400*bc515ed0SDonald Hunter      value: 28
401*bc515ed0SDonald Hunter      notify: getneigh
402*bc515ed0SDonald Hunter      fixed-header: ndmsg
403*bc515ed0SDonald Hunter    -
404*bc515ed0SDonald Hunter      name: getneightbl
405*bc515ed0SDonald Hunter      doc: Get or dump neighbour tables
406*bc515ed0SDonald Hunter      fixed-header: ndtmsg
407*bc515ed0SDonald Hunter      attribute-set: ndt-attrs
408*bc515ed0SDonald Hunter      dump:
409*bc515ed0SDonald Hunter        request:
410*bc515ed0SDonald Hunter          value: 66
411*bc515ed0SDonald Hunter        reply:
412*bc515ed0SDonald Hunter          value: 64
413*bc515ed0SDonald Hunter          attributes:
414*bc515ed0SDonald Hunter            - name
415*bc515ed0SDonald Hunter            - thresh1
416*bc515ed0SDonald Hunter            - thresh2
417*bc515ed0SDonald Hunter            - thresh3
418*bc515ed0SDonald Hunter            - config
419*bc515ed0SDonald Hunter            - parms
420*bc515ed0SDonald Hunter            - stats
421*bc515ed0SDonald Hunter            - gc-interval
422*bc515ed0SDonald Hunter    -
423*bc515ed0SDonald Hunter      name: setneightbl
424*bc515ed0SDonald Hunter      doc: Set neighbour tables
425*bc515ed0SDonald Hunter      fixed-header: ndtmsg
426*bc515ed0SDonald Hunter      attribute-set: ndt-attrs
427*bc515ed0SDonald Hunter      do:
428*bc515ed0SDonald Hunter        request:
429*bc515ed0SDonald Hunter          value: 67
430*bc515ed0SDonald Hunter          attributes:
431*bc515ed0SDonald Hunter            - name
432*bc515ed0SDonald Hunter            - thresh1
433*bc515ed0SDonald Hunter            - thresh2
434*bc515ed0SDonald Hunter            - thresh3
435*bc515ed0SDonald Hunter            - parms
436*bc515ed0SDonald Hunter            - gc-interval
437*bc515ed0SDonald Hunter
438*bc515ed0SDonald Huntermcast-groups:
439*bc515ed0SDonald Hunter  list:
440*bc515ed0SDonald Hunter    -
441*bc515ed0SDonald Hunter      name: rtnlgrp-neigh
442*bc515ed0SDonald Hunter      value: 3
443