IB/mlx5: Replace tunnel mpls capability bits for tunnel_offloads
Subsystems (6)
PATCH 1/1 IB/mlx5: Replace tunnel mpls capability bits for tunnel_offloads
From: Alex Vesker <[email protected]>
Until now flex parser was used in ib_query_device to indicate tunnel_offloads_caps support for mpls_over_gre/mpls_over_udp. These inaccurate capability bits will not work on newer devices.
This should not brake backward compatibility since tunnel_stateless caps and flex_parser_protocols caps were added together.
--- drivers/infiniband/hw/mlx5/main.c | 6 ++---- include/linux/mlx5/mlx5_ifc.h | 6 +++++- 2 files changed, 7 insertions(+), 5 deletions(-)
drivers/infiniband/hw/mlx5/main.c +2 -4
@@ -1192,12 +1192,10 @@ static int mlx5_ib_query_device(struct ib_device *ibdev,if (MLX5_CAP_ETH (mdev, tunnel_stateless_gre)) resp.tunnel_offloads_caps |=MLX5_IB_TUNNELED_OFFLOADS_GRE ; -if (MLX5_CAP_GEN (mdev, flex_parser_protocols) & -MLX5_FLEX_PROTO_CW_MPLS_GRE ) +if (MLX5_CAP_ETH (mdev, tunnel_stateless_mpls_over_gre)) resp.tunnel_offloads_caps |=MLX5_IB_TUNNELED_OFFLOADS_MPLS_GRE ; -if (MLX5_CAP_GEN (mdev, flex_parser_protocols) & -MLX5_FLEX_PROTO_CW_MPLS_UDP ) +if (MLX5_CAP_ETH (mdev, tunnel_stateless_mpls_over_udp)) resp.tunnel_offloads_caps |=MLX5_IB_TUNNELED_OFFLOADS_MPLS_UDP ; }
include/linux/mlx5/mlx5_ifc.h +5 -1
@@ -872,7 +872,11 @@ struct mlx5_ifc_per_protocol_networking_offload_caps_bits {u8 swp_csum[0x1 ];u8 swp_lso[0x1 ];u8 cqe_checksum_full[0x1 ]; -u8 reserved_at_24[0x5 ]; +u8 tunnel_stateless_geneve_tx[0x1 ]; +u8 tunnel_stateless_mpls_over_udp[0x1 ]; +u8 tunnel_stateless_mpls_over_gre[0x1 ]; +u8 tunnel_stateless_vxlan_gpe[0x1 ]; +u8 tunnel_stateless_ipv4_over_vxlan[0x1 ];u8 tunnel_stateless_ip_over_ip[0x1 ];u8 reserved_at_2a[0x6 ];u8 max_vxlan_udp_ports[0x8 ];
Signature · 1 line
2.24.1
Sasha Levin
maintainerHi
[This is an automated email]
This commit has been processed because it contains a "Fixes:" tag fixing commit: e818e255a58d ("IB/mlx5: Expose MPLS related tunneling offloads").
The bot has tested the following trees: v5.5.8, v5.4.24, v4.19.108.
v5.5.8: Build OK!
v5.4.24: Build OK!
v4.19.108: Failed to apply! Possible dependencies:
caa185473544 ("net/mlx5: Expose IP-in-IP capability bit") db849faa9bef ("net/mlx5e: Rx, Fix checksum calculation for new hardware")
NOTE: The patch will not be queued to stable trees until it is upstream.
How should we proceed with this patch?
Signature · 2 lines
Thanks Sasha
Jason Gunthorpe
AppliedQuoted 14 lines · Leon Romanovsky
From: Alex Vesker <[email protected]>
Until now flex parser was used in
ib_query_deviceto indicatetunnel_offloads_capssupport for mpls_over_gre/mpls_over_udp. These inaccurate capability bits will not work on newer devices.This should not brake backward compatibility since
tunnel_statelesscaps andflex_parser_protocolscaps were added together.Cc <[email protected]> # 4.17Fixes e818e255a58d ("IB/mlx5: Expose MPLS related tunneling offloads")Signed-off-by Alex Vesker <[email protected]>Reviewed-by Ariel Levkovich <[email protected]>Signed-off-by Leon Romanovsky <[email protected]>
Quoted 4 lines
--- drivers/infiniband/hw/mlx5/main.c | 6 ++---- include/linux/mlx5/mlx5_ifc.h | 6 +++++- 2 files changed, 7 insertions(+), 5 deletions(-)
Compatability with future devices is not really a -rc thing
Applied to for-next, thanks
Jason