ovs_vport.yaml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
  2. name: ovs_vport
  3. version: 2
  4. protocol: genetlink-legacy
  5. uapi-header: linux/openvswitch.h
  6. doc:
  7. OVS vport configuration over generic netlink.
  8. definitions:
  9. -
  10. name: ovs-header
  11. type: struct
  12. members:
  13. -
  14. name: dp-ifindex
  15. type: u32
  16. -
  17. name: vport-type
  18. type: enum
  19. enum-name: ovs-vport-type
  20. name-prefix: ovs-vport-type-
  21. entries: [ unspec, netdev, internal, gre, vxlan, geneve ]
  22. -
  23. name: vport-stats
  24. type: struct
  25. enum-name: ovs-vport-stats
  26. members:
  27. -
  28. name: rx-packets
  29. type: u64
  30. -
  31. name: tx-packets
  32. type: u64
  33. -
  34. name: rx-bytes
  35. type: u64
  36. -
  37. name: tx-bytes
  38. type: u64
  39. -
  40. name: rx-errors
  41. type: u64
  42. -
  43. name: tx-errors
  44. type: u64
  45. -
  46. name: rx-dropped
  47. type: u64
  48. -
  49. name: tx-dropped
  50. type: u64
  51. attribute-sets:
  52. -
  53. name: vport-options
  54. enum-name: ovs-vport-options
  55. name-prefix: ovs-tunnel-attr-
  56. attributes:
  57. -
  58. name: dst-port
  59. type: u32
  60. -
  61. name: extension
  62. type: u32
  63. -
  64. name: upcall-stats
  65. enum-name: ovs-vport-upcall-attr
  66. name-prefix: ovs-vport-upcall-attr-
  67. attributes:
  68. -
  69. name: success
  70. type: u64
  71. value: 0
  72. -
  73. name: fail
  74. type: u64
  75. -
  76. name: vport
  77. name-prefix: ovs-vport-attr-
  78. enum-name: ovs-vport-attr
  79. attributes:
  80. -
  81. name: unspec
  82. type: unused
  83. value: 0
  84. -
  85. name: port-no
  86. type: u32
  87. -
  88. name: type
  89. type: u32
  90. enum: vport-type
  91. -
  92. name: name
  93. type: string
  94. -
  95. name: options
  96. type: nest
  97. nested-attributes: vport-options
  98. -
  99. name: upcall-pid
  100. type: binary
  101. sub-type: u32
  102. -
  103. name: stats
  104. type: binary
  105. struct: vport-stats
  106. -
  107. name: pad
  108. type: unused
  109. -
  110. name: ifindex
  111. type: u32
  112. -
  113. name: netnsid
  114. type: u32
  115. -
  116. name: upcall-stats
  117. type: nest
  118. nested-attributes: upcall-stats
  119. operations:
  120. name-prefix: ovs-vport-cmd-
  121. fixed-header: ovs-header
  122. list:
  123. -
  124. name: new
  125. doc: Create a new OVS vport
  126. attribute-set: vport
  127. do:
  128. request:
  129. attributes:
  130. - name
  131. - type
  132. - upcall-pid
  133. - ifindex
  134. - options
  135. -
  136. name: del
  137. doc: Delete existing OVS vport from a data path
  138. attribute-set: vport
  139. do:
  140. request:
  141. attributes:
  142. - port-no
  143. - type
  144. - name
  145. -
  146. name: get
  147. doc: Get / dump OVS vport configuration and state
  148. attribute-set: vport
  149. do: &vport-get-op
  150. request:
  151. attributes:
  152. - name
  153. reply: &dev-all
  154. attributes:
  155. - port-no
  156. - type
  157. - name
  158. - upcall-pid
  159. - stats
  160. - ifindex
  161. - netnsid
  162. - upcall-stats
  163. dump: *vport-get-op
  164. mcast-groups:
  165. list:
  166. -
  167. name: ovs_vport