Intel® Ethernet Controller E810 Application Device Queues (ADQ)
Configuration Guide
TC Filtering
Rx and Tx filtering for ADQ application traffic can be configured with the iproute2 utility. ADQ supports a wide variety of filter options and protocols, summarized here with examples listed below in this section:
- src/dst IP + port (Rx and Tx)
- DMAC (destination MAC)
- Forward to a queue using classid
- GTP Protocol
- VLAN Protocol
- VXLAN Protocol
- 256 queue pairs (256 MSI-X interrupts) per-PF
Queues from TC1 are used as a destination for the ADQ filter, which is a combination of the destination IP Address plus the destination port. This aligns both transmit and receive traffic on queues belonging to TC1.
Example Using IP Protocol
Method 1: ingress filter for RX (requires a cgroup to align TX):
Method 2: ingress/egress filters for RX/TX (cgroup not required):
Example Using DMAC (Destination MAC)
Example of Forwarding to a Queue Using classid
- $queue_id is a hexadecimal queue id starting with an initial value of 0x1
For example: 0xb is hexadecimal queue id and it corresponds to queue 10 [0xa + 0x1]
Example Using GTP Protocol
- The feature is supported by ice driver versions 1.7.x and later.
- GTP filters require the Telecommunications DDP Package to be loaded on the PF port before TC configuration begins. For details on DDP and how to load the package, refer the Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP) Technology Guide.
The Device Dynamic Personalization (DDP) Telecommunication package can be downloaded here:
https://downloadcenter.intel.com/download/29889/Intel-Ethernet-800-Series-Telecommunication-Comms-Dynamic-Device-Personalization-DDP-Package
Example Using VLAN Protocol
Example Using VXLAN Protocol
Example Using IPv6 Protocol
Parameter Definitions
- dst_ip – IP V4/V6 Address of DUT (in VXLAN filters, it is VXLAN interface IP).
- dst_mac – MAC Address of DUT.
- dst_port – Destination port.
- flower – Flow-based traffic control filter.
- ip_proto – IP protocol to use (TCP or UDP).
- prio – Priority.
- protocol – Encapsulation protocol (valid options are IP, and 802.1Q).
- skip_sw – Flag to add the rule only in hardware.
- hw_tc <tc > – Route incoming traffic flow to this hardware TC. The TC count starts at 0. For example, hw_tc 1 indicates that the filter is on the second TC.
- vlan_id – VLAN ID.
- vlan_ethtype – Type of Ethernet (IPv4).
- enc_key_ID – GTP Tunnel Key ID (in VXLAN filters, it is network identifier).
- enc_dst_port – GTP port number.
- classid - Queue id specification
- ffff - qdisc ID (fixed value -
tc qdisc show dev $iface ingress/clsact )