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