Intel® Ethernet Controller E810 Application Device Queues (ADQ)

Configuration Guide

ID 609008
Date 04/03/2023
Version 2.8
Document Table of Contents

ADQ VF Configuration

The instructions in this section show how to configure ADQ on the SUT using the VF interface created in either SUT Configuration Bare Metal VF or SUT Configuration VF Inside a VM. If using a VM, the ADQ configuration should be done inside the VM.

  1. Enable channel-pkt-inspect-optimize on the VF interface(s): ethtool --set-priv-flags $iface_vf channel-pkt-inspect-optimize on
  2. Follow the instructions in ADQ Configuration on SUT, and also the tuning steps listed in the applicable sections for netperf, Memcached, Redis, and NGINX for application-specific system tuning for the VF interface.

    When creating Traffic Classes (TCs), TC Filter(s), and issuing any ethtool commands, replace $iface with $iface_​vf, and $ipaddr with $ipaddr_​vf to use the VF interface and IP Address.

    For example, when creating a TC for the VF, specify the $iface_​vf interface.

    ethtool -K $iface_vf hw-tc-offload on ${pathtotc}/tc qdisc add dev $iface_vf root mqprio num_tc 2 \ map 0 1 queues $num_queues_tc0@0 $num_queues_tc1@$num_queues_tc0 hw 1 \ mode channel Note: Due to timing issues, applying TC filters immediately after the tc qdisc add command might result system reboot/crash. It is recommended to add two seconds of sleep time after the tc qdisc add command before adding TC filters. Note:The total number of queues in the Traffic Classes (combined) is limited to the total number of queues in the VF. Refer to iavf documentation to determine total number of queues available for the VF before creating TCs.

    The following example creates one TC filter on the VF interface under test:

    ${pathtotc}/tc qdisc add dev $iface_vf clsact ${pathtotc}/tc filter add dev $iface_vf protocol ip ingress\ prio 1 flower dst_ip $ipaddr_vf/32 ip_proto tcp dst_port $app_port skip_sw hw_tc 1
  3. Confirm TC configuration:
    1. Check that TCs were created correctly. ${pathtotc}/tc qdisc show dev $iface_vf
    2. Check TC filters. ${pathtotc}/tc filter show dev $iface_vf ingress
  4. After the test finishes, remove the ADQ VF configuration following the steps in Clear the ADQ Configuration.

    To remove VF interfaces:

    echo 0 > /sys/class/net/$iface_pf/device/sriov_numvfs

All other ADQ configuration follows section ADQ Configuration on SUT and the application-specific sections that follow.

Note:For VF, use the set_​irq_​affinity and set_​xps_​rxqs scripts from the ice driver package and specify the $iface_​vf interface. Note:Add at least 2 seconds of sleep time to restore all queues before reconfiguring the ADQ VF traffic classes.