ovs_flow.yaml 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002
  1. # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
  2. ---
  3. name: ovs_flow
  4. version: 1
  5. protocol: genetlink-legacy
  6. uapi-header: linux/openvswitch.h
  7. doc: >-
  8. OVS flow configuration over generic netlink.
  9. definitions:
  10. -
  11. name: ovs-header
  12. type: struct
  13. doc: |
  14. Header for OVS Generic Netlink messages.
  15. members:
  16. -
  17. name: dp-ifindex
  18. type: u32
  19. doc: |
  20. ifindex of local port for datapath (0 to make a request not specific
  21. to a datapath).
  22. -
  23. name: ovs-flow-stats
  24. type: struct
  25. members:
  26. -
  27. name: n-packets
  28. type: u64
  29. doc: Number of matched packets.
  30. -
  31. name: n-bytes
  32. type: u64
  33. doc: Number of matched bytes.
  34. -
  35. name: ovs-key-ethernet
  36. type: struct
  37. members:
  38. -
  39. name: eth-src
  40. type: binary
  41. len: 6
  42. display-hint: mac
  43. -
  44. name: eth-dst
  45. type: binary
  46. len: 6
  47. display-hint: mac
  48. -
  49. name: ovs-key-mpls
  50. type: struct
  51. members:
  52. -
  53. name: mpls-lse
  54. type: u32
  55. byte-order: big-endian
  56. -
  57. name: ovs-key-ipv4
  58. type: struct
  59. members:
  60. -
  61. name: ipv4-src
  62. type: u32
  63. byte-order: big-endian
  64. display-hint: ipv4
  65. -
  66. name: ipv4-dst
  67. type: u32
  68. byte-order: big-endian
  69. display-hint: ipv4
  70. -
  71. name: ipv4-proto
  72. type: u8
  73. -
  74. name: ipv4-tos
  75. type: u8
  76. -
  77. name: ipv4-ttl
  78. type: u8
  79. -
  80. name: ipv4-frag
  81. type: u8
  82. enum: ovs-frag-type
  83. -
  84. name: ovs-key-ipv6
  85. type: struct
  86. members:
  87. -
  88. name: ipv6-src
  89. type: binary
  90. len: 16
  91. byte-order: big-endian
  92. display-hint: ipv6
  93. -
  94. name: ipv6-dst
  95. type: binary
  96. len: 16
  97. byte-order: big-endian
  98. display-hint: ipv6
  99. -
  100. name: ipv6-label
  101. type: u32
  102. byte-order: big-endian
  103. -
  104. name: ipv6-proto
  105. type: u8
  106. -
  107. name: ipv6-tclass
  108. type: u8
  109. -
  110. name: ipv6-hlimit
  111. type: u8
  112. -
  113. name: ipv6-frag
  114. type: u8
  115. -
  116. name: ovs-key-ipv6-exthdrs
  117. type: struct
  118. members:
  119. -
  120. name: hdrs
  121. type: u16
  122. -
  123. name: ovs-frag-type
  124. name-prefix: ovs-frag-type-
  125. enum-name: ovs-frag-type
  126. type: enum
  127. entries:
  128. -
  129. name: none
  130. doc: Packet is not a fragment.
  131. -
  132. name: first
  133. doc: Packet is a fragment with offset 0.
  134. -
  135. name: later
  136. doc: Packet is a fragment with nonzero offset.
  137. -
  138. name: any
  139. value: 255
  140. -
  141. name: ovs-key-tcp
  142. type: struct
  143. members:
  144. -
  145. name: tcp-src
  146. type: u16
  147. byte-order: big-endian
  148. -
  149. name: tcp-dst
  150. type: u16
  151. byte-order: big-endian
  152. -
  153. name: ovs-key-udp
  154. type: struct
  155. members:
  156. -
  157. name: udp-src
  158. type: u16
  159. byte-order: big-endian
  160. -
  161. name: udp-dst
  162. type: u16
  163. byte-order: big-endian
  164. -
  165. name: ovs-key-sctp
  166. type: struct
  167. members:
  168. -
  169. name: sctp-src
  170. type: u16
  171. byte-order: big-endian
  172. -
  173. name: sctp-dst
  174. type: u16
  175. byte-order: big-endian
  176. -
  177. name: ovs-key-icmp
  178. type: struct
  179. members:
  180. -
  181. name: icmp-type
  182. type: u8
  183. -
  184. name: icmp-code
  185. type: u8
  186. -
  187. name: ovs-key-arp
  188. type: struct
  189. members:
  190. -
  191. name: arp-sip
  192. type: u32
  193. byte-order: big-endian
  194. -
  195. name: arp-tip
  196. type: u32
  197. byte-order: big-endian
  198. -
  199. name: arp-op
  200. type: u16
  201. byte-order: big-endian
  202. -
  203. name: arp-sha
  204. type: binary
  205. len: 6
  206. display-hint: mac
  207. -
  208. name: arp-tha
  209. type: binary
  210. len: 6
  211. display-hint: mac
  212. -
  213. name: ovs-key-nd
  214. type: struct
  215. members:
  216. -
  217. name: nd-target
  218. type: binary
  219. len: 16
  220. byte-order: big-endian
  221. -
  222. name: nd-sll
  223. type: binary
  224. len: 6
  225. display-hint: mac
  226. -
  227. name: nd-tll
  228. type: binary
  229. len: 6
  230. display-hint: mac
  231. -
  232. name: ovs-key-ct-tuple-ipv4
  233. type: struct
  234. members:
  235. -
  236. name: ipv4-src
  237. type: u32
  238. byte-order: big-endian
  239. -
  240. name: ipv4-dst
  241. type: u32
  242. byte-order: big-endian
  243. -
  244. name: src-port
  245. type: u16
  246. byte-order: big-endian
  247. -
  248. name: dst-port
  249. type: u16
  250. byte-order: big-endian
  251. -
  252. name: ipv4-proto
  253. type: u8
  254. -
  255. name: ovs-action-push-vlan
  256. type: struct
  257. members:
  258. -
  259. name: vlan-tpid
  260. type: u16
  261. byte-order: big-endian
  262. doc: Tag protocol identifier (TPID) to push.
  263. -
  264. name: vlan-tci
  265. type: u16
  266. byte-order: big-endian
  267. doc: Tag control identifier (TCI) to push.
  268. -
  269. name: ovs-ufid-flags
  270. name-prefix: ovs-ufid-f-
  271. enum-name:
  272. type: flags
  273. entries:
  274. - omit-key
  275. - omit-mask
  276. - omit-actions
  277. -
  278. name: ovs-action-hash
  279. type: struct
  280. members:
  281. -
  282. name: hash-alg
  283. type: u32
  284. doc: Algorithm used to compute hash prior to recirculation.
  285. -
  286. name: hash-basis
  287. type: u32
  288. doc: Basis used for computing hash.
  289. -
  290. name: ovs-hash-alg
  291. enum-name: ovs-hash-alg
  292. type: enum
  293. doc: |
  294. Data path hash algorithm for computing Datapath hash. The algorithm type
  295. only specifies the fields in a flow will be used as part of the hash. Each
  296. datapath is free to use its own hash algorithm. The hash value will be
  297. opaque to the user space daemon.
  298. entries:
  299. - ovs-hash-alg-l4
  300. -
  301. name: ovs-action-push-mpls
  302. type: struct
  303. members:
  304. -
  305. name: mpls-lse
  306. type: u32
  307. byte-order: big-endian
  308. doc: |
  309. MPLS label stack entry to push
  310. -
  311. name: mpls-ethertype
  312. type: u32
  313. byte-order: big-endian
  314. doc: |
  315. Ethertype to set in the encapsulating ethernet frame. The only values
  316. ethertype should ever be given are ETH_P_MPLS_UC and ETH_P_MPLS_MC,
  317. indicating MPLS unicast or multicast. Other are rejected.
  318. -
  319. name: ovs-action-add-mpls
  320. type: struct
  321. members:
  322. -
  323. name: mpls-lse
  324. type: u32
  325. byte-order: big-endian
  326. doc: |
  327. MPLS label stack entry to push
  328. -
  329. name: mpls-ethertype
  330. type: u32
  331. byte-order: big-endian
  332. doc: |
  333. Ethertype to set in the encapsulating ethernet frame. The only values
  334. ethertype should ever be given are ETH_P_MPLS_UC and ETH_P_MPLS_MC,
  335. indicating MPLS unicast or multicast. Other are rejected.
  336. -
  337. name: tun-flags
  338. type: u16
  339. doc: |
  340. MPLS tunnel attributes.
  341. -
  342. name: ct-state-flags
  343. enum-name:
  344. type: flags
  345. name-prefix: ovs-cs-f-
  346. entries:
  347. -
  348. name: new
  349. doc: Beginning of a new connection.
  350. -
  351. name: established
  352. doc: Part of an existing connenction
  353. -
  354. name: related
  355. doc: Related to an existing connection.
  356. -
  357. name: reply-dir
  358. doc: Flow is in the reply direction.
  359. -
  360. name: invalid
  361. doc: Could not track the connection.
  362. -
  363. name: tracked
  364. doc: Conntrack has occurred.
  365. -
  366. name: src-nat
  367. doc: Packet's source address/port was mangled by NAT.
  368. -
  369. name: dst-nat
  370. doc: Packet's destination address/port was mangled by NAT.
  371. attribute-sets:
  372. -
  373. name: flow-attrs
  374. enum-name: ovs-flow-attr
  375. name-prefix: ovs-flow-attr-
  376. attributes:
  377. -
  378. name: key
  379. type: nest
  380. nested-attributes: key-attrs
  381. doc: |
  382. Nested attributes specifying the flow key. Always present in
  383. notifications. Required for all requests (except dumps).
  384. -
  385. name: actions
  386. type: nest
  387. nested-attributes: action-attrs
  388. doc: |
  389. Nested attributes specifying the actions to take for packets that
  390. match the key. Always present in notifications. Required for
  391. OVS_FLOW_CMD_NEW requests, optional for OVS_FLOW_CMD_SET requests. An
  392. OVS_FLOW_CMD_SET without OVS_FLOW_ATTR_ACTIONS will not modify the
  393. actions. To clear the actions, an OVS_FLOW_ATTR_ACTIONS without any
  394. nested attributes must be given.
  395. -
  396. name: stats
  397. type: binary
  398. struct: ovs-flow-stats
  399. doc: |
  400. Statistics for this flow. Present in notifications if the stats would
  401. be nonzero. Ignored in requests.
  402. -
  403. name: tcp-flags
  404. type: u8
  405. doc: |
  406. An 8-bit value giving the ORed value of all of the TCP flags seen on
  407. packets in this flow. Only present in notifications for TCP flows, and
  408. only if it would be nonzero. Ignored in requests.
  409. -
  410. name: used
  411. type: u64
  412. doc: |
  413. A 64-bit integer giving the time, in milliseconds on the system
  414. monotonic clock, at which a packet was last processed for this
  415. flow. Only present in notifications if a packet has been processed for
  416. this flow. Ignored in requests.
  417. -
  418. name: clear
  419. type: flag
  420. doc: |
  421. If present in a OVS_FLOW_CMD_SET request, clears the last-used time,
  422. accumulated TCP flags, and statistics for this flow. Otherwise
  423. ignored in requests. Never present in notifications.
  424. -
  425. name: mask
  426. type: nest
  427. nested-attributes: key-attrs
  428. doc: |
  429. Nested attributes specifying the mask bits for wildcarded flow
  430. match. Mask bit value '1' specifies exact match with corresponding
  431. flow key bit, while mask bit value '0' specifies a wildcarded
  432. match. Omitting attribute is treated as wildcarding all corresponding
  433. fields. Optional for all requests. If not present, all flow key bits
  434. are exact match bits.
  435. -
  436. name: probe
  437. type: binary
  438. doc: |
  439. Flow operation is a feature probe, error logging should be suppressed.
  440. -
  441. name: ufid
  442. type: binary
  443. doc: |
  444. A value between 1-16 octets specifying a unique identifier for the
  445. flow. Causes the flow to be indexed by this value rather than the
  446. value of the OVS_FLOW_ATTR_KEY attribute. Optional for all
  447. requests. Present in notifications if the flow was created with this
  448. attribute.
  449. display-hint: uuid
  450. -
  451. name: ufid-flags
  452. type: u32
  453. enum: ovs-ufid-flags
  454. doc: |
  455. A 32-bit value of ORed flags that provide alternative semantics for
  456. flow installation and retrieval. Optional for all requests.
  457. -
  458. name: pad
  459. type: binary
  460. -
  461. name: key-attrs
  462. enum-name: ovs-key-attr
  463. name-prefix: ovs-key-attr-
  464. attributes:
  465. -
  466. name: encap
  467. type: nest
  468. nested-attributes: key-attrs
  469. -
  470. name: priority
  471. type: u32
  472. -
  473. name: in-port
  474. type: u32
  475. -
  476. name: ethernet
  477. type: binary
  478. struct: ovs-key-ethernet
  479. doc: struct ovs_key_ethernet
  480. -
  481. name: vlan
  482. type: u16
  483. byte-order: big-endian
  484. -
  485. name: ethertype
  486. type: u16
  487. byte-order: big-endian
  488. -
  489. name: ipv4
  490. type: binary
  491. struct: ovs-key-ipv4
  492. -
  493. name: ipv6
  494. type: binary
  495. struct: ovs-key-ipv6
  496. doc: struct ovs_key_ipv6
  497. -
  498. name: tcp
  499. type: binary
  500. struct: ovs-key-tcp
  501. -
  502. name: udp
  503. type: binary
  504. struct: ovs-key-udp
  505. -
  506. name: icmp
  507. type: binary
  508. struct: ovs-key-icmp
  509. -
  510. name: icmpv6
  511. type: binary
  512. struct: ovs-key-icmp
  513. -
  514. name: arp
  515. type: binary
  516. struct: ovs-key-arp
  517. doc: struct ovs_key_arp
  518. -
  519. name: nd
  520. type: binary
  521. struct: ovs-key-nd
  522. doc: struct ovs_key_nd
  523. -
  524. name: skb-mark
  525. type: u32
  526. -
  527. name: tunnel
  528. type: nest
  529. nested-attributes: tunnel-key-attrs
  530. -
  531. name: sctp
  532. type: binary
  533. struct: ovs-key-sctp
  534. -
  535. name: tcp-flags
  536. type: u16
  537. byte-order: big-endian
  538. -
  539. name: dp-hash
  540. type: u32
  541. doc: Value 0 indicates the hash is not computed by the datapath.
  542. -
  543. name: recirc-id
  544. type: u32
  545. -
  546. name: mpls
  547. type: binary
  548. struct: ovs-key-mpls
  549. -
  550. name: ct-state
  551. type: u32
  552. enum: ct-state-flags
  553. enum-as-flags: true
  554. -
  555. name: ct-zone
  556. type: u16
  557. doc: connection tracking zone
  558. -
  559. name: ct-mark
  560. type: u32
  561. doc: connection tracking mark
  562. -
  563. name: ct-labels
  564. type: binary
  565. display-hint: hex
  566. doc: 16-octet connection tracking label
  567. -
  568. name: ct-orig-tuple-ipv4
  569. type: binary
  570. struct: ovs-key-ct-tuple-ipv4
  571. -
  572. name: ct-orig-tuple-ipv6
  573. type: binary
  574. doc: struct ovs_key_ct_tuple_ipv6
  575. -
  576. name: nsh
  577. type: nest
  578. nested-attributes: ovs-nsh-key-attrs
  579. -
  580. name: packet-type
  581. type: u32
  582. byte-order: big-endian
  583. doc: Should not be sent to the kernel
  584. -
  585. name: nd-extensions
  586. type: binary
  587. doc: Should not be sent to the kernel
  588. -
  589. name: tunnel-info
  590. type: binary
  591. doc: struct ip_tunnel_info
  592. -
  593. name: ipv6-exthdrs
  594. type: binary
  595. struct: ovs-key-ipv6-exthdrs
  596. doc: struct ovs_key_ipv6_exthdr
  597. -
  598. name: action-attrs
  599. enum-name: ovs-action-attr
  600. name-prefix: ovs-action-attr-
  601. attributes:
  602. -
  603. name: output
  604. type: u32
  605. doc: ovs port number in datapath
  606. -
  607. name: userspace
  608. type: nest
  609. nested-attributes: userspace-attrs
  610. -
  611. name: set
  612. type: nest
  613. nested-attributes: key-attrs
  614. doc: |
  615. Replaces the contents of an existing header. The single nested
  616. attribute specifies a header to modify and its value.
  617. -
  618. name: push-vlan
  619. type: binary
  620. struct: ovs-action-push-vlan
  621. doc: Push a new outermost 802.1Q or 802.1ad header onto the packet.
  622. -
  623. name: pop-vlan
  624. type: flag
  625. doc: Pop the outermost 802.1Q or 802.1ad header from the packet.
  626. -
  627. name: sample
  628. type: nest
  629. nested-attributes: sample-attrs
  630. doc: |
  631. Probabilistically executes actions, as specified in the nested
  632. attributes.
  633. -
  634. name: recirc
  635. type: u32
  636. doc: recirc id
  637. -
  638. name: hash
  639. type: binary
  640. struct: ovs-action-hash
  641. -
  642. name: push-mpls
  643. type: binary
  644. struct: ovs-action-push-mpls
  645. doc: |
  646. Push a new MPLS label stack entry onto the top of the packets MPLS
  647. label stack. Set the ethertype of the encapsulating frame to either
  648. ETH_P_MPLS_UC or ETH_P_MPLS_MC to indicate the new packet contents.
  649. -
  650. name: pop-mpls
  651. type: u16
  652. byte-order: big-endian
  653. doc: ethertype
  654. -
  655. name: set-masked
  656. type: nest
  657. nested-attributes: key-attrs
  658. doc: |
  659. Replaces the contents of an existing header. A nested attribute
  660. specifies a header to modify, its value, and a mask. For every bit set
  661. in the mask, the corresponding bit value is copied from the value to
  662. the packet header field, rest of the bits are left unchanged. The
  663. non-masked value bits must be passed in as zeroes. Masking is not
  664. supported for the OVS_KEY_ATTR_TUNNEL attribute.
  665. -
  666. name: ct
  667. type: nest
  668. nested-attributes: ct-attrs
  669. doc: |
  670. Track the connection. Populate the conntrack-related entries
  671. in the flow key.
  672. -
  673. name: trunc
  674. type: u32
  675. doc: struct ovs_action_trunc is a u32 max length
  676. -
  677. name: push-eth
  678. type: binary
  679. doc: struct ovs_action_push_eth
  680. -
  681. name: pop-eth
  682. type: flag
  683. -
  684. name: ct-clear
  685. type: flag
  686. -
  687. name: push-nsh
  688. type: nest
  689. nested-attributes: ovs-nsh-key-attrs
  690. doc: |
  691. Push NSH header to the packet.
  692. -
  693. name: pop-nsh
  694. type: flag
  695. doc: |
  696. Pop the outermost NSH header off the packet.
  697. -
  698. name: meter
  699. type: u32
  700. doc: |
  701. Run packet through a meter, which may drop the packet, or modify the
  702. packet (e.g., change the DSCP field)
  703. -
  704. name: clone
  705. type: nest
  706. nested-attributes: action-attrs
  707. doc: |
  708. Make a copy of the packet and execute a list of actions without
  709. affecting the original packet and key.
  710. -
  711. name: check-pkt-len
  712. type: nest
  713. nested-attributes: check-pkt-len-attrs
  714. doc: |
  715. Check the packet length and execute a set of actions if greater than
  716. the specified packet length, else execute another set of actions.
  717. -
  718. name: add-mpls
  719. type: binary
  720. struct: ovs-action-add-mpls
  721. doc: |
  722. Push a new MPLS label stack entry at the start of the packet or at the
  723. start of the l3 header depending on the value of l3 tunnel flag in the
  724. tun_flags field of this OVS_ACTION_ATTR_ADD_MPLS argument.
  725. -
  726. name: dec-ttl
  727. type: nest
  728. nested-attributes: dec-ttl-attrs
  729. -
  730. name: psample
  731. type: nest
  732. nested-attributes: psample-attrs
  733. doc: |
  734. Sends a packet sample to psample for external observation.
  735. -
  736. name: tunnel-key-attrs
  737. enum-name: ovs-tunnel-key-attr
  738. name-prefix: ovs-tunnel-key-attr-
  739. attributes:
  740. -
  741. name: id
  742. type: u64
  743. byte-order: big-endian
  744. value: 0
  745. -
  746. name: ipv4-src
  747. type: u32
  748. byte-order: big-endian
  749. -
  750. name: ipv4-dst
  751. type: u32
  752. byte-order: big-endian
  753. -
  754. name: tos
  755. type: u8
  756. -
  757. name: ttl
  758. type: u8
  759. -
  760. name: dont-fragment
  761. type: flag
  762. -
  763. name: csum
  764. type: flag
  765. -
  766. name: oam
  767. type: flag
  768. -
  769. name: geneve-opts
  770. type: binary
  771. sub-type: u32
  772. -
  773. name: tp-src
  774. type: u16
  775. byte-order: big-endian
  776. -
  777. name: tp-dst
  778. type: u16
  779. byte-order: big-endian
  780. -
  781. name: vxlan-opts
  782. type: nest
  783. nested-attributes: vxlan-ext-attrs
  784. -
  785. name: ipv6-src
  786. type: binary
  787. doc: |
  788. struct in6_addr source IPv6 address
  789. -
  790. name: ipv6-dst
  791. type: binary
  792. doc: |
  793. struct in6_addr destination IPv6 address
  794. -
  795. name: pad
  796. type: binary
  797. -
  798. name: erspan-opts
  799. type: binary
  800. doc: |
  801. struct erspan_metadata
  802. -
  803. name: ipv4-info-bridge
  804. type: flag
  805. -
  806. name: check-pkt-len-attrs
  807. enum-name: ovs-check-pkt-len-attr
  808. name-prefix: ovs-check-pkt-len-attr-
  809. attributes:
  810. -
  811. name: pkt-len
  812. type: u16
  813. -
  814. name: actions-if-greater
  815. type: nest
  816. nested-attributes: action-attrs
  817. -
  818. name: actions-if-less-equal
  819. type: nest
  820. nested-attributes: action-attrs
  821. -
  822. name: sample-attrs
  823. enum-name: ovs-sample-attr
  824. name-prefix: ovs-sample-attr-
  825. attributes:
  826. -
  827. name: probability
  828. type: u32
  829. -
  830. name: actions
  831. type: nest
  832. nested-attributes: action-attrs
  833. -
  834. name: userspace-attrs
  835. enum-name: ovs-userspace-attr
  836. name-prefix: ovs-userspace-attr-
  837. attributes:
  838. -
  839. name: pid
  840. type: u32
  841. -
  842. name: userdata
  843. type: binary
  844. -
  845. name: egress-tun-port
  846. type: u32
  847. -
  848. name: actions
  849. type: flag
  850. -
  851. name: ovs-nsh-key-attrs
  852. enum-name: ovs-nsh-key-attr
  853. name-prefix: ovs-nsh-key-attr-
  854. attributes:
  855. -
  856. name: base
  857. type: binary
  858. -
  859. name: md1
  860. type: binary
  861. -
  862. name: md2
  863. type: binary
  864. -
  865. name: ct-attrs
  866. enum-name: ovs-ct-attr
  867. name-prefix: ovs-ct-attr-
  868. attributes:
  869. -
  870. name: commit
  871. type: flag
  872. -
  873. name: zone
  874. type: u16
  875. -
  876. name: mark
  877. type: binary
  878. -
  879. name: labels
  880. type: binary
  881. -
  882. name: helper
  883. type: string
  884. -
  885. name: nat
  886. type: nest
  887. nested-attributes: nat-attrs
  888. -
  889. name: force-commit
  890. type: flag
  891. -
  892. name: eventmask
  893. type: u32
  894. -
  895. name: timeout
  896. type: string
  897. -
  898. name: nat-attrs
  899. enum-name: ovs-nat-attr
  900. name-prefix: ovs-nat-attr-
  901. attributes:
  902. -
  903. name: src
  904. type: flag
  905. -
  906. name: dst
  907. type: flag
  908. -
  909. name: ip-min
  910. type: binary
  911. -
  912. name: ip-max
  913. type: binary
  914. -
  915. name: proto-min
  916. type: u16
  917. -
  918. name: proto-max
  919. type: u16
  920. -
  921. name: persistent
  922. type: flag
  923. -
  924. name: proto-hash
  925. type: flag
  926. -
  927. name: proto-random
  928. type: flag
  929. -
  930. name: dec-ttl-attrs
  931. enum-name: ovs-dec-ttl-attr
  932. name-prefix: ovs-dec-ttl-attr-
  933. attributes:
  934. -
  935. name: action
  936. type: nest
  937. nested-attributes: action-attrs
  938. -
  939. name: vxlan-ext-attrs
  940. enum-name: ovs-vxlan-ext-
  941. name-prefix: ovs-vxlan-ext-
  942. attributes:
  943. -
  944. name: gbp
  945. type: u32
  946. -
  947. name: psample-attrs
  948. enum-name: ovs-psample-attr
  949. name-prefix: ovs-psample-attr-
  950. attributes:
  951. -
  952. name: group
  953. type: u32
  954. -
  955. name: cookie
  956. type: binary
  957. operations:
  958. name-prefix: ovs-flow-cmd-
  959. fixed-header: ovs-header
  960. list:
  961. -
  962. name: get
  963. doc: Get / dump OVS flow configuration and state
  964. value: 3
  965. attribute-set: flow-attrs
  966. do: &flow-get-op
  967. request:
  968. attributes:
  969. - key
  970. - ufid
  971. - ufid-flags
  972. reply:
  973. attributes:
  974. - key
  975. - ufid
  976. - mask
  977. - stats
  978. - actions
  979. dump: *flow-get-op
  980. -
  981. name: new
  982. doc: Create OVS flow configuration in a data path
  983. value: 1
  984. attribute-set: flow-attrs
  985. do:
  986. request:
  987. attributes:
  988. - key
  989. - ufid
  990. - mask
  991. - actions
  992. mcast-groups:
  993. list:
  994. -
  995. name: ovs_flow