rt-neigh.yaml 7.8 KB

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