net/mlx5: fix ICMPv6 header rewrite action validation
authorShiri Kuzin <shirik@mellanox.com>
Tue, 18 Feb 2020 11:52:54 +0000 (13:52 +0200)
committerFerruh Yigit <ferruh.yigit@intel.com>
Wed, 19 Feb 2020 14:17:30 +0000 (15:17 +0100)
commite649994972cda23fc777f45f7b40c528313543ed
tree5242aab806a1aa73fddfc0ebae0ce0bf7d5c16de
parentba40f81ea28b5f024317ae1f43126ec403ddae86
net/mlx5: fix ICMPv6 header rewrite action validation

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 below which rejects
flows with the pattern "ipv6 proto is 58".

Fixes: 0e2ceb639d8a ("net/mlx5: fix ICMPv6 header rewrite actions")
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