ovs_flow.yaml 23 KB

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