rt-addr.yaml 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
  2. ---
  3. name: rt-addr
  4. protocol: netlink-raw
  5. uapi-header: linux/rtnetlink.h
  6. protonum: 0
  7. doc: >-
  8. Address configuration over rtnetlink.
  9. definitions:
  10. -
  11. name: ifaddrmsg
  12. type: struct
  13. members:
  14. -
  15. name: ifa-family
  16. type: u8
  17. -
  18. name: ifa-prefixlen
  19. type: u8
  20. -
  21. name: ifa-flags
  22. type: u8
  23. enum: ifa-flags
  24. enum-as-flags: true
  25. -
  26. name: ifa-scope
  27. type: u8
  28. -
  29. name: ifa-index
  30. type: u32
  31. -
  32. name: ifa-cacheinfo
  33. type: struct
  34. members:
  35. -
  36. name: ifa-prefered
  37. type: u32
  38. -
  39. name: ifa-valid
  40. type: u32
  41. -
  42. name: cstamp
  43. type: u32
  44. -
  45. name: tstamp
  46. type: u32
  47. -
  48. name: ifa-flags
  49. type: flags
  50. name-prefix: ifa-f-
  51. enum-name:
  52. entries:
  53. -
  54. name: secondary
  55. -
  56. name: nodad
  57. -
  58. name: optimistic
  59. -
  60. name: dadfailed
  61. -
  62. name: homeaddress
  63. -
  64. name: deprecated
  65. -
  66. name: tentative
  67. -
  68. name: permanent
  69. -
  70. name: managetempaddr
  71. -
  72. name: noprefixroute
  73. -
  74. name: mcautojoin
  75. -
  76. name: stable-privacy
  77. attribute-sets:
  78. -
  79. name: addr-attrs
  80. name-prefix: ifa-
  81. attributes:
  82. -
  83. name: address
  84. type: binary
  85. display-hint: ipv4-or-v6
  86. -
  87. name: local
  88. type: binary
  89. display-hint: ipv4-or-v6
  90. -
  91. name: label
  92. type: string
  93. -
  94. name: broadcast
  95. type: u32
  96. byte-order: big-endian
  97. display-hint: ipv4
  98. -
  99. name: anycast
  100. type: binary
  101. -
  102. name: cacheinfo
  103. type: binary
  104. struct: ifa-cacheinfo
  105. -
  106. name: multicast
  107. type: binary
  108. -
  109. name: flags
  110. type: u32
  111. enum: ifa-flags
  112. enum-as-flags: true
  113. -
  114. name: rt-priority
  115. type: u32
  116. -
  117. name: target-netnsid
  118. type: binary
  119. -
  120. name: proto
  121. type: u8
  122. operations:
  123. fixed-header: ifaddrmsg
  124. enum-model: directional
  125. name-prefix: rtm-
  126. list:
  127. -
  128. name: newaddr
  129. doc: Add new address
  130. attribute-set: addr-attrs
  131. do:
  132. request:
  133. value: 20
  134. attributes: &ifaddr-all
  135. - address
  136. - label
  137. - local
  138. - cacheinfo
  139. -
  140. name: deladdr
  141. doc: Remove address
  142. attribute-set: addr-attrs
  143. do:
  144. request:
  145. value: 21
  146. attributes:
  147. - address
  148. - local
  149. -
  150. name: getaddr
  151. doc: Dump address information.
  152. attribute-set: addr-attrs
  153. dump:
  154. request:
  155. value: 22
  156. attributes: []
  157. reply:
  158. value: 20
  159. attributes: *ifaddr-all
  160. -
  161. name: getmulticast
  162. doc: Get / dump IPv4/IPv6 multicast addresses.
  163. attribute-set: addr-attrs
  164. fixed-header: ifaddrmsg
  165. do:
  166. request:
  167. value: 58
  168. attributes: []
  169. reply:
  170. value: 58
  171. attributes: &mcaddr-attrs
  172. - multicast
  173. - cacheinfo
  174. dump:
  175. request:
  176. value: 58
  177. attributes: []
  178. reply:
  179. value: 58
  180. attributes: *mcaddr-attrs
  181. mcast-groups:
  182. list:
  183. -
  184. name: rtnlgrp-ipv4-ifaddr
  185. value: 5
  186. -
  187. name: rtnlgrp-ipv6-ifaddr
  188. value: 9