[dpdk-dev] Symmetric RSS Hashing in DPDK

Kamraan Nasim knasim at sidebandnetworks.com
Tue Dec 16 20:52:20 CET 2014


Hello,

My DPDK application requires bidirectional TCP flows to have the same RSS
hash however default RSS hashing is *asymmetric*.

There are posts such as:
http://dpdk.info/ml/archives/dev/2014-February/001460.html

which point to a symmetric RSS key(0x6d5a). I have tried using it but it is
still hashing bi-directional flows separately. I am using an 82599 NIC.

Have others come across this? What other options are available(I presume
S/W hashing)?

Appreciate any help I can get on this :)

#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,
};
// ethernet rx config
static struct rte_eth_conf port_conf = {
    .rxmode = {
        .mq_mode    = ETH_MQ_RX_RSS,
        .split_hdr_size = 0,
        .header_split   = 0, /**< Header Split disabled */
        .hw_ip_checksum = 1, /**< IP checksum offload enabled */
        .hw_vlan_filter = 0, /**< VLAN filtering disabled */
        .jumbo_frame    = 0, /**< Jumbo Frame Support disabled */
        .hw_strip_crc   = 0, /**< CRC stripped by hardware */
    },
    .rx_adv_conf = {
        .rss_conf = {
            .rss_key = hash_key,
            .rss_hf  = ETH_RSS_PROTO_MASK,
        },
    },
    .txmode = {
                .mq_mode = ETH_MQ_TX_NONE,
    },
};


Thanks,
Kam


More information about the dev mailing list