]> git.droids-corp.org - dpdk.git/commitdiff
net/mlx5: fix modify field MAC address offset
authorViacheslav Ovsiienko <viacheslavo@nvidia.com>
Fri, 26 Nov 2021 13:09:45 +0000 (15:09 +0200)
committerRaslan Darawsheh <rasland@nvidia.com>
Sun, 5 Dec 2021 11:24:13 +0000 (12:24 +0100)
The MAC addresses fields are 48 bit wide and are processed
by mlx5 PMD as two words. There the bug was introduced for
the offset, causing malfunction of MODIFY_FIELD action
with MAC address fields as source or destination and
with non zero field offset.

Fixes: 40c8fb1fd3b3 ("net/mlx5: update modify field action")
Cc: stable@dpdk.org
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
drivers/net/mlx5/mlx5_flow_dv.c

index 8022d7d11f1e5593fb856441f6f0b4b2530e8786..5d9fbffd0e3c7feabaf01f1ab756d800563e0b60 100644 (file)
@@ -1503,7 +1503,7 @@ mlx5_flow_field_id_to_modify_info
                        if (data->offset < 16)
                                info[idx++] = (struct field_modify_info){2, 0,
                                                MLX5_MODI_OUT_DMAC_15_0};
-                       info[idx] = (struct field_modify_info){4, 0,
+                       info[idx] = (struct field_modify_info){4, off,
                                                MLX5_MODI_OUT_DMAC_47_16};
                }
                break;
@@ -1533,7 +1533,7 @@ mlx5_flow_field_id_to_modify_info
                        if (data->offset < 16)
                                info[idx++] = (struct field_modify_info){2, 0,
                                                MLX5_MODI_OUT_SMAC_15_0};
-                       info[idx] = (struct field_modify_info){4, 0,
+                       info[idx] = (struct field_modify_info){4, off,
                                                MLX5_MODI_OUT_SMAC_47_16};
                }
                break;