193b230b5SDonald Hunter# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) 293b230b5SDonald Hunter 393b230b5SDonald Huntername: ovs_flow 493b230b5SDonald Hunterversion: 1 593b230b5SDonald Hunterprotocol: genetlink-legacy 6*6907217aSDonald Hunteruapi-header: linux/openvswitch.h 793b230b5SDonald Hunter 893b230b5SDonald Hunterdoc: 993b230b5SDonald Hunter OVS flow configuration over generic netlink. 1093b230b5SDonald Hunter 1193b230b5SDonald Hunterdefinitions: 1293b230b5SDonald Hunter - 1393b230b5SDonald Hunter name: ovs-header 1493b230b5SDonald Hunter type: struct 1593b230b5SDonald Hunter doc: | 1693b230b5SDonald Hunter Header for OVS Generic Netlink messages. 1793b230b5SDonald Hunter members: 1893b230b5SDonald Hunter - 1993b230b5SDonald Hunter name: dp-ifindex 2093b230b5SDonald Hunter type: u32 2193b230b5SDonald Hunter doc: | 2293b230b5SDonald Hunter ifindex of local port for datapath (0 to make a request not specific 2393b230b5SDonald Hunter to a datapath). 2493b230b5SDonald Hunter - 2593b230b5SDonald Hunter name: ovs-flow-stats 2693b230b5SDonald Hunter type: struct 2793b230b5SDonald Hunter members: 2893b230b5SDonald Hunter - 2993b230b5SDonald Hunter name: n-packets 3093b230b5SDonald Hunter type: u64 3193b230b5SDonald Hunter doc: Number of matched packets. 3293b230b5SDonald Hunter - 3393b230b5SDonald Hunter name: n-bytes 3493b230b5SDonald Hunter type: u64 3593b230b5SDonald Hunter doc: Number of matched bytes. 3693b230b5SDonald Hunter - 3793b230b5SDonald Hunter name: ovs-key-mpls 3893b230b5SDonald Hunter type: struct 3993b230b5SDonald Hunter members: 4093b230b5SDonald Hunter - 4193b230b5SDonald Hunter name: mpls-lse 4293b230b5SDonald Hunter type: u32 4393b230b5SDonald Hunter byte-order: big-endian 4493b230b5SDonald Hunter - 4593b230b5SDonald Hunter name: ovs-key-ipv4 4693b230b5SDonald Hunter type: struct 4793b230b5SDonald Hunter members: 4893b230b5SDonald Hunter - 4993b230b5SDonald Hunter name: ipv4-src 5093b230b5SDonald Hunter type: u32 5193b230b5SDonald Hunter byte-order: big-endian 5293b230b5SDonald Hunter - 5393b230b5SDonald Hunter name: ipv4-dst 5493b230b5SDonald Hunter type: u32 5593b230b5SDonald Hunter byte-order: big-endian 5693b230b5SDonald Hunter - 5793b230b5SDonald Hunter name: ipv4-proto 5893b230b5SDonald Hunter type: u8 5993b230b5SDonald Hunter - 6093b230b5SDonald Hunter name: ipv4-tos 6193b230b5SDonald Hunter type: u8 6293b230b5SDonald Hunter - 6393b230b5SDonald Hunter name: ipv4-ttl 6493b230b5SDonald Hunter type: u8 6593b230b5SDonald Hunter - 6693b230b5SDonald Hunter name: ipv4-frag 6793b230b5SDonald Hunter type: u8 6893b230b5SDonald Hunter enum: ovs-frag-type 6993b230b5SDonald Hunter - 7093b230b5SDonald Hunter name: ovs-frag-type 71*6907217aSDonald Hunter name-prefix: ovs-frag-type- 7293b230b5SDonald Hunter type: enum 7393b230b5SDonald Hunter entries: 7493b230b5SDonald Hunter - 7593b230b5SDonald Hunter name: none 7693b230b5SDonald Hunter doc: Packet is not a fragment. 7793b230b5SDonald Hunter - 7893b230b5SDonald Hunter name: first 7993b230b5SDonald Hunter doc: Packet is a fragment with offset 0. 8093b230b5SDonald Hunter - 8193b230b5SDonald Hunter name: later 8293b230b5SDonald Hunter doc: Packet is a fragment with nonzero offset. 8393b230b5SDonald Hunter - 8493b230b5SDonald Hunter name: any 8593b230b5SDonald Hunter value: 255 8693b230b5SDonald Hunter - 8793b230b5SDonald Hunter name: ovs-key-tcp 8893b230b5SDonald Hunter type: struct 8993b230b5SDonald Hunter members: 9093b230b5SDonald Hunter - 9193b230b5SDonald Hunter name: tcp-src 9293b230b5SDonald Hunter type: u16 9393b230b5SDonald Hunter byte-order: big-endian 9493b230b5SDonald Hunter - 9593b230b5SDonald Hunter name: tcp-dst 9693b230b5SDonald Hunter type: u16 9793b230b5SDonald Hunter byte-order: big-endian 9893b230b5SDonald Hunter - 9993b230b5SDonald Hunter name: ovs-key-udp 10093b230b5SDonald Hunter type: struct 10193b230b5SDonald Hunter members: 10293b230b5SDonald Hunter - 10393b230b5SDonald Hunter name: udp-src 10493b230b5SDonald Hunter type: u16 10593b230b5SDonald Hunter byte-order: big-endian 10693b230b5SDonald Hunter - 10793b230b5SDonald Hunter name: udp-dst 10893b230b5SDonald Hunter type: u16 10993b230b5SDonald Hunter byte-order: big-endian 11093b230b5SDonald Hunter - 11193b230b5SDonald Hunter name: ovs-key-sctp 11293b230b5SDonald Hunter type: struct 11393b230b5SDonald Hunter members: 11493b230b5SDonald Hunter - 11593b230b5SDonald Hunter name: sctp-src 11693b230b5SDonald Hunter type: u16 11793b230b5SDonald Hunter byte-order: big-endian 11893b230b5SDonald Hunter - 11993b230b5SDonald Hunter name: sctp-dst 12093b230b5SDonald Hunter type: u16 12193b230b5SDonald Hunter byte-order: big-endian 12293b230b5SDonald Hunter - 12393b230b5SDonald Hunter name: ovs-key-icmp 12493b230b5SDonald Hunter type: struct 12593b230b5SDonald Hunter members: 12693b230b5SDonald Hunter - 12793b230b5SDonald Hunter name: icmp-type 12893b230b5SDonald Hunter type: u8 12993b230b5SDonald Hunter - 13093b230b5SDonald Hunter name: icmp-code 13193b230b5SDonald Hunter type: u8 13293b230b5SDonald Hunter - 13393b230b5SDonald Hunter name: ovs-key-ct-tuple-ipv4 13493b230b5SDonald Hunter type: struct 13593b230b5SDonald Hunter members: 13693b230b5SDonald Hunter - 13793b230b5SDonald Hunter name: ipv4-src 13893b230b5SDonald Hunter type: u32 13993b230b5SDonald Hunter byte-order: big-endian 14093b230b5SDonald Hunter - 14193b230b5SDonald Hunter name: ipv4-dst 14293b230b5SDonald Hunter type: u32 14393b230b5SDonald Hunter byte-order: big-endian 14493b230b5SDonald Hunter - 14593b230b5SDonald Hunter name: src-port 14693b230b5SDonald Hunter type: u16 14793b230b5SDonald Hunter byte-order: big-endian 14893b230b5SDonald Hunter - 14993b230b5SDonald Hunter name: dst-port 15093b230b5SDonald Hunter type: u16 15193b230b5SDonald Hunter byte-order: big-endian 15293b230b5SDonald Hunter - 15393b230b5SDonald Hunter name: ipv4-proto 15493b230b5SDonald Hunter type: u8 15593b230b5SDonald Hunter - 15693b230b5SDonald Hunter name: ovs-action-push-vlan 15793b230b5SDonald Hunter type: struct 15893b230b5SDonald Hunter members: 15993b230b5SDonald Hunter - 16093b230b5SDonald Hunter name: vlan_tpid 16193b230b5SDonald Hunter type: u16 16293b230b5SDonald Hunter byte-order: big-endian 16393b230b5SDonald Hunter doc: Tag protocol identifier (TPID) to push. 16493b230b5SDonald Hunter - 16593b230b5SDonald Hunter name: vlan_tci 16693b230b5SDonald Hunter type: u16 16793b230b5SDonald Hunter byte-order: big-endian 16893b230b5SDonald Hunter doc: Tag control identifier (TCI) to push. 16993b230b5SDonald Hunter - 17093b230b5SDonald Hunter name: ovs-ufid-flags 171*6907217aSDonald Hunter name-prefix: ovs-ufid-f- 17293b230b5SDonald Hunter type: flags 17393b230b5SDonald Hunter entries: 17493b230b5SDonald Hunter - omit-key 17593b230b5SDonald Hunter - omit-mask 17693b230b5SDonald Hunter - omit-actions 17793b230b5SDonald Hunter - 17893b230b5SDonald Hunter name: ovs-action-hash 17993b230b5SDonald Hunter type: struct 18093b230b5SDonald Hunter members: 18193b230b5SDonald Hunter - 182*6907217aSDonald Hunter name: hash-alg 18393b230b5SDonald Hunter type: u32 18493b230b5SDonald Hunter doc: Algorithm used to compute hash prior to recirculation. 18593b230b5SDonald Hunter - 18693b230b5SDonald Hunter name: hash-basis 18793b230b5SDonald Hunter type: u32 18893b230b5SDonald Hunter doc: Basis used for computing hash. 18993b230b5SDonald Hunter - 19093b230b5SDonald Hunter name: ovs-hash-alg 19193b230b5SDonald Hunter type: enum 19293b230b5SDonald Hunter doc: | 19393b230b5SDonald Hunter Data path hash algorithm for computing Datapath hash. The algorithm type only specifies 19493b230b5SDonald Hunter the fields in a flow will be used as part of the hash. Each datapath is free to use its 19593b230b5SDonald Hunter own hash algorithm. The hash value will be opaque to the user space daemon. 19693b230b5SDonald Hunter entries: 19793b230b5SDonald Hunter - ovs-hash-alg-l4 19893b230b5SDonald Hunter 19993b230b5SDonald Hunter - 20093b230b5SDonald Hunter name: ovs-action-push-mpls 20193b230b5SDonald Hunter type: struct 20293b230b5SDonald Hunter members: 20393b230b5SDonald Hunter - 204*6907217aSDonald Hunter name: mpls-lse 20593b230b5SDonald Hunter type: u32 20693b230b5SDonald Hunter byte-order: big-endian 20793b230b5SDonald Hunter doc: | 20893b230b5SDonald Hunter MPLS label stack entry to push 20993b230b5SDonald Hunter - 210*6907217aSDonald Hunter name: mpls-ethertype 21193b230b5SDonald Hunter type: u32 21293b230b5SDonald Hunter byte-order: big-endian 21393b230b5SDonald Hunter doc: | 21493b230b5SDonald Hunter Ethertype to set in the encapsulating ethernet frame. The only values 21593b230b5SDonald Hunter ethertype should ever be given are ETH_P_MPLS_UC and ETH_P_MPLS_MC, 21693b230b5SDonald Hunter indicating MPLS unicast or multicast. Other are rejected. 21793b230b5SDonald Hunter - 21893b230b5SDonald Hunter name: ovs-action-add-mpls 21993b230b5SDonald Hunter type: struct 22093b230b5SDonald Hunter members: 22193b230b5SDonald Hunter - 222*6907217aSDonald Hunter name: mpls-lse 22393b230b5SDonald Hunter type: u32 22493b230b5SDonald Hunter byte-order: big-endian 22593b230b5SDonald Hunter doc: | 22693b230b5SDonald Hunter MPLS label stack entry to push 22793b230b5SDonald Hunter - 228*6907217aSDonald Hunter name: mpls-ethertype 22993b230b5SDonald Hunter type: u32 23093b230b5SDonald Hunter byte-order: big-endian 23193b230b5SDonald Hunter doc: | 23293b230b5SDonald Hunter Ethertype to set in the encapsulating ethernet frame. The only values 23393b230b5SDonald Hunter ethertype should ever be given are ETH_P_MPLS_UC and ETH_P_MPLS_MC, 23493b230b5SDonald Hunter indicating MPLS unicast or multicast. Other are rejected. 23593b230b5SDonald Hunter - 23693b230b5SDonald Hunter name: tun-flags 23793b230b5SDonald Hunter type: u16 23893b230b5SDonald Hunter doc: | 23993b230b5SDonald Hunter MPLS tunnel attributes. 24093b230b5SDonald Hunter - 24193b230b5SDonald Hunter name: ct-state-flags 24293b230b5SDonald Hunter type: flags 243*6907217aSDonald Hunter name-prefix: ovs-cs-f- 24493b230b5SDonald Hunter entries: 24593b230b5SDonald Hunter - 24693b230b5SDonald Hunter name: new 24793b230b5SDonald Hunter doc: Beginning of a new connection. 24893b230b5SDonald Hunter - 24993b230b5SDonald Hunter name: established 25093b230b5SDonald Hunter doc: Part of an existing connenction 25193b230b5SDonald Hunter - 25293b230b5SDonald Hunter name: related 25393b230b5SDonald Hunter doc: Related to an existing connection. 25493b230b5SDonald Hunter - 25593b230b5SDonald Hunter name: reply-dir 25693b230b5SDonald Hunter doc: Flow is in the reply direction. 25793b230b5SDonald Hunter - 25893b230b5SDonald Hunter name: invalid 25993b230b5SDonald Hunter doc: Could not track the connection. 26093b230b5SDonald Hunter - 26193b230b5SDonald Hunter name: tracked 26293b230b5SDonald Hunter doc: Conntrack has occurred. 26393b230b5SDonald Hunter - 26493b230b5SDonald Hunter name: src-nat 26593b230b5SDonald Hunter doc: Packet's source address/port was mangled by NAT. 26693b230b5SDonald Hunter - 26793b230b5SDonald Hunter name: dst-nat 26893b230b5SDonald Hunter doc: Packet's destination address/port was mangled by NAT. 26993b230b5SDonald Hunter 27093b230b5SDonald Hunterattribute-sets: 27193b230b5SDonald Hunter - 27293b230b5SDonald Hunter name: flow-attrs 273*6907217aSDonald Hunter enum-name: ovs-flow-attr 274*6907217aSDonald Hunter name-prefix: ovs-flow-attr- 27593b230b5SDonald Hunter attributes: 27693b230b5SDonald Hunter - 27793b230b5SDonald Hunter name: key 27893b230b5SDonald Hunter type: nest 27993b230b5SDonald Hunter nested-attributes: key-attrs 28093b230b5SDonald Hunter doc: | 28193b230b5SDonald Hunter Nested attributes specifying the flow key. Always present in 28293b230b5SDonald Hunter notifications. Required for all requests (except dumps). 28393b230b5SDonald Hunter - 28493b230b5SDonald Hunter name: actions 28593b230b5SDonald Hunter type: nest 28693b230b5SDonald Hunter nested-attributes: action-attrs 28793b230b5SDonald Hunter doc: | 28893b230b5SDonald Hunter Nested attributes specifying the actions to take for packets that 28993b230b5SDonald Hunter match the key. Always present in notifications. Required for 29093b230b5SDonald Hunter OVS_FLOW_CMD_NEW requests, optional for OVS_FLOW_CMD_SET requests. An 29193b230b5SDonald Hunter OVS_FLOW_CMD_SET without OVS_FLOW_ATTR_ACTIONS will not modify the 29293b230b5SDonald Hunter actions. To clear the actions, an OVS_FLOW_ATTR_ACTIONS without any 29393b230b5SDonald Hunter nested attributes must be given. 29493b230b5SDonald Hunter - 29593b230b5SDonald Hunter name: stats 29693b230b5SDonald Hunter type: binary 29793b230b5SDonald Hunter struct: ovs-flow-stats 29893b230b5SDonald Hunter doc: | 29993b230b5SDonald Hunter Statistics for this flow. Present in notifications if the stats would 30093b230b5SDonald Hunter be nonzero. Ignored in requests. 30193b230b5SDonald Hunter - 30293b230b5SDonald Hunter name: tcp-flags 30393b230b5SDonald Hunter type: u8 30493b230b5SDonald Hunter doc: | 30593b230b5SDonald Hunter An 8-bit value giving the ORed value of all of the TCP flags seen on 30693b230b5SDonald Hunter packets in this flow. Only present in notifications for TCP flows, and 30793b230b5SDonald Hunter only if it would be nonzero. Ignored in requests. 30893b230b5SDonald Hunter - 30993b230b5SDonald Hunter name: used 31093b230b5SDonald Hunter type: u64 31193b230b5SDonald Hunter doc: | 31293b230b5SDonald Hunter A 64-bit integer giving the time, in milliseconds on the system 31393b230b5SDonald Hunter monotonic clock, at which a packet was last processed for this 31493b230b5SDonald Hunter flow. Only present in notifications if a packet has been processed for 31593b230b5SDonald Hunter this flow. Ignored in requests. 31693b230b5SDonald Hunter - 31793b230b5SDonald Hunter name: clear 31893b230b5SDonald Hunter type: flag 31993b230b5SDonald Hunter doc: | 32093b230b5SDonald Hunter If present in a OVS_FLOW_CMD_SET request, clears the last-used time, 32193b230b5SDonald Hunter accumulated TCP flags, and statistics for this flow. Otherwise 32293b230b5SDonald Hunter ignored in requests. Never present in notifications. 32393b230b5SDonald Hunter - 32493b230b5SDonald Hunter name: mask 32593b230b5SDonald Hunter type: nest 32693b230b5SDonald Hunter nested-attributes: key-attrs 32793b230b5SDonald Hunter doc: | 32893b230b5SDonald Hunter Nested attributes specifying the mask bits for wildcarded flow 32993b230b5SDonald Hunter match. Mask bit value '1' specifies exact match with corresponding 33093b230b5SDonald Hunter flow key bit, while mask bit value '0' specifies a wildcarded 33193b230b5SDonald Hunter match. Omitting attribute is treated as wildcarding all corresponding 33293b230b5SDonald Hunter fields. Optional for all requests. If not present, all flow key bits 33393b230b5SDonald Hunter are exact match bits. 33493b230b5SDonald Hunter - 33593b230b5SDonald Hunter name: probe 33693b230b5SDonald Hunter type: binary 33793b230b5SDonald Hunter doc: | 33893b230b5SDonald Hunter Flow operation is a feature probe, error logging should be suppressed. 33993b230b5SDonald Hunter - 34093b230b5SDonald Hunter name: ufid 34193b230b5SDonald Hunter type: binary 34293b230b5SDonald Hunter doc: | 34393b230b5SDonald Hunter A value between 1-16 octets specifying a unique identifier for the 34493b230b5SDonald Hunter flow. Causes the flow to be indexed by this value rather than the 34593b230b5SDonald Hunter value of the OVS_FLOW_ATTR_KEY attribute. Optional for all 34693b230b5SDonald Hunter requests. Present in notifications if the flow was created with this 34793b230b5SDonald Hunter attribute. 34893b230b5SDonald Hunter - 34993b230b5SDonald Hunter name: ufid-flags 35093b230b5SDonald Hunter type: u32 35193b230b5SDonald Hunter enum: ovs-ufid-flags 35293b230b5SDonald Hunter doc: | 35393b230b5SDonald Hunter A 32-bit value of ORed flags that provide alternative semantics for 35493b230b5SDonald Hunter flow installation and retrieval. Optional for all requests. 35593b230b5SDonald Hunter - 35693b230b5SDonald Hunter name: pad 35793b230b5SDonald Hunter type: binary 35893b230b5SDonald Hunter 35993b230b5SDonald Hunter - 36093b230b5SDonald Hunter name: key-attrs 361*6907217aSDonald Hunter enum-name: ovs-key-attr 362*6907217aSDonald Hunter name-prefix: ovs-key-attr- 36393b230b5SDonald Hunter attributes: 36493b230b5SDonald Hunter - 36593b230b5SDonald Hunter name: encap 36693b230b5SDonald Hunter type: nest 36793b230b5SDonald Hunter nested-attributes: key-attrs 36893b230b5SDonald Hunter - 36993b230b5SDonald Hunter name: priority 37093b230b5SDonald Hunter type: u32 37193b230b5SDonald Hunter - 37293b230b5SDonald Hunter name: in-port 37393b230b5SDonald Hunter type: u32 37493b230b5SDonald Hunter - 37593b230b5SDonald Hunter name: ethernet 37693b230b5SDonald Hunter type: binary 37793b230b5SDonald Hunter doc: struct ovs_key_ethernet 37893b230b5SDonald Hunter - 37993b230b5SDonald Hunter name: vlan 38093b230b5SDonald Hunter type: u16 38193b230b5SDonald Hunter byte-order: big-endian 38293b230b5SDonald Hunter - 38393b230b5SDonald Hunter name: ethertype 38493b230b5SDonald Hunter type: u16 38593b230b5SDonald Hunter byte-order: big-endian 38693b230b5SDonald Hunter - 38793b230b5SDonald Hunter name: ipv4 38893b230b5SDonald Hunter type: binary 38993b230b5SDonald Hunter struct: ovs-key-ipv4 39093b230b5SDonald Hunter - 39193b230b5SDonald Hunter name: ipv6 39293b230b5SDonald Hunter type: binary 39393b230b5SDonald Hunter doc: struct ovs_key_ipv6 39493b230b5SDonald Hunter - 39593b230b5SDonald Hunter name: tcp 39693b230b5SDonald Hunter type: binary 39793b230b5SDonald Hunter struct: ovs-key-tcp 39893b230b5SDonald Hunter - 39993b230b5SDonald Hunter name: udp 40093b230b5SDonald Hunter type: binary 40193b230b5SDonald Hunter struct: ovs-key-udp 40293b230b5SDonald Hunter - 40393b230b5SDonald Hunter name: icmp 40493b230b5SDonald Hunter type: binary 40593b230b5SDonald Hunter struct: ovs-key-icmp 40693b230b5SDonald Hunter - 40793b230b5SDonald Hunter name: icmpv6 40893b230b5SDonald Hunter type: binary 40993b230b5SDonald Hunter struct: ovs-key-icmp 41093b230b5SDonald Hunter - 41193b230b5SDonald Hunter name: arp 41293b230b5SDonald Hunter type: binary 41393b230b5SDonald Hunter doc: struct ovs_key_arp 41493b230b5SDonald Hunter - 41593b230b5SDonald Hunter name: nd 41693b230b5SDonald Hunter type: binary 41793b230b5SDonald Hunter doc: struct ovs_key_nd 41893b230b5SDonald Hunter - 41993b230b5SDonald Hunter name: skb-mark 42093b230b5SDonald Hunter type: u32 42193b230b5SDonald Hunter - 42293b230b5SDonald Hunter name: tunnel 42393b230b5SDonald Hunter type: nest 42493b230b5SDonald Hunter nested-attributes: tunnel-key-attrs 42593b230b5SDonald Hunter - 42693b230b5SDonald Hunter name: sctp 42793b230b5SDonald Hunter type: binary 42893b230b5SDonald Hunter struct: ovs-key-sctp 42993b230b5SDonald Hunter - 43093b230b5SDonald Hunter name: tcp-flags 43193b230b5SDonald Hunter type: u16 43293b230b5SDonald Hunter byte-order: big-endian 43393b230b5SDonald Hunter - 43493b230b5SDonald Hunter name: dp-hash 43593b230b5SDonald Hunter type: u32 43693b230b5SDonald Hunter doc: Value 0 indicates the hash is not computed by the datapath. 43793b230b5SDonald Hunter - 43893b230b5SDonald Hunter name: recirc-id 43993b230b5SDonald Hunter type: u32 44093b230b5SDonald Hunter - 44193b230b5SDonald Hunter name: mpls 44293b230b5SDonald Hunter type: binary 44393b230b5SDonald Hunter struct: ovs-key-mpls 44493b230b5SDonald Hunter - 44593b230b5SDonald Hunter name: ct-state 44693b230b5SDonald Hunter type: u32 44793b230b5SDonald Hunter enum: ct-state-flags 44893b230b5SDonald Hunter enum-as-flags: true 44993b230b5SDonald Hunter - 45093b230b5SDonald Hunter name: ct-zone 45193b230b5SDonald Hunter type: u16 45293b230b5SDonald Hunter doc: connection tracking zone 45393b230b5SDonald Hunter - 45493b230b5SDonald Hunter name: ct-mark 45593b230b5SDonald Hunter type: u32 45693b230b5SDonald Hunter doc: connection tracking mark 45793b230b5SDonald Hunter - 45893b230b5SDonald Hunter name: ct-labels 45993b230b5SDonald Hunter type: binary 46093b230b5SDonald Hunter doc: 16-octet connection tracking label 46193b230b5SDonald Hunter - 46293b230b5SDonald Hunter name: ct-orig-tuple-ipv4 46393b230b5SDonald Hunter type: binary 46493b230b5SDonald Hunter struct: ovs-key-ct-tuple-ipv4 46593b230b5SDonald Hunter - 46693b230b5SDonald Hunter name: ct-orig-tuple-ipv6 46793b230b5SDonald Hunter type: binary 46893b230b5SDonald Hunter doc: struct ovs_key_ct_tuple_ipv6 46993b230b5SDonald Hunter - 47093b230b5SDonald Hunter name: nsh 47193b230b5SDonald Hunter type: nest 47293b230b5SDonald Hunter nested-attributes: ovs-nsh-key-attrs 47393b230b5SDonald Hunter - 47493b230b5SDonald Hunter name: packet-type 47593b230b5SDonald Hunter type: u32 47693b230b5SDonald Hunter byte-order: big-endian 47793b230b5SDonald Hunter doc: Should not be sent to the kernel 47893b230b5SDonald Hunter - 47993b230b5SDonald Hunter name: nd-extensions 48093b230b5SDonald Hunter type: binary 48193b230b5SDonald Hunter doc: Should not be sent to the kernel 48293b230b5SDonald Hunter - 48393b230b5SDonald Hunter name: tunnel-info 48493b230b5SDonald Hunter type: binary 48593b230b5SDonald Hunter doc: struct ip_tunnel_info 48693b230b5SDonald Hunter - 48793b230b5SDonald Hunter name: ipv6-exthdrs 48893b230b5SDonald Hunter type: binary 48993b230b5SDonald Hunter doc: struct ovs_key_ipv6_exthdr 49093b230b5SDonald Hunter - 49193b230b5SDonald Hunter name: action-attrs 492*6907217aSDonald Hunter enum-name: ovs-action-attr 493*6907217aSDonald Hunter name-prefix: ovs-action-attr- 49493b230b5SDonald Hunter attributes: 49593b230b5SDonald Hunter - 49693b230b5SDonald Hunter name: output 49793b230b5SDonald Hunter type: u32 49893b230b5SDonald Hunter doc: ovs port number in datapath 49993b230b5SDonald Hunter - 50093b230b5SDonald Hunter name: userspace 50193b230b5SDonald Hunter type: nest 50293b230b5SDonald Hunter nested-attributes: userspace-attrs 50393b230b5SDonald Hunter - 50493b230b5SDonald Hunter name: set 50593b230b5SDonald Hunter type: nest 50693b230b5SDonald Hunter nested-attributes: key-attrs 50793b230b5SDonald Hunter doc: Replaces the contents of an existing header. The single nested attribute specifies a header to modify and its value. 50893b230b5SDonald Hunter - 50993b230b5SDonald Hunter name: push-vlan 51093b230b5SDonald Hunter type: binary 51193b230b5SDonald Hunter struct: ovs-action-push-vlan 51293b230b5SDonald Hunter doc: Push a new outermost 802.1Q or 802.1ad header onto the packet. 51393b230b5SDonald Hunter - 51493b230b5SDonald Hunter name: pop-vlan 51593b230b5SDonald Hunter type: flag 51693b230b5SDonald Hunter doc: Pop the outermost 802.1Q or 802.1ad header from the packet. 51793b230b5SDonald Hunter - 51893b230b5SDonald Hunter name: sample 51993b230b5SDonald Hunter type: nest 52093b230b5SDonald Hunter nested-attributes: sample-attrs 52193b230b5SDonald Hunter doc: | 52293b230b5SDonald Hunter Probabilistically executes actions, as specified in the nested attributes. 52393b230b5SDonald Hunter - 52493b230b5SDonald Hunter name: recirc 52593b230b5SDonald Hunter type: u32 52693b230b5SDonald Hunter doc: recirc id 52793b230b5SDonald Hunter - 52893b230b5SDonald Hunter name: hash 52993b230b5SDonald Hunter type: binary 53093b230b5SDonald Hunter struct: ovs-action-hash 53193b230b5SDonald Hunter - 53293b230b5SDonald Hunter name: push-mpls 53393b230b5SDonald Hunter type: binary 53493b230b5SDonald Hunter struct: ovs-action-push-mpls 53593b230b5SDonald Hunter doc: | 53693b230b5SDonald Hunter Push a new MPLS label stack entry onto the top of the packets MPLS 53793b230b5SDonald Hunter label stack. Set the ethertype of the encapsulating frame to either 53893b230b5SDonald Hunter ETH_P_MPLS_UC or ETH_P_MPLS_MC to indicate the new packet contents. 53993b230b5SDonald Hunter - 54093b230b5SDonald Hunter name: pop-mpls 54193b230b5SDonald Hunter type: u16 54293b230b5SDonald Hunter byte-order: big-endian 54393b230b5SDonald Hunter doc: ethertype 54493b230b5SDonald Hunter - 54593b230b5SDonald Hunter name: set-masked 54693b230b5SDonald Hunter type: nest 54793b230b5SDonald Hunter nested-attributes: key-attrs 54893b230b5SDonald Hunter doc: | 54993b230b5SDonald Hunter Replaces the contents of an existing header. A nested attribute 55093b230b5SDonald Hunter specifies a header to modify, its value, and a mask. For every bit set 55193b230b5SDonald Hunter in the mask, the corresponding bit value is copied from the value to 55293b230b5SDonald Hunter the packet header field, rest of the bits are left unchanged. The 55393b230b5SDonald Hunter non-masked value bits must be passed in as zeroes. Masking is not 55493b230b5SDonald Hunter supported for the OVS_KEY_ATTR_TUNNEL attribute. 55593b230b5SDonald Hunter - 55693b230b5SDonald Hunter name: ct 55793b230b5SDonald Hunter type: nest 55893b230b5SDonald Hunter nested-attributes: ct-attrs 55993b230b5SDonald Hunter doc: | 56093b230b5SDonald Hunter Track the connection. Populate the conntrack-related entries 56193b230b5SDonald Hunter in the flow key. 56293b230b5SDonald Hunter - 56393b230b5SDonald Hunter name: trunc 56493b230b5SDonald Hunter type: u32 56593b230b5SDonald Hunter doc: struct ovs_action_trunc is a u32 max length 56693b230b5SDonald Hunter - 56793b230b5SDonald Hunter name: push-eth 56893b230b5SDonald Hunter type: binary 56993b230b5SDonald Hunter doc: struct ovs_action_push_eth 57093b230b5SDonald Hunter - 57193b230b5SDonald Hunter name: pop-eth 57293b230b5SDonald Hunter type: flag 57393b230b5SDonald Hunter - 57493b230b5SDonald Hunter name: ct-clear 57593b230b5SDonald Hunter type: flag 57693b230b5SDonald Hunter - 57793b230b5SDonald Hunter name: push-nsh 57893b230b5SDonald Hunter type: nest 57993b230b5SDonald Hunter nested-attributes: ovs-nsh-key-attrs 58093b230b5SDonald Hunter doc: | 58193b230b5SDonald Hunter Push NSH header to the packet. 58293b230b5SDonald Hunter - 58393b230b5SDonald Hunter name: pop-nsh 58493b230b5SDonald Hunter type: flag 58593b230b5SDonald Hunter doc: | 58693b230b5SDonald Hunter Pop the outermost NSH header off the packet. 58793b230b5SDonald Hunter - 58893b230b5SDonald Hunter name: meter 58993b230b5SDonald Hunter type: u32 59093b230b5SDonald Hunter doc: | 59193b230b5SDonald Hunter Run packet through a meter, which may drop the packet, or modify the 59293b230b5SDonald Hunter packet (e.g., change the DSCP field) 59393b230b5SDonald Hunter - 59493b230b5SDonald Hunter name: clone 59593b230b5SDonald Hunter type: nest 59693b230b5SDonald Hunter nested-attributes: action-attrs 59793b230b5SDonald Hunter doc: | 59893b230b5SDonald Hunter Make a copy of the packet and execute a list of actions without 59993b230b5SDonald Hunter affecting the original packet and key. 60093b230b5SDonald Hunter - 60193b230b5SDonald Hunter name: check-pkt-len 60293b230b5SDonald Hunter type: nest 60393b230b5SDonald Hunter nested-attributes: check-pkt-len-attrs 60493b230b5SDonald Hunter doc: | 60593b230b5SDonald Hunter Check the packet length and execute a set of actions if greater than 60693b230b5SDonald Hunter the specified packet length, else execute another set of actions. 60793b230b5SDonald Hunter - 60893b230b5SDonald Hunter name: add-mpls 60993b230b5SDonald Hunter type: binary 61093b230b5SDonald Hunter struct: ovs-action-add-mpls 61193b230b5SDonald Hunter doc: | 61293b230b5SDonald Hunter Push a new MPLS label stack entry at the start of the packet or at the 61393b230b5SDonald Hunter start of the l3 header depending on the value of l3 tunnel flag in the 61493b230b5SDonald Hunter tun_flags field of this OVS_ACTION_ATTR_ADD_MPLS argument. 61593b230b5SDonald Hunter - 61693b230b5SDonald Hunter name: dec-ttl 61793b230b5SDonald Hunter type: nest 61893b230b5SDonald Hunter nested-attributes: dec-ttl-attrs 61993b230b5SDonald Hunter - 62093b230b5SDonald Hunter name: tunnel-key-attrs 621*6907217aSDonald Hunter enum-name: ovs-tunnel-key-attr 622*6907217aSDonald Hunter name-prefix: ovs-tunnel-key-attr- 62393b230b5SDonald Hunter attributes: 62493b230b5SDonald Hunter - 62593b230b5SDonald Hunter name: id 62693b230b5SDonald Hunter type: u64 62793b230b5SDonald Hunter byte-order: big-endian 62893b230b5SDonald Hunter value: 0 62993b230b5SDonald Hunter - 63093b230b5SDonald Hunter name: ipv4-src 63193b230b5SDonald Hunter type: u32 63293b230b5SDonald Hunter byte-order: big-endian 63393b230b5SDonald Hunter - 63493b230b5SDonald Hunter name: ipv4-dst 63593b230b5SDonald Hunter type: u32 63693b230b5SDonald Hunter byte-order: big-endian 63793b230b5SDonald Hunter - 63893b230b5SDonald Hunter name: tos 63993b230b5SDonald Hunter type: u8 64093b230b5SDonald Hunter - 64193b230b5SDonald Hunter name: ttl 64293b230b5SDonald Hunter type: u8 64393b230b5SDonald Hunter - 64493b230b5SDonald Hunter name: dont-fragment 64593b230b5SDonald Hunter type: flag 64693b230b5SDonald Hunter - 64793b230b5SDonald Hunter name: csum 64893b230b5SDonald Hunter type: flag 64993b230b5SDonald Hunter - 65093b230b5SDonald Hunter name: oam 65193b230b5SDonald Hunter type: flag 65293b230b5SDonald Hunter - 65393b230b5SDonald Hunter name: geneve-opts 65493b230b5SDonald Hunter type: binary 65593b230b5SDonald Hunter sub-type: u32 65693b230b5SDonald Hunter - 65793b230b5SDonald Hunter name: tp-src 65893b230b5SDonald Hunter type: u16 65993b230b5SDonald Hunter byte-order: big-endian 66093b230b5SDonald Hunter - 66193b230b5SDonald Hunter name: tp-dst 66293b230b5SDonald Hunter type: u16 66393b230b5SDonald Hunter byte-order: big-endian 66493b230b5SDonald Hunter - 66593b230b5SDonald Hunter name: vxlan-opts 66693b230b5SDonald Hunter type: nest 66793b230b5SDonald Hunter nested-attributes: vxlan-ext-attrs 66893b230b5SDonald Hunter - 66993b230b5SDonald Hunter name: ipv6-src 67093b230b5SDonald Hunter type: binary 67193b230b5SDonald Hunter doc: | 67293b230b5SDonald Hunter struct in6_addr source IPv6 address 67393b230b5SDonald Hunter - 67493b230b5SDonald Hunter name: ipv6-dst 67593b230b5SDonald Hunter type: binary 67693b230b5SDonald Hunter doc: | 67793b230b5SDonald Hunter struct in6_addr destination IPv6 address 67893b230b5SDonald Hunter - 67993b230b5SDonald Hunter name: pad 68093b230b5SDonald Hunter type: binary 68193b230b5SDonald Hunter - 68293b230b5SDonald Hunter name: erspan-opts 68393b230b5SDonald Hunter type: binary 68493b230b5SDonald Hunter doc: | 68593b230b5SDonald Hunter struct erspan_metadata 68693b230b5SDonald Hunter - 68793b230b5SDonald Hunter name: ipv4-info-bridge 68893b230b5SDonald Hunter type: flag 68993b230b5SDonald Hunter - 69093b230b5SDonald Hunter name: check-pkt-len-attrs 691*6907217aSDonald Hunter enum-name: ovs-check-pkt-len-attr 692*6907217aSDonald Hunter name-prefix: ovs-check-pkt-len-attr- 69393b230b5SDonald Hunter attributes: 69493b230b5SDonald Hunter - 69593b230b5SDonald Hunter name: pkt-len 69693b230b5SDonald Hunter type: u16 69793b230b5SDonald Hunter - 69893b230b5SDonald Hunter name: actions-if-greater 69993b230b5SDonald Hunter type: nest 70093b230b5SDonald Hunter nested-attributes: action-attrs 70193b230b5SDonald Hunter - 70293b230b5SDonald Hunter name: actions-if-less-equal 70393b230b5SDonald Hunter type: nest 70493b230b5SDonald Hunter nested-attributes: action-attrs 70593b230b5SDonald Hunter - 70693b230b5SDonald Hunter name: sample-attrs 707*6907217aSDonald Hunter enum-name: ovs-sample-attr 708*6907217aSDonald Hunter name-prefix: ovs-sample-attr- 70993b230b5SDonald Hunter attributes: 71093b230b5SDonald Hunter - 71193b230b5SDonald Hunter name: probability 71293b230b5SDonald Hunter type: u32 71393b230b5SDonald Hunter - 71493b230b5SDonald Hunter name: actions 71593b230b5SDonald Hunter type: nest 71693b230b5SDonald Hunter nested-attributes: action-attrs 71793b230b5SDonald Hunter - 71893b230b5SDonald Hunter name: userspace-attrs 719*6907217aSDonald Hunter enum-name: ovs-userspace-attr 720*6907217aSDonald Hunter name-prefix: ovs-userspace-attr- 72193b230b5SDonald Hunter attributes: 72293b230b5SDonald Hunter - 72393b230b5SDonald Hunter name: pid 72493b230b5SDonald Hunter type: u32 72593b230b5SDonald Hunter - 72693b230b5SDonald Hunter name: userdata 72793b230b5SDonald Hunter type: binary 72893b230b5SDonald Hunter - 72993b230b5SDonald Hunter name: egress-tun-port 73093b230b5SDonald Hunter type: u32 73193b230b5SDonald Hunter - 73293b230b5SDonald Hunter name: actions 73393b230b5SDonald Hunter type: flag 73493b230b5SDonald Hunter - 73593b230b5SDonald Hunter name: ovs-nsh-key-attrs 736*6907217aSDonald Hunter enum-name: ovs-nsh-key-attr 737*6907217aSDonald Hunter name-prefix: ovs-nsh-key-attr- 73893b230b5SDonald Hunter attributes: 73993b230b5SDonald Hunter - 74093b230b5SDonald Hunter name: base 74193b230b5SDonald Hunter type: binary 74293b230b5SDonald Hunter - 74393b230b5SDonald Hunter name: md1 74493b230b5SDonald Hunter type: binary 74593b230b5SDonald Hunter - 74693b230b5SDonald Hunter name: md2 74793b230b5SDonald Hunter type: binary 74893b230b5SDonald Hunter - 74993b230b5SDonald Hunter name: ct-attrs 750*6907217aSDonald Hunter enum-name: ovs-ct-attr 751*6907217aSDonald Hunter name-prefix: ovs-ct-attr- 75293b230b5SDonald Hunter attributes: 75393b230b5SDonald Hunter - 75493b230b5SDonald Hunter name: commit 75593b230b5SDonald Hunter type: flag 75693b230b5SDonald Hunter - 75793b230b5SDonald Hunter name: zone 75893b230b5SDonald Hunter type: u16 75993b230b5SDonald Hunter - 76093b230b5SDonald Hunter name: mark 76193b230b5SDonald Hunter type: binary 76293b230b5SDonald Hunter - 76393b230b5SDonald Hunter name: labels 76493b230b5SDonald Hunter type: binary 76593b230b5SDonald Hunter - 76693b230b5SDonald Hunter name: helper 76793b230b5SDonald Hunter type: string 76893b230b5SDonald Hunter - 76993b230b5SDonald Hunter name: nat 77093b230b5SDonald Hunter type: nest 77193b230b5SDonald Hunter nested-attributes: nat-attrs 77293b230b5SDonald Hunter - 77393b230b5SDonald Hunter name: force-commit 77493b230b5SDonald Hunter type: flag 77593b230b5SDonald Hunter - 77693b230b5SDonald Hunter name: eventmask 77793b230b5SDonald Hunter type: u32 77893b230b5SDonald Hunter - 77993b230b5SDonald Hunter name: timeout 78093b230b5SDonald Hunter type: string 78193b230b5SDonald Hunter - 78293b230b5SDonald Hunter name: nat-attrs 783*6907217aSDonald Hunter enum-name: ovs-nat-attr 784*6907217aSDonald Hunter name-prefix: ovs-nat-attr- 78593b230b5SDonald Hunter attributes: 78693b230b5SDonald Hunter - 78793b230b5SDonald Hunter name: src 788*6907217aSDonald Hunter type: flag 78993b230b5SDonald Hunter - 79093b230b5SDonald Hunter name: dst 791*6907217aSDonald Hunter type: flag 79293b230b5SDonald Hunter - 79393b230b5SDonald Hunter name: ip-min 79493b230b5SDonald Hunter type: binary 79593b230b5SDonald Hunter - 79693b230b5SDonald Hunter name: ip-max 79793b230b5SDonald Hunter type: binary 79893b230b5SDonald Hunter - 79993b230b5SDonald Hunter name: proto-min 800*6907217aSDonald Hunter type: u16 80193b230b5SDonald Hunter - 80293b230b5SDonald Hunter name: proto-max 803*6907217aSDonald Hunter type: u16 80493b230b5SDonald Hunter - 80593b230b5SDonald Hunter name: persistent 806*6907217aSDonald Hunter type: flag 80793b230b5SDonald Hunter - 80893b230b5SDonald Hunter name: proto-hash 809*6907217aSDonald Hunter type: flag 81093b230b5SDonald Hunter - 81193b230b5SDonald Hunter name: proto-random 812*6907217aSDonald Hunter type: flag 81393b230b5SDonald Hunter - 81493b230b5SDonald Hunter name: dec-ttl-attrs 815*6907217aSDonald Hunter enum-name: ovs-dec-ttl-attr 816*6907217aSDonald Hunter name-prefix: ovs-dec-ttl-attr- 81793b230b5SDonald Hunter attributes: 81893b230b5SDonald Hunter - 81993b230b5SDonald Hunter name: action 82093b230b5SDonald Hunter type: nest 82193b230b5SDonald Hunter nested-attributes: action-attrs 82293b230b5SDonald Hunter - 82393b230b5SDonald Hunter name: vxlan-ext-attrs 824*6907217aSDonald Hunter enum-name: ovs-vxlan-ext- 825*6907217aSDonald Hunter name-prefix: ovs-vxlan-ext- 82693b230b5SDonald Hunter attributes: 82793b230b5SDonald Hunter - 82893b230b5SDonald Hunter name: gbp 82993b230b5SDonald Hunter type: u32 83093b230b5SDonald Hunter 83193b230b5SDonald Hunteroperations: 832*6907217aSDonald Hunter name-prefix: ovs-flow-cmd- 83393b230b5SDonald Hunter fixed-header: ovs-header 83493b230b5SDonald Hunter list: 83593b230b5SDonald Hunter - 836*6907217aSDonald Hunter name: get 83793b230b5SDonald Hunter doc: Get / dump OVS flow configuration and state 83893b230b5SDonald Hunter value: 3 83993b230b5SDonald Hunter attribute-set: flow-attrs 84093b230b5SDonald Hunter do: &flow-get-op 84193b230b5SDonald Hunter request: 84293b230b5SDonald Hunter attributes: 84393b230b5SDonald Hunter - dp-ifindex 84493b230b5SDonald Hunter - key 84593b230b5SDonald Hunter - ufid 84693b230b5SDonald Hunter - ufid-flags 84793b230b5SDonald Hunter reply: 84893b230b5SDonald Hunter attributes: 84993b230b5SDonald Hunter - dp-ifindex 85093b230b5SDonald Hunter - key 85193b230b5SDonald Hunter - ufid 85293b230b5SDonald Hunter - mask 85393b230b5SDonald Hunter - stats 85493b230b5SDonald Hunter - actions 85593b230b5SDonald Hunter dump: *flow-get-op 856*6907217aSDonald Hunter - 857*6907217aSDonald Hunter name: new 858*6907217aSDonald Hunter doc: Create OVS flow configuration in a data path 859*6907217aSDonald Hunter value: 1 860*6907217aSDonald Hunter attribute-set: flow-attrs 861*6907217aSDonald Hunter do: 862*6907217aSDonald Hunter request: 863*6907217aSDonald Hunter attributes: 864*6907217aSDonald Hunter - dp-ifindex 865*6907217aSDonald Hunter - key 866*6907217aSDonald Hunter - ufid 867*6907217aSDonald Hunter - mask 868*6907217aSDonald Hunter - actions 86993b230b5SDonald Hunter 87093b230b5SDonald Huntermcast-groups: 87193b230b5SDonald Hunter list: 87293b230b5SDonald Hunter - 87393b230b5SDonald Hunter name: ovs_flow 874