Skip to content

Commit 592a6e8

Browse files
author
liujinhui-job
committed
fix dev_info.hash_key_size is 0 init_port_start failed
1 parent 63196ac commit 592a6e8

File tree

1 file changed

+23
-21
lines changed

1 file changed

+23
-21
lines changed

lib/ff_dpdk_if.c

+23-21
Original file line numberDiff line numberDiff line change
@@ -656,27 +656,29 @@ init_port_start(void)
656656
rte_memcpy(pconf->mac,
657657
addr.addr_bytes, RTE_ETHER_ADDR_LEN);
658658

659-
/* Set RSS mode */
660-
uint64_t default_rss_hf = RTE_ETH_RSS_PROTO_MASK;
661-
port_conf.rxmode.mq_mode = RTE_ETH_MQ_RX_RSS;
662-
port_conf.rx_adv_conf.rss_conf.rss_hf = default_rss_hf;
663-
if (dev_info.hash_key_size == 52) {
664-
rsskey = default_rsskey_52bytes;
665-
rsskey_len = 52;
666-
}
667-
if (ff_global_cfg.dpdk.symmetric_rss) {
668-
printf("Use symmetric Receive-side Scaling(RSS) key\n");
669-
rsskey = symmetric_rsskey;
670-
}
671-
port_conf.rx_adv_conf.rss_conf.rss_key = rsskey;
672-
port_conf.rx_adv_conf.rss_conf.rss_key_len = rsskey_len;
673-
port_conf.rx_adv_conf.rss_conf.rss_hf &= dev_info.flow_type_rss_offloads;
674-
if (port_conf.rx_adv_conf.rss_conf.rss_hf !=
675-
RTE_ETH_RSS_PROTO_MASK) {
676-
printf("Port %u modified RSS hash function based on hardware support,"
677-
"requested:%#"PRIx64" configured:%#"PRIx64"\n",
678-
port_id, default_rss_hf,
679-
port_conf.rx_adv_conf.rss_conf.rss_hf);
659+
if (dev_info.hash_key_size > 0) {
660+
/* Set RSS mode */
661+
uint64_t default_rss_hf = RTE_ETH_RSS_PROTO_MASK;
662+
port_conf.rxmode.mq_mode = RTE_ETH_MQ_RX_RSS;
663+
port_conf.rx_adv_conf.rss_conf.rss_hf = default_rss_hf;
664+
if (dev_info.hash_key_size == 52) {
665+
rsskey = default_rsskey_52bytes;
666+
rsskey_len = 52;
667+
}
668+
if (ff_global_cfg.dpdk.symmetric_rss) {
669+
printf("Use symmetric Receive-side Scaling(RSS) key\n");
670+
rsskey = symmetric_rsskey;
671+
}
672+
port_conf.rx_adv_conf.rss_conf.rss_key = rsskey;
673+
port_conf.rx_adv_conf.rss_conf.rss_key_len = rsskey_len;
674+
port_conf.rx_adv_conf.rss_conf.rss_hf &= dev_info.flow_type_rss_offloads;
675+
if (port_conf.rx_adv_conf.rss_conf.rss_hf !=
676+
RTE_ETH_RSS_PROTO_MASK) {
677+
printf("Port %u modified RSS hash function based on hardware support,"
678+
"requested:%#"PRIx64" configured:%#"PRIx64"\n",
679+
port_id, default_rss_hf,
680+
port_conf.rx_adv_conf.rss_conf.rss_hf);
681+
}
680682
}
681683

682684
if (dev_info.tx_offload_capa & RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE) {

0 commit comments

Comments
 (0)