Intel® Ethernet Controller E810 Application Device Queues (ADQ)

Configuration Guide

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

Clear the ADQ Configuration

To clear ADQ configuration after finishing testing, it is recommended to remove TC filters first before removing the TCs. Note that if the TCs are removed first, any existing TC filters will not function properly even if the TC is re-added. All TC filters must be added after the TC creation step.

Note:Use $iface_​vf to clear the VF ADQ configuration, and use $iface to clear the PF ADQ configuration.
  1. Remove ntuple rules (if applicable). ethtool --features $iface ntuple off
  2. Remove the cgroup (if applicable). cgdelete -g net_prio:${cgroup_name}
  3. Remove all Traffic Class (TC) filters on the interface under test. The following example removes an ingress and egress filter with priority 1:

    To remove PF-specific filters:

    ${pathtotc}/tc filter del dev $iface protocol ip ingress prio 1 ${pathtotc}/tc filter del dev $iface protocol ip egress prio 1

    To remove VXLAN-specific filters:

    ${pathtotc}/tc filter del dev $vxlan ingress
  4. Remove all TCs on the interface under test. ${pathtotc}/tc qdisc del dev $iface clsact ${pathtotc}/tc qdisc del dev $iface root mqprio
  5. To remove VF interfaces: echo 0 > /sys/class/net/$iface_pf/device/sriov_numvfs Note:This step is applicable when the system is configured with ADQ VF.
  6. Disable pollers. iface_bdf=$(ethtool -i $iface | grep bus-info | awk '{print $2}') devlink dev param set pci/$face_bdf name num_qps_per_poller value 0 cmode runtime
  7. Turn off napi threading. echo 0 > /sys/class/net/$iface/threaded Note:Steps 6 and 7 are applicable when the ADQ setup is configured with independent pollers (ADQ2.0) and kthread based napi polling.
  8. Confirm configuration is cleared. ${pathtotc}/tc filter show dev $iface ingress ${pathtotc}/tc filter show dev $iface egress ${pathtotc}/tc qdisc show dev $iface
Note:It is recommended to remove ntuple rules, cgroup and TC filters first, before removing the TCs.

An alternative is to reload the ice driver to remove any (and all) TC configurations, system wide. Reloading the ice driver should only be done if there are no other E810 interfaces in use on the system, as this will disrupt all network traffic.

rmmod ice sleep 2 modprobe iceNote:Add at least 2 seconds of sleep time to restore all queues before reconfiguring the ADQ traffic classes.