patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] [PATCH] net/mlx5: fix ipv6 type icmp6 header rewrite actions
@ 2020-02-18 11:52 Shiri Kuzin
  2020-02-19 11:52 ` Raslan Darawsheh
  0 siblings, 1 reply; 2+ messages in thread
From: Shiri Kuzin @ 2020-02-18 11:52 UTC (permalink / raw)
  To: dev; +Cc: matan, rasland, viacheslavo, stable

ICMPv6 header contains the checksum field, that includes the IP
addresses from IP header.

The ConnectX-5 hardware does not support ICMPv6 checksum calculation
and in case of IP header modification the checksum will contain
the wrong value.

The patch rejects the header modification actions related to IP
addresses if ICMPv6 protocol is detected in pattern.
This issue was also partly fixed in commit [1] which rejects
flows with the pattern "ipv6 proto is 58".

[1] commit b1632bd0c1e3 ("net/mlx5: fix ICMPv6 header rewrite actions")

Fixes: 4bb14c83df95 ("net/mlx5: support modify header using Direct Verbs")
Cc: stable@dpdk.org

Signed-off-by: Shiri Kuzin <shirik@mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
---
 drivers/net/mlx5/mlx5_flow_dv.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
index a9bb0b4..e5862bd 100644
--- a/drivers/net/mlx5/mlx5_flow_dv.c
+++ b/drivers/net/mlx5/mlx5_flow_dv.c
@@ -4621,6 +4621,7 @@ struct field_modify_info modify_tcp[] = {
 							    error);
 			if (ret < 0)
 				return ret;
+			item_ipv6_proto = IPPROTO_ICMPV6;
 			last_item = MLX5_FLOW_LAYER_ICMP6;
 			break;
 		case RTE_FLOW_ITEM_TYPE_TAG:
-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [dpdk-stable] [PATCH] net/mlx5: fix ipv6 type icmp6 header rewrite actions
  2020-02-18 11:52 [dpdk-stable] [PATCH] net/mlx5: fix ipv6 type icmp6 header rewrite actions Shiri Kuzin
@ 2020-02-19 11:52 ` Raslan Darawsheh
  0 siblings, 0 replies; 2+ messages in thread
From: Raslan Darawsheh @ 2020-02-19 11:52 UTC (permalink / raw)
  To: Shiri Kuzin, dev; +Cc: Matan Azrad, Slava Ovsiienko, stable

Hi,

> -----Original Message-----
> From: Shiri Kuzin <shirik@mellanox.com>
> Sent: Tuesday, February 18, 2020 1:53 PM
> To: dev@dpdk.org
> Cc: Matan Azrad <matan@mellanox.com>; Raslan Darawsheh
> <rasland@mellanox.com>; Slava Ovsiienko <viacheslavo@mellanox.com>;
> stable@dpdk.org
> Subject: [PATCH] net/mlx5: fix ipv6 type icmp6 header rewrite actions
> 
> ICMPv6 header contains the checksum field, that includes the IP
> addresses from IP header.
> 
> The ConnectX-5 hardware does not support ICMPv6 checksum calculation
> and in case of IP header modification the checksum will contain
> the wrong value.
> 
> The patch rejects the header modification actions related to IP
> addresses if ICMPv6 protocol is detected in pattern.
> This issue was also partly fixed in commit [1] which rejects
> flows with the pattern "ipv6 proto is 58".
> 
> [1] commit b1632bd0c1e3 ("net/mlx5: fix ICMPv6 header rewrite actions")
> 
> Fixes: 4bb14c83df95 ("net/mlx5: support modify header using Direct Verbs")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Shiri Kuzin <shirik@mellanox.com>
> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
> Acked-by: Matan Azrad <matan@mellanox.com>
> ---
>  drivers/net/mlx5/mlx5_flow_dv.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/net/mlx5/mlx5_flow_dv.c
> b/drivers/net/mlx5/mlx5_flow_dv.c
> index a9bb0b4..e5862bd 100644
> --- a/drivers/net/mlx5/mlx5_flow_dv.c
> +++ b/drivers/net/mlx5/mlx5_flow_dv.c
> @@ -4621,6 +4621,7 @@ struct field_modify_info modify_tcp[] = {
>  							    error);
>  			if (ret < 0)
>  				return ret;
> +			item_ipv6_proto = IPPROTO_ICMPV6;
>  			last_item = MLX5_FLOW_LAYER_ICMP6;
>  			break;
>  		case RTE_FLOW_ITEM_TYPE_TAG:
> --
> 1.8.3.1


Patch applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-02-19 11:52 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-18 11:52 [dpdk-stable] [PATCH] net/mlx5: fix ipv6 type icmp6 header rewrite actions Shiri Kuzin
2020-02-19 11:52 ` Raslan Darawsheh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).