[dpdk-dev] Broken RSS hash computation on Intel 82574L
Martin Drašar
drasar at ics.muni.cz
Mon Aug 31 14:15:31 CEST 2015
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,
},
},
};
More information about the dev
mailing list