> -----Original Message-----
> From: Dekel Peled <[email protected]>
> Sent: Monday, August 5, 2019 14:51
> To: Yongseok Koh <[email protected]>; Slava Ovsiienko
> <[email protected]>; Shahaf Shuler <[email protected]>
> Cc: Ori Kam <[email protected]>; [email protected]; Eli Britstein
> <[email protected]>
> Subject: [PATCH] net/mlx5: fix order of lines in loop
>
> Function flow_dv_zero_encap_udp_csum() uses a while loop to iterate over
> vlan items in flow rule.
> Pointer next_hdr is incremented to the next item before it is used, so the
> first
> item is skipped.
>
> This patch moves the incrementing of next_hdr to the correct place.
>
> Fixes: bf1d7d9a033a ("net/mlx5: zero out UDP checksum in encapsulation")
> Cc: [email protected]
>
> Signed-off-by: Dekel Peled <[email protected]>
Acked-by: Viacheslav Ovsiienko <[email protected]>
> ---
> drivers/net/mlx5/mlx5_flow_dv.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/mlx5/mlx5_flow_dv.c
> b/drivers/net/mlx5/mlx5_flow_dv.c index 536059d..6c58634 100644
> --- a/drivers/net/mlx5/mlx5_flow_dv.c
> +++ b/drivers/net/mlx5/mlx5_flow_dv.c
> @@ -1504,9 +1504,9 @@ struct field_modify_info modify_tcp[] = {
>
> /* VLAN skipping */
> while (proto == RTE_ETHER_TYPE_VLAN || proto ==
> RTE_ETHER_TYPE_QINQ) {
> - next_hdr += sizeof(struct rte_vlan_hdr);
> vlan = (struct rte_vlan_hdr *)next_hdr;
> proto = RTE_BE16(vlan->eth_proto);
> + next_hdr += sizeof(struct rte_vlan_hdr);
> }
>
> /* HW calculates IPv4 csum. no need to proceed */
> --
> 1.8.3.1