From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 804C2C3F2CD for ; Thu, 5 Mar 2020 12:38:46 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 52AAA208C3 for ; Thu, 5 Mar 2020 12:38:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1583411926; bh=1LGhhgAlwDCpE68Td/PxvgyI3TodD1hw/F0l2H3jg+A=; h=From:To:Cc:Subject:Date:List-ID:From; b=WB7bprw9PeO27pNwpsyg1jpv58EKAZFlF1NsgfiymNj+YtXwNCO8SLjFnGo6qakP1 H1ZIuMOQ2wxUEYmLvu721eluc5VDK877jpwysJuH4ihzat7PvFYbB3ffIfWBlW4P5T eanIFvJB3FDSNgo0VQtv3LmnoPq/wZTIuOqhwiAI= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726036AbgCEMip (ORCPT ); Thu, 5 Mar 2020 07:38:45 -0500 Received: from mail.kernel.org ([198.145.29.99]:54446 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725993AbgCEMip (ORCPT ); Thu, 5 Mar 2020 07:38:45 -0500 Received: from localhost (unknown [193.47.165.251]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id A45C520848; Thu, 5 Mar 2020 12:38:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1583411925; bh=1LGhhgAlwDCpE68Td/PxvgyI3TodD1hw/F0l2H3jg+A=; h=From:To:Cc:Subject:Date:From; b=USpPPOZ/N5yQ//arl6flShAOl459xqXVb02U3ZTuQkixDJys6BHmH/euAtwBa7iI2 tFU1LAtCEqnTNgppx+SEuG0hww1VRNY4+45ouKXvqdvYynb5sZ+VKYBbpWcsFJ+6j+ am+jhr4bEGV1LDVuT7WQk+w7RIiQNV+OGclHBH64= From: Leon Romanovsky To: Doug Ledford , Jason Gunthorpe Cc: Alex Vesker , Ariel Levkovich , linux-rdma@vger.kernel.org, Mark Bloch , netdev@vger.kernel.org, Saeed Mahameed Subject: [PATCH rdma-rc] IB/mlx5: Replace tunnel mpls capability bits for tunnel_offloads Date: Thu, 5 Mar 2020 14:38:41 +0200 Message-Id: <20200305123841.196086-1-leon@kernel.org> X-Mailer: git-send-email 2.24.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org From: Alex Vesker 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. Cc: # 4.17 Fixes: e818e255a58d ("IB/mlx5: Expose MPLS related tunneling offloads") Signed-off-by: Alex Vesker Reviewed-by: Ariel Levkovich Signed-off-by: Leon Romanovsky --- drivers/infiniband/hw/mlx5/main.c | 6 ++---- include/linux/mlx5/mlx5_ifc.h | 6 +++++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c index e4bcfa81b70a..4d0780d9114c 100644 --- a/drivers/infiniband/hw/mlx5/main.c +++ b/drivers/infiniband/hw/mlx5/main.c @@ -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; } diff --git a/include/linux/mlx5/mlx5_ifc.h b/include/linux/mlx5/mlx5_ifc.h index ff8c9d527bb4..ac72c944c26d 100644 --- a/include/linux/mlx5/mlx5_ifc.h +++ b/include/linux/mlx5/mlx5_ifc.h @@ -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]; -- 2.24.1