[dpdk-dev] Broken RSS hash computation on Intel 82574L
De Lara Guarch, Pablo
pablo.de.lara.guarch at intel.com
Tue Sep 1 15:45:18 CEST 2015
Hi Martin,
> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Martin Drašar
> Sent: Monday, August 31, 2015 1:16 PM
> To: dev at dpdk.org
> Subject: [dpdk-dev] Broken RSS hash computation on Intel 82574L
>
> Hi,
>
> I am using RSS to get identical hash for both directions of a flow.
> Everything is working as it should with the Intel 82599ES, but when I
> run the same code with the Intel 82574L, then the hash is not calculated
> correctly and returns 0 as a hash value for all flows.
>
> I could use the Toeplitz hash implementation from 2.1.0, but I would
> rather do it in hardware, because according to specification, 82574L can
> do RSS in hardware.
>
> Any ideas what might be wrong?
>
> Thanks in advance,
> Martin
>
> conf:
> #define RSS_HASH_KEY_LENGTH 40
> static uint8_t hash_key[RSS_HASH_KEY_LENGTH] = {
> 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A,
> 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A,
> 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A,
> 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A,
> 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A };
>
> static const struct rte_eth_conf port_conf = {
> .link_speed = 0,
> .link_duplex = 0,
> .rxmode = {
> .mq_mode = ETH_RSS,
> .max_rx_pkt_len = 0,
> .split_hdr_size = 0,
> .header_split = 0,
> .hw_ip_checksum = 0,
> .hw_vlan_filter = 0,
> .hw_vlan_strip = 0,
> .hw_vlan_extend = 0,
> .jumbo_frame = 0,
> .hw_strip_crc = 0,
> },
> .txmode = {
> .mq_mode = ETH_DCB_NONE,
> },
> .lpbk_mode = 0,
> .rx_adv_conf = {
> .rss_conf = {
> .rss_key = hash_key,
> .rss_key_len = RSS_HASH_KEY_LENGTH,
> .rss_hf = ETH_RSS_PROTO_MASK,
> },
> },
> };
82574L NIC uses em PMD, which does not support more than 1 queue.
Therefore RSS is disabled in the NIC and then you cannot have RSS hashes.
Thanks,
Pablo
More information about the dev
mailing list