Test-Label: iol-testing Test-Status: WARNING http://dpdk.org/patch/95382 _apply patch failure_ Submitter: Shun Hao Date: Tuesday, July 06 2021 13:14:50 Applied on: CommitID:254501687fade29b11125d79c734346a9dd21138 Apply patch set 95382-95385 failed: Checking patch drivers/net/mlx5/mlx5.h... Hunk #2 succeeded at 698 (offset -2 lines). Hunk #3 succeeded at 718 (offset -2 lines). Hunk #4 succeeded at 1677 (offset -1 lines). Checking patch drivers/net/mlx5/mlx5_flow.c... error: while searching for: struct mlx5_flow dev_flow = {0}; struct mlx5_flow_handle dev_handle = { {0} }; if (policy->is_rss) { const void *rss_act = policy->act_cnt[i].rss->conf; struct rte_flow_action rss_actions[2] = { [0] = { .type = RTE_FLOW_ACTION_TYPE_RSS, error: patch failed: drivers/net/mlx5/mlx5_flow.c:4613 Hunk #5 succeeded at 4651 (offset -4 lines). Hunk #6 succeeded at 4691 (offset -4 lines). Hunk #7 succeeded at 4716 (offset -4 lines). Hunk #8 succeeded at 4727 (offset -4 lines). Hunk #9 succeeded at 4807 (offset -49 lines). Hunk #10 succeeded at 5724 (offset -21 lines). Hunk #11 succeeded at 5770 (offset -21 lines). Checking patch drivers/net/mlx5/mlx5_flow.h... Checking patch drivers/net/mlx5/mlx5_flow_dv.c... Hunk #1 succeeded at 7807 (offset -57 lines). Hunk #2 succeeded at 14988 (offset -42 lines). error: while searching for: struct mlx5_flow_dv_tag_resource *tag; struct mlx5_flow_dv_port_id_action_resource *port_action; struct mlx5_hrxq *hrxq; uint8_t egress, transfer; bool match_src_port = false; int i; error: patch failed: drivers/net/mlx5/mlx5_flow_dv.c:15563 Hunk #4 succeeded at 15568 (offset -50 lines). Hunk #5 succeeded at 15620 (offset -50 lines). Hunk #6 succeeded at 15640 (offset -52 lines). error: while searching for: egress, transfer, match_src_port, acts)) { DRV_LOG(ERR, "Failed to create policy rules per domain."); return -1; } return 0; } /** error: patch failed: drivers/net/mlx5/mlx5_flow_dv.c:15644 Hunk #8 succeeded at 16000 (offset -56 lines). Hunk #9 succeeded at 16047 (offset -56 lines). Hunk #10 succeeded at 16073 (offset -56 lines). Hunk #11 succeeded at 16120 (offset -56 lines). Hunk #12 succeeded at 16135 (offset -56 lines). Checking patch drivers/net/mlx5/mlx5_flow_meter.c... Hunk #1 succeeded at 518 (offset -11 lines). Hunk #2 succeeded at 671 (offset -10 lines). Hunk #3 succeeded at 781 (offset -10 lines). Applied patch drivers/net/mlx5/mlx5.h cleanly. Applying patch drivers/net/mlx5/mlx5_flow.c with 1 reject... Hunk #1 applied cleanly. Hunk #2 applied cleanly. Hunk #3 applied cleanly. Rejected hunk #4. Hunk #5 applied cleanly. Hunk #6 applied cleanly. Hunk #7 applied cleanly. Hunk #8 applied cleanly. Hunk #9 applied cleanly. Hunk #10 applied cleanly. Hunk #11 applied cleanly. Applied patch drivers/net/mlx5/mlx5_flow.h cleanly. Applying patch drivers/net/mlx5/mlx5_flow_dv.c with 2 rejects... Hunk #1 applied cleanly. Hunk #2 applied cleanly. Rejected hunk #3. Hunk #4 applied cleanly. Hunk #5 applied cleanly. Hunk #6 applied cleanly. Rejected hunk #7. Hunk #8 applied cleanly. Hunk #9 applied cleanly. Hunk #10 applied cleanly. Hunk #11 applied cleanly. Hunk #12 applied cleanly. Applied patch drivers/net/mlx5/mlx5_flow_meter.c cleanly. diff a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c (rejected hunks) @@ -4613,9 +4612,9 @@ get_meter_sub_policy(struct rte_eth_dev *dev, struct mlx5_flow dev_flow = {0}; struct mlx5_flow_handle dev_handle = { {0} }; - if (policy->is_rss) { + if (final_policy->is_rss) { const void *rss_act = - policy->act_cnt[i].rss->conf; + final_policy->act_cnt[i].rss->conf; struct rte_flow_action rss_actions[2] = { [0] = { .type = RTE_FLOW_ACTION_TYPE_RSS, diff a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c (rejected hunks) @@ -15563,7 +15596,14 @@ __flow_dv_create_policy_acts_rules(struct rte_eth_dev *dev, struct mlx5_flow_dv_tag_resource *tag; struct mlx5_flow_dv_port_id_action_resource *port_action; struct mlx5_hrxq *hrxq; - uint8_t egress, transfer; + struct mlx5_flow_meter_info *next_fm = NULL; + struct mlx5_flow_meter_policy *next_policy; + struct mlx5_flow_meter_sub_policy *next_sub_policy; + struct mlx5_flow_tbl_data_entry *tbl_data; + struct rte_flow_error error; + uint8_t egress = (domain == MLX5_MTR_DOMAIN_EGRESS) ? 1 : 0; + uint8_t transfer = (domain == MLX5_MTR_DOMAIN_TRANSFER) ? 1 : 0; + bool mtr_first = egress || (transfer && priv->representor_id != 0xffff); bool match_src_port = false; int i; @@ -15644,9 +15740,13 @@ __flow_dv_create_policy_acts_rules(struct rte_eth_dev *dev, egress, transfer, match_src_port, acts)) { DRV_LOG(ERR, "Failed to create policy rules per domain."); - return -1; + goto err_exit; } return 0; +err_exit: + if (next_fm) + mlx5_flow_meter_detach(priv, next_fm); + return -1; } /** Checking patch drivers/net/mlx5/mlx5.h... error: drivers/net/mlx5/mlx5.h: does not match index Checking patch drivers/net/mlx5/mlx5_flow.c... error: drivers/net/mlx5/mlx5_flow.c: does not match index Checking patch drivers/net/mlx5/mlx5_flow.h... error: drivers/net/mlx5/mlx5_flow.h: does not match index Checking patch drivers/net/mlx5/mlx5_flow_dv.c... error: drivers/net/mlx5/mlx5_flow_dv.c: does not match index Checking patch drivers/net/mlx5/mlx5_flow_dv.c... error: drivers/net/mlx5/mlx5_flow_dv.c: does not match index Checking patch drivers/net/mlx5/mlx5_flow_meter.c... error: drivers/net/mlx5/mlx5_flow_meter.c: does not match index Skipped patch 'doc/guides/nics/mlx5.rst'. Skipped patch 'doc/guides/rel_notes/release_21_08.rst'. Checking patch drivers/net/mlx5/mlx5_flow_dv.c... error: drivers/net/mlx5/mlx5_flow_dv.c: does not match index https://lab.dpdk.org/results/dashboard/patchsets/17680/ UNH-IOL DPDK Community Lab