net/mlx5e: Add header re-write offloading of IPv6 hop-limit
authorOr Gerlitz <ogerlitz@mellanox.com>
Tue, 13 Jun 2017 08:09:57 +0000 (11:09 +0300)
committerSaeed Mahameed <saeedm@mellanox.com>
Thu, 22 Jun 2017 11:30:13 +0000 (14:30 +0300)
For environments where flow-based ipv6 router is offloaded.

Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Reviewed-by: Paul Blakey <paulb@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
include/linux/mlx5/mlx5_ifc.h

index 0318d6f6e1da7a9ac99639245f672d12a148a153..3c536f560dd2b529607ddf30de70d979efd0c59b 100644 (file)
@@ -1081,6 +1081,7 @@ static struct mlx5_fields fields[] = {
        OFFLOAD(DIPV6_95_64,  4, ip6.daddr.s6_addr32[1], 0),
        OFFLOAD(DIPV6_63_32,  4, ip6.daddr.s6_addr32[2], 0),
        OFFLOAD(DIPV6_31_0,   4, ip6.daddr.s6_addr32[3], 0),
+       OFFLOAD(IPV6_HOPLIMIT, 1, ip6.hop_limit, 0),
 
        OFFLOAD(TCP_SPORT, 2, tcp.source,  0),
        OFFLOAD(TCP_DPORT, 2, tcp.dest,    0),
index 694f51d388d9ab0ae7f34b11b41c163002a8a64d..4b547f551a2e6523ae6e7770bb04f3d2769afcd9 100644 (file)
@@ -4620,6 +4620,7 @@ enum {
        MLX5_ACTION_IN_FIELD_OUT_DIPV6_31_0    = 0x14,
        MLX5_ACTION_IN_FIELD_OUT_SIPV4         = 0x15,
        MLX5_ACTION_IN_FIELD_OUT_DIPV4         = 0x16,
+       MLX5_ACTION_IN_FIELD_OUT_IPV6_HOPLIMIT = 0x47,
 };
 
 struct mlx5_ifc_alloc_modify_header_context_out_bits {