mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 04:02:20 +00:00
netlink: specs: Add a spec for neighbor tables in rtnetlink
Add a YNL spec for neighbour tables and neighbour entries in rtnetlink. ./tools/net/ynl/cli.py \ --spec Documentation/netlink/specs/rt_neigh.yaml \ --dump getneigh [{'cacheinfo': {'confirmed': 122664055, 'refcnt': 0, 'updated': 122658055, 'used': 122658055}, 'dst': '0.0.0.0', 'family': 2, 'flags': set(), 'ifindex': 5, 'lladr': '', 'probes': 0, 'state': {'noarp'}, 'type': 'broadcast'}, ...] Acked-by: Stanislav Fomichev <sdf@fomichev.me> Signed-off-by: Donald Hunter <donald.hunter@gmail.com> Link: https://patch.msgid.link/20241106090718.64713-2-donald.hunter@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
38a1f50a5e
commit
bc515ed066
442
Documentation/netlink/specs/rt_neigh.yaml
Normal file
442
Documentation/netlink/specs/rt_neigh.yaml
Normal file
@ -0,0 +1,442 @@
|
||||
# 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: family
|
||||
type: u8
|
||||
-
|
||||
name: pad
|
||||
type: pad
|
||||
len: 3
|
||||
-
|
||||
name: ifindex
|
||||
type: s32
|
||||
-
|
||||
name: state
|
||||
type: u16
|
||||
enum: nud-state
|
||||
-
|
||||
name: flags
|
||||
type: u8
|
||||
enum: ntf-flags
|
||||
-
|
||||
name: 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: lladr
|
||||
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
|
Loading…
Reference in New Issue
Block a user