+Shai

śr., 10 lis 2021 o 00:34 fwefew 4t4tg <7532ya...@gmail.com> napisał(a):
>
> On AWS EC2 I configure:
>
> - c5n.metal instance
> - Stock AWS AMI Ubuntu 20.04 LTS ($ cat /proc/version
> Linux version 5.4.0-1045-aws)
> - Apply the vfio pci driver from https://github.com/amzn/am
> zn-drivers/tree/master/userspace/dpdk/enav2-vfio-patch
> - Using DPDK code from head of main branch. I built using ninja/meson
> - Add a 2nd ENA enabled NIC
> - Setup 2Mb huge pages, and bound the 2nd NIC with dpdk-devbind
>
> I run test-pmd with this command:
>
> $ sudo ./dpdk-testpmd --huge-dir=/mnt/huge -c 0xf -n 4 -- -i
> EAL: Detected CPU lcores: 72
> EAL: Detected NUMA nodes: 2
> EAL: Detected static linkage of DPDK
> EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
> EAL: Selected IOVA mode 'VA'
> EAL: No available 1048576 kB hugepages reported
> EAL: VFIO support initialized
> EAL: Using IOMMU type 1 (Type 1)
> EAL: Ignore mapping IO port bar(3)
> EAL: Probe PCI driver: net_ena (1d0f:ec20) device: 0000:7f:00.0 (socket 0)
> TELEMETRY: No legacy callbacks, legacy socket not created
> Interactive-mode selected
> Error picking flow transfer proxy for port 0: Function not implemented -
> ignore
> testpmd: create a new mbuf pool <mb_pool_0>: n=171456, size=2176, socket=0
> testpmd: preferred mempool ops selected: ring_mp_mc
> Warning! port-topology=paired and odd forward ports number, the last port
> will pair with itself.
> Configuring Port 0 (socket 0)
> Port 0: 16:9A:11:4A:5D:61
> Checking link statuses...
> Done
> Error during enabling promiscuous mode for port 0: Operation not supported
> - ignore
>
> *Key point: I try to enable RSS hash offload for UDP or TCP. I get the
> following error shown in bold:*
>
> testpmd> port config all rss udp
>
> *Port 0 modified RSS hash function based on hardware
> support,requested:0x20820 configured:0x820*ena_rss_hash_set(): Setting RSS
> hash fields is not supported
> ena_rss_hash_update(): Failed to set RSS hash
> *Configuration of RSS hash at ethernet port 0 failed with error (95):
> Operation not supported.*

As you can see, setting RSS hash fields is not supported by the
hardware. The driver provides this API call, but it cannot be
processed by the hardware as it lacks this feature.

If this API is not supported, the driver returns the defaults for
which the RSS HF is enabled in the FW:

#define ENA_ALL_RSS_HF (RTE_ETH_RSS_NONFRAG_IPV4_TCP |
RTE_ETH_RSS_NONFRAG_IPV4_UDP | \
RTE_ETH_RSS_NONFRAG_IPV6_TCP | RTE_ETH_RSS_NONFRAG_IPV6_UDP)

This is the 0xc30 value which you can see as 'valid value' in the
'hello_server' application.

Configuration of the RSS hash key should work although the RSS HF
cannot be changed. And RSS will be enabled for both the TCP and the
UDP by default - however it cannot be turned off.

Thanks,
Michal

Reply via email to