Test-Label: iol-testing Test-Status: WARNING http://dpdk.org/patch/101118 _apply patch failure_ Submitter: Ajit Khaparde Date: Monday, October 11 2021 22:50:39 Applied on: CommitID:e0ae3db0c043cbdc4cc22bb60206f21ec4a82a02 Apply patch set 101118 failed: Checking patch drivers/net/bnxt/bnxt_filter.h... error: while searching for: #define HWRM_CFA_EM_FILTER 1 #define HWRM_CFA_NTUPLE_FILTER 2 #define HWRM_CFA_TUNNEL_REDIRECT_FILTER 3 #define HWRM_CFA_CONFIG_VNIC 4 uint8_t filter_type; uint32_t dst_id; error: patch failed: drivers/net/bnxt/bnxt_filter.h:43 Checking patch drivers/net/bnxt/bnxt_flow.c... error: while searching for: if (rss->func != RTE_ETH_HASH_FUNCTION_DEFAULT && rss->func != RTE_ETH_HASH_FUNCTION_TOEPLITZ) { rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_ACTION, act, "Unsupported RSS hash function"); error: patch failed: drivers/net/bnxt/bnxt_flow.c:1127 error: while searching for: } /* key_len should match the hash key supported by hardware */ if (rss->queue_num == 0 && ((rss->key_len == 0 && rss->key != NULL) || (rss->key_len != 0 && rss->key == NULL) || (rss->key_len != 0 && rss->key_len != HW_HASH_KEY_SIZE))) { rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_ACTION, error: patch failed: drivers/net/bnxt/bnxt_flow.c:1136 error: while searching for: */ if (rss->level > 2) { rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_ACTION, act, "Unsupported hash level"); error: patch failed: drivers/net/bnxt/bnxt_flow.c:1156 error: while searching for: vnic->hash_mode = bnxt_rte_to_hwrm_hash_level(bp, rss->types, rss->level); /* Update RETA table only if key_len != 0 */ if (rss->key_len != 0) memcpy(vnic->rss_hash_key, rss->key, rss->key_len); error: patch failed: drivers/net/bnxt/bnxt_flow.c:1187 error: while searching for: use_ntuple = bnxt_filter_type_check(pattern, error); rc = bnxt_validate_rss_action(actions); if (rc != 0) { rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_ACTION, act, "Invalid actions specified with RSS"); rc = -rte_errno; goto ret; } start: switch (act->type) { case RTE_FLOW_ACTION_TYPE_QUEUE: error: patch failed: drivers/net/bnxt/bnxt_flow.c:1272 error: while searching for: filter->flow_id = filter1->flow_id; break; case RTE_FLOW_ACTION_TYPE_RSS: rss = (const struct rte_flow_action_rss *)act->conf; vnic_id = bnxt_get_vnic(bp, attr->group); error: patch failed: drivers/net/bnxt/bnxt_flow.c:1504 error: while searching for: BNXT_VALID_VNIC_OR_RET(bp, vnic_id); vnic = &bp->vnic_info[vnic_id]; if (filter->enables == 0 && filter->valid_flags == 0) { /* RSS config update requested */ rc = bnxt_vnic_rss_cfg_update(bp, vnic, act, error); if (rc != 0) { rc = -rte_errno; goto ret; } else { filter->dst_id = vnic->fw_vnic_id; filter->filter_type = HWRM_CFA_CONFIG_VNIC; break; } } /* Check if requested RSS config matches RSS config of VNIC error: patch failed: drivers/net/bnxt/bnxt_flow.c:1511 Hunk #9 succeeded at 2010 (offset -186 lines). Applying patch drivers/net/bnxt/bnxt_filter.h with 1 reject... Rejected hunk #1. Applying patch drivers/net/bnxt/bnxt_flow.c with 7 rejects... Hunk #1 applied cleanly. Rejected hunk #2. Rejected hunk #3. Rejected hunk #4. Rejected hunk #5. Rejected hunk #6. Rejected hunk #7. Rejected hunk #8. Hunk #9 applied cleanly. diff a/drivers/net/bnxt/bnxt_filter.h b/drivers/net/bnxt/bnxt_filter.h (rejected hunks) @@ -43,7 +43,7 @@ struct bnxt_filter_info { #define HWRM_CFA_EM_FILTER 1 #define HWRM_CFA_NTUPLE_FILTER 2 #define HWRM_CFA_TUNNEL_REDIRECT_FILTER 3 -#define HWRM_CFA_CONFIG_VNIC 4 +#define HWRM_CFA_CONFIG 4 uint8_t filter_type; uint32_t dst_id; diff a/drivers/net/bnxt/bnxt_flow.c b/drivers/net/bnxt/bnxt_flow.c (rejected hunks) @@ -1127,7 +1131,7 @@ bnxt_vnic_rss_cfg_update(struct bnxt *bp, if (rss->func != RTE_ETH_HASH_FUNCTION_DEFAULT && rss->func != RTE_ETH_HASH_FUNCTION_TOEPLITZ) { rte_flow_error_set(error, - EINVAL, + ENOTSUP, RTE_FLOW_ERROR_TYPE_ACTION, act, "Unsupported RSS hash function"); @@ -1136,10 +1140,7 @@ bnxt_vnic_rss_cfg_update(struct bnxt *bp, } /* key_len should match the hash key supported by hardware */ - if (rss->queue_num == 0 && - ((rss->key_len == 0 && rss->key != NULL) || - (rss->key_len != 0 && rss->key == NULL) || - (rss->key_len != 0 && rss->key_len != HW_HASH_KEY_SIZE))) { + if (rss->key_len != 0 && rss->key_len != HW_HASH_KEY_SIZE) { rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_ACTION, @@ -1156,7 +1157,7 @@ bnxt_vnic_rss_cfg_update(struct bnxt *bp, */ if (rss->level > 2) { rte_flow_error_set(error, - EINVAL, + ENOTSUP, RTE_FLOW_ERROR_TYPE_ACTION, act, "Unsupported hash level"); @@ -1187,7 +1188,7 @@ bnxt_vnic_rss_cfg_update(struct bnxt *bp, vnic->hash_mode = bnxt_rte_to_hwrm_hash_level(bp, rss->types, rss->level); - /* Update RETA table only if key_len != 0 */ + /* Update RSS key only if key_len != 0 */ if (rss->key_len != 0) memcpy(vnic->rss_hash_key, rss->key, rss->key_len); @@ -1272,17 +1273,6 @@ bnxt_validate_and_parse_flow(struct rte_eth_dev *dev, use_ntuple = bnxt_filter_type_check(pattern, error); - rc = bnxt_validate_rss_action(actions); - if (rc != 0) { - rte_flow_error_set(error, - EINVAL, - RTE_FLOW_ERROR_TYPE_ACTION, - act, - "Invalid actions specified with RSS"); - rc = -rte_errno; - goto ret; - } - start: switch (act->type) { case RTE_FLOW_ACTION_TYPE_QUEUE: @@ -1504,6 +1494,17 @@ bnxt_validate_and_parse_flow(struct rte_eth_dev *dev, filter->flow_id = filter1->flow_id; break; case RTE_FLOW_ACTION_TYPE_RSS: + rc = bnxt_validate_rss_action(actions); + if (rc != 0) { + rte_flow_error_set(error, + EINVAL, + RTE_FLOW_ERROR_TYPE_ACTION, + act, + "Invalid actions specified with RSS"); + rc = -rte_errno; + goto ret; + } + rss = (const struct rte_flow_action_rss *)act->conf; vnic_id = bnxt_get_vnic(bp, attr->group); @@ -1511,17 +1512,18 @@ bnxt_validate_and_parse_flow(struct rte_eth_dev *dev, BNXT_VALID_VNIC_OR_RET(bp, vnic_id); vnic = &bp->vnic_info[vnic_id]; - if (filter->enables == 0 && filter->valid_flags == 0) { + /* + * For non NS3 cases, rte_flow_items will not be considered + * for RSS updates. + */ + if (filter->filter_type == HWRM_CFA_CONFIG) { /* RSS config update requested */ rc = bnxt_vnic_rss_cfg_update(bp, vnic, act, error); - if (rc != 0) { - rc = -rte_errno; - goto ret; - } else { - filter->dst_id = vnic->fw_vnic_id; - filter->filter_type = HWRM_CFA_CONFIG_VNIC; - break; - } + if (rc != 0) + return -rte_errno; + + filter->dst_id = vnic->fw_vnic_id; + break; } /* Check if requested RSS config matches RSS config of VNIC https://lab.dpdk.org/results/dashboard/patchsets/19312/ UNH-IOL DPDK Community Lab