X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fi40e%2Fi40e_hash.c;h=b1cb24f4378c14ec5a2c3b9999aff0a3bda9f152;hb=6a11a1eac0b6dcd52580eef99cf6f09e3361cc3b;hp=e07f806a49908ae042de1a42692e9069fcc269b1;hpb=ef4c16fd9148215897abadf8e8a965488c82ba03;p=dpdk.git diff --git a/drivers/net/i40e/i40e_hash.c b/drivers/net/i40e/i40e_hash.c index e07f806a49..b1cb24f437 100644 --- a/drivers/net/i40e/i40e_hash.c +++ b/drivers/net/i40e/i40e_hash.c @@ -354,9 +354,10 @@ i40e_hash_get_pattern_type(const struct rte_flow_item pattern[], } /* Check the previous item allows this sub-item. */ - if (prev_item_type >= RTE_DIM(pattern_next_allow_items) || + if (prev_item_type >= (enum rte_flow_item_type) + RTE_DIM(pattern_next_allow_items) || !(pattern_next_allow_items[prev_item_type] & - BIT_ULL(pattern->type))) + BIT_ULL(pattern->type))) goto not_sup; /* For VLAN item, it does no matter about to pattern type @@ -372,7 +373,8 @@ i40e_hash_get_pattern_type(const struct rte_flow_item pattern[], } prev_item_type = last_item_type; - assert(last_item_type < RTE_DIM(pattern_item_header)); + assert(last_item_type < (enum rte_flow_item_type) + RTE_DIM(pattern_item_header)); item_hdr = pattern_item_header[last_item_type]; assert(item_hdr); @@ -676,10 +678,6 @@ i40e_hash_enable_pctype(struct i40e_hw *hw, { uint32_t reg, reg_val, mask; - /* For X722, get translated pctype in fd pctype register */ - if (hw->mac.type == I40E_MAC_X722) - pctype = i40e_read_rx_ctl(hw, I40E_GLQF_FD_PCTYPES(pctype)); - if (pctype < 32) { mask = BIT(pctype); reg = I40E_PFQF_HENA(0); @@ -901,10 +899,12 @@ i40e_hash_parse_key(const struct rte_flow_action_rss *rss_act, PMD_DRV_LOG(WARNING, "RSS key length invalid, must be %u bytes, now set key to default", (uint32_t)sizeof(rss_conf->key)); - key = (const uint8_t *)rss_key_default; + + memcpy(rss_conf->key, rss_key_default, sizeof(rss_conf->key)); + } else { + memcpy(rss_conf->key, key, sizeof(rss_conf->key)); } - memcpy(rss_conf->key, key, sizeof(rss_conf->key)); rss_conf->conf.key = rss_conf->key; rss_conf->conf.key_len = sizeof(rss_conf->key); }