mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
synced 2025-04-19 20:58:31 +09:00

Attach ndm- to all members of struct nfmsg. We could possibly use name-prefix just for C, but I don't think we have any precedent for using name-prefix on structs, and other rtnetlink sub-specs give full names for fixed header struct members. Fixes: bc515ed06652 ("netlink: specs: Add a spec for neighbor tables in rtnetlink") Reviewed-by: Donald Hunter <donald.hunter@gmail.com> Reviewed-by: Jacob Keller <jacob.e.keller@intel.com> Link: https://patch.msgid.link/20250414211851.602096-9-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
443 lines
7.6 KiB
YAML
443 lines
7.6 KiB
YAML
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
|
|
|
name: rt-neigh
|
|
protocol: netlink-raw
|
|
protonum: 0
|
|
|
|
doc:
|
|
IP neighbour management over rtnetlink.
|
|
|
|
definitions:
|
|
-
|
|
name: ndmsg
|
|
type: struct
|
|
members:
|
|
-
|
|
name: ndm-family
|
|
type: u8
|
|
-
|
|
name: ndm-pad
|
|
type: pad
|
|
len: 3
|
|
-
|
|
name: ndm-ifindex
|
|
type: s32
|
|
-
|
|
name: ndm-state
|
|
type: u16
|
|
enum: nud-state
|
|
-
|
|
name: ndm-flags
|
|
type: u8
|
|
enum: ntf-flags
|
|
-
|
|
name: ndm-type
|
|
type: u8
|
|
enum: rtm-type
|
|
-
|
|
name: ndtmsg
|
|
type: struct
|
|
members:
|
|
-
|
|
name: family
|
|
type: u8
|
|
-
|
|
name: pad
|
|
type: pad
|
|
len: 3
|
|
-
|
|
name: nud-state
|
|
type: flags
|
|
entries:
|
|
- incomplete
|
|
- reachable
|
|
- stale
|
|
- delay
|
|
- probe
|
|
- failed
|
|
- noarp
|
|
- permanent
|
|
-
|
|
name: ntf-flags
|
|
type: flags
|
|
entries:
|
|
- use
|
|
- self
|
|
- master
|
|
- proxy
|
|
- ext-learned
|
|
- offloaded
|
|
- sticky
|
|
- router
|
|
-
|
|
name: ntf-ext-flags
|
|
type: flags
|
|
entries:
|
|
- managed
|
|
- locked
|
|
-
|
|
name: rtm-type
|
|
type: enum
|
|
entries:
|
|
- unspec
|
|
- unicast
|
|
- local
|
|
- broadcast
|
|
- anycast
|
|
- multicast
|
|
- blackhole
|
|
- unreachable
|
|
- prohibit
|
|
- throw
|
|
- nat
|
|
- xresolve
|
|
-
|
|
name: nda-cacheinfo
|
|
type: struct
|
|
members:
|
|
-
|
|
name: confirmed
|
|
type: u32
|
|
-
|
|
name: used
|
|
type: u32
|
|
-
|
|
name: updated
|
|
type: u32
|
|
-
|
|
name: refcnt
|
|
type: u32
|
|
-
|
|
name: ndt-config
|
|
type: struct
|
|
members:
|
|
-
|
|
name: key-len
|
|
type: u16
|
|
-
|
|
name: entry-size
|
|
type: u16
|
|
-
|
|
name: entries
|
|
type: u32
|
|
-
|
|
name: last-flush
|
|
type: u32
|
|
-
|
|
name: last-rand
|
|
type: u32
|
|
-
|
|
name: hash-rnd
|
|
type: u32
|
|
-
|
|
name: hash-mask
|
|
type: u32
|
|
-
|
|
name: hash-chain-gc
|
|
type: u32
|
|
-
|
|
name: proxy-qlen
|
|
type: u32
|
|
-
|
|
name: ndt-stats
|
|
type: struct
|
|
members:
|
|
-
|
|
name: allocs
|
|
type: u64
|
|
-
|
|
name: destroys
|
|
type: u64
|
|
-
|
|
name: hash-grows
|
|
type: u64
|
|
-
|
|
name: res-failed
|
|
type: u64
|
|
-
|
|
name: lookups
|
|
type: u64
|
|
-
|
|
name: hits
|
|
type: u64
|
|
-
|
|
name: rcv-probes-mcast
|
|
type: u64
|
|
-
|
|
name: rcv-probes-ucast
|
|
type: u64
|
|
-
|
|
name: periodic-gc-runs
|
|
type: u64
|
|
-
|
|
name: forced-gc-runs
|
|
type: u64
|
|
-
|
|
name: table-fulls
|
|
type: u64
|
|
|
|
attribute-sets:
|
|
-
|
|
name: neighbour-attrs
|
|
attributes:
|
|
-
|
|
name: unspec
|
|
type: binary
|
|
value: 0
|
|
-
|
|
name: dst
|
|
type: binary
|
|
display-hint: ipv4
|
|
-
|
|
name: lladdr
|
|
type: binary
|
|
display-hint: mac
|
|
-
|
|
name: cacheinfo
|
|
type: binary
|
|
struct: nda-cacheinfo
|
|
-
|
|
name: probes
|
|
type: u32
|
|
-
|
|
name: vlan
|
|
type: u16
|
|
-
|
|
name: port
|
|
type: u16
|
|
-
|
|
name: vni
|
|
type: u32
|
|
-
|
|
name: ifindex
|
|
type: u32
|
|
-
|
|
name: master
|
|
type: u32
|
|
-
|
|
name: link-netnsid
|
|
type: s32
|
|
-
|
|
name: src-vni
|
|
type: u32
|
|
-
|
|
name: protocol
|
|
type: u8
|
|
-
|
|
name: nh-id
|
|
type: u32
|
|
-
|
|
name: fdb-ext-attrs
|
|
type: binary
|
|
-
|
|
name: flags-ext
|
|
type: u32
|
|
enum: ntf-ext-flags
|
|
-
|
|
name: ndm-state-mask
|
|
type: u16
|
|
-
|
|
name: ndm-flags-mask
|
|
type: u8
|
|
-
|
|
name: ndt-attrs
|
|
attributes:
|
|
-
|
|
name: name
|
|
type: string
|
|
-
|
|
name: thresh1
|
|
type: u32
|
|
-
|
|
name: thresh2
|
|
type: u32
|
|
-
|
|
name: thresh3
|
|
type: u32
|
|
-
|
|
name: config
|
|
type: binary
|
|
struct: ndt-config
|
|
-
|
|
name: parms
|
|
type: nest
|
|
nested-attributes: ndtpa-attrs
|
|
-
|
|
name: stats
|
|
type: binary
|
|
struct: ndt-stats
|
|
-
|
|
name: gc-interval
|
|
type: u64
|
|
-
|
|
name: pad
|
|
type: pad
|
|
-
|
|
name: ndtpa-attrs
|
|
attributes:
|
|
-
|
|
name: ifindex
|
|
type: u32
|
|
-
|
|
name: refcnt
|
|
type: u32
|
|
-
|
|
name: reachable-time
|
|
type: u64
|
|
-
|
|
name: base-reachable-time
|
|
type: u64
|
|
-
|
|
name: retrans-time
|
|
type: u64
|
|
-
|
|
name: gc-staletime
|
|
type: u64
|
|
-
|
|
name: delay-probe-time
|
|
type: u64
|
|
-
|
|
name: queue-len
|
|
type: u32
|
|
-
|
|
name: app-probes
|
|
type: u32
|
|
-
|
|
name: ucast-probes
|
|
type: u32
|
|
-
|
|
name: mcast-probes
|
|
type: u32
|
|
-
|
|
name: anycast-delay
|
|
type: u64
|
|
-
|
|
name: proxy-delay
|
|
type: u64
|
|
-
|
|
name: proxy-qlen
|
|
type: u32
|
|
-
|
|
name: locktime
|
|
type: u64
|
|
-
|
|
name: queue-lenbytes
|
|
type: u32
|
|
-
|
|
name: mcast-reprobes
|
|
type: u32
|
|
-
|
|
name: pad
|
|
type: pad
|
|
-
|
|
name: interval-probe-time-ms
|
|
type: u64
|
|
|
|
operations:
|
|
enum-model: directional
|
|
list:
|
|
-
|
|
name: newneigh
|
|
doc: Add new neighbour entry
|
|
fixed-header: ndmsg
|
|
attribute-set: neighbour-attrs
|
|
do:
|
|
request:
|
|
value: 28
|
|
attributes: &neighbour-all
|
|
- dst
|
|
- lladdr
|
|
- probes
|
|
- vlan
|
|
- port
|
|
- vni
|
|
- ifindex
|
|
- master
|
|
- protocol
|
|
- nh-id
|
|
- flags-ext
|
|
- fdb-ext-attrs
|
|
-
|
|
name: delneigh
|
|
doc: Remove an existing neighbour entry
|
|
fixed-header: ndmsg
|
|
attribute-set: neighbour-attrs
|
|
do:
|
|
request:
|
|
value: 29
|
|
attributes:
|
|
- dst
|
|
- ifindex
|
|
-
|
|
name: delneigh-ntf
|
|
doc: Notify a neighbour deletion
|
|
value: 29
|
|
notify: delneigh
|
|
fixed-header: ndmsg
|
|
-
|
|
name: getneigh
|
|
doc: Get or dump neighbour entries
|
|
fixed-header: ndmsg
|
|
attribute-set: neighbour-attrs
|
|
do:
|
|
request:
|
|
value: 30
|
|
attributes:
|
|
- dst
|
|
reply:
|
|
value: 28
|
|
attributes: *neighbour-all
|
|
dump:
|
|
request:
|
|
attributes:
|
|
- ifindex
|
|
- master
|
|
reply:
|
|
attributes: *neighbour-all
|
|
-
|
|
name: newneigh-ntf
|
|
doc: Notify a neighbour creation
|
|
value: 28
|
|
notify: getneigh
|
|
fixed-header: ndmsg
|
|
-
|
|
name: getneightbl
|
|
doc: Get or dump neighbour tables
|
|
fixed-header: ndtmsg
|
|
attribute-set: ndt-attrs
|
|
dump:
|
|
request:
|
|
value: 66
|
|
reply:
|
|
value: 64
|
|
attributes:
|
|
- name
|
|
- thresh1
|
|
- thresh2
|
|
- thresh3
|
|
- config
|
|
- parms
|
|
- stats
|
|
- gc-interval
|
|
-
|
|
name: setneightbl
|
|
doc: Set neighbour tables
|
|
fixed-header: ndtmsg
|
|
attribute-set: ndt-attrs
|
|
do:
|
|
request:
|
|
value: 67
|
|
attributes:
|
|
- name
|
|
- thresh1
|
|
- thresh2
|
|
- thresh3
|
|
- parms
|
|
- gc-interval
|
|
|
|
mcast-groups:
|
|
list:
|
|
-
|
|
name: rtnlgrp-neigh
|
|
value: 3
|