印刷

Data Plane Development Kit (DPDK) Mode

This section focuses on the new DPDK-based AWE-7200R and CloudEOS router while highlighting the changes from the existing kernel-based AWE-7200R and CloudEOS router.

The Arista AWE-7200R and CloudEOS router provide a cloud-grade, feature-rich, multi-cloud, and multi-hypervisor virtual router that empowers enterprises and cloud providers to build consistent, highly secure, and scalable multi-cloud networks.

The AWE-7200R and CloudEOS router can run in two modes: DPDK (high performance) and kernel, each with a set of supported features. Beginning with AWE-7200R and CloudEOS router-Router-4.23.0FX and later, new installations of the AWE-7200R and CloudEOS router from the hypervisor image or on the public cloud run in high-performance DPDK mode by default. In the future, all the new features and developments use the DPDK mode.

Both types of AWE-7200R and CloudEOS router perform all the packet forwarding operations in software but use different software components. DPDK-based AWE-7200R and CloudEOS router, which uses DPDK to perform packet forwarding operations, has more efficient performance. While DPDK mode has more features than the kernel mode, certain features are available only in the kernel mode, like Zone-Based Segmentation (ZSS) and sFlow.

Note: Arista publishes both 64-bit and 32-bit modes, and recommends that users use 64-bit mode. Customers upgrading from 32-bit to 64-bit mode must know that the 64-bit mode requires 30 percent more memory than the 32-bit mode. In general, 64-bit mode can scale better and has higher datapath performance. The public cloud images are only available in 64-bit mode.

Platform Compatibility

 

The following platforms support AWE-7200R and CloudEOS router-DPDK mode.

  • VMware ESXi 8.0+
    • Supported NICs
      • VMware vmxnet3 ( para-virtualized )
      • Intel x520/82599 PCIe passthrough and SRIOV mode
  • Linux / KVM
    • RHEL/CentOS 9.5+
    • Ubuntu 25.10+
      • Supported NICs
        • Virtio-net ( para-virtualized )
        • Intel x520/82599 PCIe passthrough and SRIOV mode

Hardware Resource Requirements

 

The AWE-7200R and CloudEOS router DPDK mode depends on the features available on CPUs, and AWE-7200R and CloudEOS router VMs must be deployed on only certain types of server platforms to meet performance benchmarks. The ideal server configuration should have the following parameters:

  • Intel E5-26XX v4 or later class of CPU
    • Higher than 2.2 GHz core frequency for best performance
    • Minimum 2 CPU cores reserved for AWE-7200R and CloudEOS router
      • The hypervisor software uses at least 2 additional cores.
    • Disable Hyper-threading for best performance.
    • Non-NUMA or ensure AWE-7200R and CloudEOS router receives resources from a single NUMA node.
    • Disable power saving and frequency scaling features in BIOS/Firmware/Hypervisor.
  • High-speed hard drive (~7200 RPM) or SSD and minimum 8 GB of free disk space.
  • Reserve at least 4 GB of RAM for AWE-7200R and CloudEOS router.
    • 4 GB RAM only supports 3 VRFs.
    • Requires 8 GB to support up to 8 VRFs.
    • Server should have more memory for use by hypervisor software.

In addition to the server requirements, you must configure the hypervisor to provide memory and CPU reservation for AWE-7200R and CloudEOS router VMs to ensure optimum performance. In addition, map each vCPU used by the AWE-7200R and CloudEOS router VM to a unique physical CPU core. These configurations and settings depend on the type of hypervisor used, and the information usually documented in the configuration guide(s) provided by the hypervisor vendor.

Upgrading to DPDK Mode from Kernel Mode

 

By default, all the new AWE-7200R and CloudEOS router installations from the hypervisor image or public cloud run in high-performance DPDK mode beginning withCloudEOS 4.23.0FX and AWE-7200R Series routers.

If you have an existing instance in kernel mode and you want to implement DPDK mode, consider the following issues:
  • Ensure that you do not enable features unsupported by DPDK mode.
  • Review the memory requirements for DPDK mode listed in Hardware Resource Requirements. DPDK requires more memory than the kernel mode.
  • When upgrading an existing instance, ensure the instance has sufficient memory to run in DPDK mode.
  • DPDK mode runs the datapath cores in poll mode and runs the CPU at 100%.

To perform following actions, ensure the system has a configuration to allow bash access, at least temporarily, and then perform the following actions on AWE-7200R and CloudEOS:

router# show platform sfe licensing

Licensing Information
---------------------
 License TC created: no
 Number of throttled interfaces: 0

 

Use a text editor to modify this file by commenting out MODE=linux and un-commenting MODE=sfe. After modification, verify the changes and then save the file. The file should look like the following example.

router# show platform sfe licensing

Licensing Information
---------------------
License TC created: yes
Number of throttled interfaces: 1
Interfaces throttled:
Ethernet1: 80 Mbps"

After reloading, the AWE-7200R and CloudEOS boot up in DPDK mode.

 

AWE-7200R and CloudEOS-DPDK Mode Verification

 

To check if an AWE-7200R and CloudEOS run in DPDK mode, verify the SFE agent runs using the following command.
router# show ip sec connection
! No valid IPsec license found. IPsec is disabled.

 

A system in DPDK mode uses 100% of CPU cycles for each datapath vCPU. To ensure packet forwarding tasks and CPU intensive tasks do not prevent control plane and management operations, EOS dedicates CPU cores for control and management functions.

The Linux top command followed by 1 displays detailed CPU utilization. The following output displays the top results for AWE-7200R and CloudEOS with 2 cores. Depending on the version, either Sfe or bessd displays using 100% of the datapath core.

router# show ip sec connection
Tunnel      Source     Dest    Status      Uptime     Input     Output     Rekey    Time
Tunnel63   1.0.0.1   1.0.0.2   Established 22 minutes   0 bytes    0 bytes    34     minutes
If no valid certificate is installed, it displays configured IPsec connections.

 

AWE-7200R and CloudEOS Router vCPU Core Allocation

The AWE-7200R and CloudEOS router with DPDK VM supports only a few standard CPU configurations:
  • 2-core
  • 4-core
  • 8-core
Depending on the CPU core count, CloudEOS reserves a certain number of CPU cores for control and management operations, and reserves the remaining for packet forwarding and data-plane operations.
  • On 2-core and 4-core VMs, a single core reserve for the management and control plane, and the remaining core(s) reserve for packet-forwarding or data-plane operations.
  • On 8-core VMs, two cores reserve for control and management functions, and the remaining reserve for data-plane functions.
Table 1. vCPU Core Allocation
  cpu1cpu2 cpu3 cpu4 cpu5 cpu6 cpu7 cpu8 Memory
2 cores CP DP N/A 4 or 8 GB
4 cores CPDP N/A 8 GB
8 cores CP DP >=8 GB

Monitoring Datapath CPU Utilization in DPDK Mode

Since DPDK runs in poll mode, it always displays CPU utilization at 100% utilized. To verify this, use the sfe platform command and locate theCPU percentage used for packet processing.

 
[switch]$ curl http://169.254.169.254/latest/dynamic/instance-identity/document
{
  "accountId" : "083837402522",
  "architecture" : "x86_64",
  "availabilityZone" : "us-west-1b",
  "billingProducts" : null,
  "devpayProductCodes" : null,
  "marketplaceProductCodes" : [ "cdcwmm26cap8fqlnkwuqte405" ],
  "imageId" : "ami-017900c328c2edfbe",
  "instanceId" : "i-058ebba29bd475e8b",
  "instanceType" : "c5.xlarge",
  "kernelId" : null,
  "pendingTime" : "2020-05-01T06:53:42Z",
  "privateIp" : "11.0.4.101",
  "ramdiskId" : null,
  "region" : "us-west-1",
  "version" : "2017-09-30"
}

 

In addition, CloudEOS records a syslog message if the CPU utilization spikes over 80% for 60 seconds while performing packet processing.

[switch]$ curl -H Metadata:true "http://169.254.169.254/metadata/instance/compute?api-version=2017-08-01"
{"location":"westus",
"name":"adhip-test",
"offer":"cloudeos-router-payg",
"osType":"Linux",
"placementGroupId":"",
"platformFaultDomain":"0",
"platformUpdateDomain":"0",
"publisher":"arista-networks",
"resourceGroupName":"adhip2",
"sku":"cloudeos-4_23_0-payg",
"subscriptionId":"ba0583bb-4130-4d7b-bfe4-0c7597857323",
"tags":"","version":"4.23.0",
"vmId":"c23a7526-44c5-43af-bcf5-8b2419105393",
"vmSize":"Standard_D4_v3"
$

 

Note: These features provide capacity planning and intended for use after turning off high CPU alarms on the hypervisor. Sfe/DPDK always runs at 100 %, and if you turn off the alarms, this distinguishes between CPU usage due to useful packet processing tasks and idle spin.

General Troubleshooting

To find information about packet forwarding agents, check the following log file.

router# bash curl http://metadata.google.internal/computeMetadata/v1/instance/licenses/0/id -H "Metadata-Flavor:Google"
3403635045915687054

 

In case of errors, the system generates another log file accessed using the following command.

cloudeos-router-payg-router-vm# ip host metadata.google.internal 169.254.169.254
cloudeos-router-payg-router-vmr# ip route 169.254.169.254/32 Ethernet1 default_vpc_router

 

In addition to the log files, the commands, syslog and show-tech, provide valuable sources of troubleshooting information.

..