Intel® Ethernet Controller E810 Application Device Queues (ADQ)

Configuration Guide

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

Troubleshooting

  1. During or after a test, check that pkt_​busy_​poll counters on the ADQ queues for the interface are incrementing: watch -d "ethtool -S ${iface} | grep poll | grep -v ': 0' | column Note:The pkt_​busy_​poll counters are enabled by the -DADQ_​PERF_​COUNTERS CFLAG during ice driver compile. If the counters are not listed in ethtool -S output, verify ice was built using the compile command listed in Install ice Driver with ADQ Flags.
    1. If ADQ Rx queues are being used, but not Tx, check if the priority flags on the server and client are set and using the same priority. Priority is first set by the map parameter in the tc qdisc add command when creating TCs (example: map 0 1 2 queues). Priority is next set by the prio parameter in the tc filter add command (example: prio 1). Priority is also assigned to the net_​prio subsystem of the Control Group for applications that use cgroups (example: cgset -r net_​prio.ifpriomap="$iface $prio" ${cgroup_​name}). For applications using the SO_​PRIORITY socket option, priority is set by the application (check application command-line for option to specify priority).
    2. If ADQ Tx queues are being used, but not Rx, check that the TC filter on both sides were applied properly.
    3. If none of the ADQ queues are being used, check that the port value matches in all of the commands on the client and server.
    4. If pkt_​not_​busy_​poll counters are incrementing on ADQ queues, check the busy_​poll and busy_​read settings are applied correctly. For applications that require a ntuple (perfect filter) rule for default traffic, verify configuration of the default queue.
    5. If ADQ application traffic is going to the default queues when using VF interface(s), verify network subnets. Some applications require VF interfaces to be configured on a separate subnet than the PF interfaces.
  2. Check versions and settings: ip addr show dev $iface | grep -i -e "mtu" -e "inet" ethtool -i $iface | grep -e "driver" -e "^version" -e "firmware" ethtool --show-channels $iface ethtool --show-coalesce $iface ethtool --show-priv-flags $iface ${pathtotc}/tc filter show dev $iface ingress ${pathtotc}/tc qdisc show dev $iface | grep -i -e "queue" -e "mode" -e "mqprio" cat /proc/sys/net/core/busy_poll cat /proc/sys/net/core/busy_read