diff options
author | Jianbo Liu <jianbol@mellanox.com> | 2018-03-27 09:22:16 +0000 |
---|---|---|
committer | Saeed Mahameed <saeedm@mellanox.com> | 2018-04-26 12:43:18 -0700 |
commit | 1ccef350db2f13715040a10df77ae672206004cf (patch) | |
tree | 9671671e0c95bc6b1a93d40bdf2f8133465be317 /drivers/net | |
parent | 25eb0ea7174c6e84f21fa59dccbddd0318b17b12 (diff) | |
download | linux-1ccef350db2f13715040a10df77ae672206004cf.tar.gz linux-1ccef350db2f13715040a10df77ae672206004cf.tar.bz2 linux-1ccef350db2f13715040a10df77ae672206004cf.zip |
net/mlx5e: Allow offloading ipv4 header re-write for icmp
For ICMPv4, the checksum is calculated from the ICMP headers and data.
Since the ICMPv4 checksum doesn't cover the IP header, we can allow to
do L3 header re-write for this protocol.
Fixes: bdd66ac0aeed ('net/mlx5e: Disallow TC offloading of unsupported match/action combinations')
Signed-off-by: Jianbo Liu <jianbol@mellanox.com>
Reviewed-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c index 4197001f9801..3c534fc43400 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c @@ -1864,7 +1864,8 @@ static bool modify_header_match_supported(struct mlx5_flow_spec *spec, } ip_proto = MLX5_GET(fte_match_set_lyr_2_4, headers_v, ip_protocol); - if (modify_ip_header && ip_proto != IPPROTO_TCP && ip_proto != IPPROTO_UDP) { + if (modify_ip_header && ip_proto != IPPROTO_TCP && + ip_proto != IPPROTO_UDP && ip_proto != IPPROTO_ICMP) { pr_info("can't offload re-write of ip proto %d\n", ip_proto); return false; } |