Service Engines in Azure support DPDK mode of operation.

Applicability of DPDK Mode

For a new deployment,

  • DPDK mode will be enabled for all Service Engine Groups.

  • DPDK can be disabled at a per Service Engine Group level.

For an existing (pre-21.1.3) deployment which is upgraded to the 21.1.3 version or later:

  • DPDK mode will remain disabled for existing Service Engine groups.

  • DPDK mode will be enabled for new Service Engine groups.

For a Service Engine group with dedicated interfaces enabled, DPDK mode will be enabled only on the data interface.

Enabling DPDK Mode

DPDK mode can be enabled or disabled using the Service Engine Group setting, se_dpdk_pmd. The parameter takes the following values:

  • 0: Automatic — Each Service Engine will attempt to use DPDK mode, and fall back to PCAP mode if all requirements are not met.

  • 1: DPDK — Each Service Engine will attempt to use DPDK mode only. There is no fallback to PCAP mode. This setting is not recommended.

  • 2: PCAP — Each Service Engine will use PCAP mode only. This setting can be used to force all SEs in an SE Group to PCAP. Additionally, on upgrade from a previous release, the se_dpdk_pmd will be set to this value for all existing Service Engine Groups.

Note:

If the mode is changed for a Service Engine Group containing SEs, the SEs must be rebooted for the new behavior to take effect.

DPDK Modes

The following configuration snippet enables PCAP mode:

[admin:ctrl]: > configure serviceenginegroup Default-Group 

[admin:ctrl]: serviceenginegroup> se_dpdk_pmd 2 

[admin:ctrl]: serviceenginegroup> save 

The following configuration snippet enables auto mode, which prefers DPDK:

[admin:ctrl]: > configure serviceenginegroup Default-Group 

[admin:ctrl]: serviceenginegroup> se_dpdk_pmd 0 

[admin:ctrl]: serviceenginegroup> save 

Conditions for DPDK Mode to be Active on a Service Engine

When DPDK mode has been enabled for a Service Engine Group, the individual Service Engine virtual machines still need to comply with the following requirements, to be able to run in this mode:

  • Only instances with Accelerated Networking Enabled are supported.

  • In addition, the NIC needs to be of the following types:

    • Mellanox ConnectX-4

    • Mellanox ConnectX-5

  • Mellanox ConnectX-3, also available in some virtual machine instances in Azure, is not supported.

Note:

Starting with NSX Advanced Load Balancer 22.1.3, DPDK for Mellanox ConnectX-6 up to 100 Gbps is supported.

The NIC attached to the instance is controlled by Azure. So, the mode of the SE virtual machine will be determined only after the SE has been provisioned. Based on internal tests, the FS_v2family, with FS4_v2 and higher, are typically available in DPDK mode. This can vary with geography.

Checking for Service Engine Status

The show serviceengine interface command can be used to check the status of SEs.

[admin:controller]: > show serviceengine Avi-se-bjvvj interface  | grep se_dpdk     se_dpdk_mode    |True