Rate This Document
Findability
Accuracy
Completeness
Readability

Overview

The OVS control plane is developed in C. It empowers users to customize flow entry issuance when utilizing either open-source or custom OVS, ensuring seamless adaptation between the control plane software and the data plane.

Development of the OVS control plane is optional. By default, if no custom development is performed, the control plane supports a pre-defined set of keys and actions. See Table 1 and Table 2.

Table 1 Supported DPDK keys

Issuance Condition

DPDK Key Type Name

Valid Field Type Description

The L3 protocol of the packet is IPv4.

RTE_FLOW_ITEM_TYPE_IPV4

IPv4 protocol field, which indicates the protocol type of the next layer.

IPv4 sip field, which indicates the source IP address.

IPv4 dip field, which indicates the destination IP address.

The L3 protocol of the packet is IPv6.

RTE_FLOW_ITEM_TYPE_IPV6

IPv6 protocol field, which indicates the protocol type of the next layer.

IPv6 sip field, which indicates the source IP address.

IPv6 dip field, which indicates the destination IP address.

The L4 protocol of the packet is TCP.

RTE_FLOW_ITEM_TYPE_TCP

TCP sport field, which indicates the source port.

TCP dport field, which indicates the destination port.

The L4 protocol of the packet is UDP.

RTE_FLOW_ITEM_TYPE_UDP

UDP sport field, which indicates the source port.

UDP dport field, which indicates the destination port.

The L2 protocols of the packet are Ethernet and VLAN.

RTE_FLOW_ITEM_TYPE_ETH

Ethernet eth_type field, which indicates the protocol type of the next layer.

Ethernet smac field, which indicates the source MAC address.

Ethernet dmac field, which indicates the destination MAC address.

The L2 protocol of the packet is VLAN.

RTE_FLOW_ITEM_TYPE_VLAN

VLAN vlan_tci (pri + cfi + vid) field.

  • pri represents the 802.1p priority of the data frame.
  • cfi indicates whether the MAC address is encapsulated in a standard format across different transmission media.
  • vid indicates the ID of the VLAN to which the data frame belongs.

Default issuance

RTE_FLOW_ITEM_TYPE_PORT_ID

Source port of the packet.

VXLAN tunnel packet

RTE_FLOW_ITEM_TYPE_VXLAN

VXLAN tunnel layer vni field, which is the network identifier of the VXLAN.

The L4 protocol of the packet is ICMP.

RTE_FLOW_ITEM_TYPE_ICMP

ICMP type field, which indicates the message type. The type field and code field together identify the ICMP packet type.

ICMP code field, which indicates the message sub-type. The type field and code field together identify the ICMP packet type.

ICMP identifier field, which indicates the echo request corresponding to the echo reply.

The L4 protocol of the packet is ICMPv6.

RTE_FLOW_ITEM_TYPE_ICMP6

ICMPv6 type field, which indicates the message type. The type field and code field together identify the ICMPv6 packet type.

ICMPv6 code field, which indicates the message sub-type. The type field and code field together identify the ICMPv6 packet type.

The issuance of the following actions is determined by the OVS and OpenFlow flow table configurations.

Table 2 Supported DPDK actions

DPDK Action Type Name

Description

RTE_FLOW_ACTION_TYPE_COUNT

Collects hit statistics for flow entries.

RTE_FLOW_ACTION_TYPE_PORT_ID

Specifies the destination port of a packet, which indicates the output port for the packet.

RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC

Modifies the source IP address in the IPv4 header.

RTE_FLOW_ACTION_TYPE_SET_IPV4_DST

Modifies the destination IP address in the IPv4 header.

RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC

Modifies the source IP address in the IPv6 header.

RTE_FLOW_ACTION_TYPE_SET_IPV6_DST

Modifies the destination IP address in the IPv6 header.

RTE_FLOW_ACTION_TYPE_SET_TP_SRC

Modifies the source port in the TCP/UDP header.

RTE_FLOW_ACTION_TYPE_SET_TP_DST

Modifies the destination port in the TCP/UDP header.

RTE_FLOW_ACTION_TYPE_SET_MAC_SRC

Modifies the source MAC address in the Ethernet header.

RTE_FLOW_ACTION_TYPE_SET_MAC_DST

Modifies the destination MAC address in the Ethernet header.

RTE_FLOW_ACTION_TYPE_OF_POP_VLAN

Decapsulates VLAN tunnel packets.

RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN

Encapsulates VLAN tunnel packets.

RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP

Modifies the PCP field of VLAN packets.

RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID

Modifies the VID field of VLAN packets.

RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP

Encapsulates VXLAN tunnel packets.

RTE_FLOW_ACTION_TYPE_VXLAN_DECAP

Decapsulates VXLAN tunnel packets.

RTE_FLOW_ACTION_TYPE_SET_TTL

Sets the TTL field of IP packets.

RTE_FLOW_ACTION_TYPE_DEC_TTL

Decrements the TTL field of IP packets.