From patchwork Sun Feb 26 09:09:53 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Talat Batheesh X-Patchwork-Id: 734202 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) by ozlabs.org (Postfix) with ESMTP id 3vYDpq2Cyyz9s81; Wed, 1 Mar 2017 23:12:35 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=Mellanox.com header.i=@Mellanox.com header.b="sRvWuTCP"; dkim-atps=neutral Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.76) (envelope-from ) id 1cj37Q-00061s-Ig; Wed, 01 Mar 2017 12:12:32 +0000 Received: from mail-db5eur01on0041.outbound.protection.outlook.com ([104.47.2.41] helo=EUR01-DB5-obe.outbound.protection.outlook.com) by huckleberry.canonical.com with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.76) (envelope-from ) id 1chuqV-0007pu-73 for kernel-team@lists.canonical.com; Sun, 26 Feb 2017 09:10:23 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=mes6lWpPUoqNppIpHIYhipbvYJ9KdaXPuOTVW/Sg1Xs=; b=sRvWuTCPh+DGNV/EYaWIYzxLPX1ytxe/ejCrq7GmzGsvIPzkIT+U5wBemWV9/Ym+2m31NISGlnhpWPvSbhc9HB/QkSlQ9BypKUJd1a08QsIMGN6RCn9UMWvnPiWQBOjdxrySVFUlTw2jHeH8Vj1XuHTaeRE0B6bPD8t5PFCRRyE= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=talatb@mellanox.com; Received: from dev-h-vrt-005.mth.labs.mlnx (193.47.165.251) by HE1PR05MB1306.eurprd05.prod.outlook.com (10.162.250.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.919.13; Sun, 26 Feb 2017 09:10:21 +0000 From: Talat Batheesh To: Subject: [PATCH 08/18] net/mlx5e: Maximize ip tunnel key usage on the TC offloading path Date: Sun, 26 Feb 2017 11:09:53 +0200 Message-ID: <1488100203-31976-8-git-send-email-talatb@mellanox.com> X-Mailer: git-send-email 2.5.0 In-Reply-To: <1488100203-31976-1-git-send-email-talatb@mellanox.com> References: <1488100203-31976-1-git-send-email-talatb@mellanox.com> MIME-Version: 1.0 X-Originating-IP: [193.47.165.251] X-ClientProxiedBy: AM4PR02CA0026.eurprd02.prod.outlook.com (10.165.239.164) To HE1PR05MB1306.eurprd05.prod.outlook.com (10.162.250.151) X-MS-Office365-Filtering-Correlation-Id: 4de6afa5-e307-44fa-ca89-08d45e274ab5 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(48565401081); SRVR:HE1PR05MB1306; X-Microsoft-Exchange-Diagnostics: 1; HE1PR05MB1306; 3:AUZkFvGH3jLOOcLgFmTVuFm+ulQYbQRYRXWzadA69KpOSE6X0Za7DXBh6gQlcARJKvScqizYi2GLNAWg1LsC+CjX2+5Y5IUsQSWxS47OZtPmgmduVa9S4M99kRcpYpe4rOzeqGeityOXv8YWpZaisMqRoJ+Qs3wFWNVLhc2CzExSzFxZsJhEzBxnoVsGJZt7m/e9Np2b6J1Z5DKjSIUp5eltgprvboxvtzCITkRJ1mGv5AbFfMYL55SiUKfN+Kaw+iYQcsfuoQ3zkRhMNqt4FJc/GapGZptzv0nOF4k1eG0=; 25:fjiSRUthGBb7yxC49Cb6fR1oHPuJFRrtNrJW03r0GX25ioTy5ch98GaVAdMSrzJcD6rxaThpiHy5n4XGq21w4n2TL/V0OCN9oANJwaKj/txc3EOL0LMGU+rGCDzvWVcsLz9sAaPeSVN6RB4cE3LVl+ZaGKFl+7i3WLlIwxmP0yz/aax92szmIIzNdR4czlKnTLCDxTOY/YKqXiPu6+WV6zI8q4RzI5c+x/8O4KmUqgO7XcuTMD8/+45xrA6Rwl60m8H4xTleLuDm9i1iH+BOqwWKJkSFOzEPNZWEyQR++kWyX56CIy/EUmGqzQlWOV//DA6EGX+sROC6g1RlLeKjxNoh4HIpzulUfQKOPTgEBY6BVDGl8XfJAiqbb4KFean7a1M+eSTDfbctyyNikMgqy+lH3L0wODYlCObfIJEQ41CavEl3TXuI6HMH5UEmaxkNa+zkGuuHa8SXuoQCBtWvXg== X-Microsoft-Exchange-Diagnostics: 1; HE1PR05MB1306; 31:GMSot6W/SSgKI1YUTLnyLf3o2pIrsGK2DP9QVDAcz7xUjfgSIjfV/IbwjzPa6xb+zV0kXoJlc+WMaT1OFlYW3uSxu9gwhrNrYerP3s4xR8y2fLvrHEXKZGh+og5OdrrGd5sN94kdb2XdOpoRtO5/KgViVSsOqhgq4PTHijnQf+lt19/fpiGJC0+tT1gi7jQLpxB0PyFO7zgucYdww1uMeiHikzP4RsxwfYIPWQQpPz0=; 20:QX96CrKZs/4seEGSrmkgEancUhCz8R6aNmzIR9vsgRzWOboVFXY+uyvkg0b+dpt1EAdT8rqpViJY3FO4Mhw0O3RBv6quHFskOg1JeEm4LNpnnpBSmDrlmTWXyf5SyfCZaI4518RioEVc0ARvsAOZX6nTRHr0/WzYAtcg1JR8wSfpNRB1t5rrlGcK/xBMgALYZkMFgF8CPUrLuWWV3MTfx/GGJxb8x1GkmQuz+c+Ku2iAv/xvJY116ecBPaoWJyYIdiyUDMm0hgrlEs5iJIZAl+n2StAhdN3JNdaGBWhYRiWFW68LUusF5MRXYVRd53bDgiEhrKJew0dJ4Q+3OTjQT0F2RKwpkrpZgljq9Fc2uDEXzLdZlJAXSKPfy/4gyX5YSxhnZ6bzuJTAtyTeWDYtAf35r/BdEwfhImAMIb53A9uueo3N7EMiZ1EuXyPu9lUFfo71xx+92jI1POYgMlRcksXgw9sWLuaFCuMQsQbC6WJ6BHNq4vk9AdnbJIbRUnYp X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(211254476889703)(24339691489775); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026)(6041248)(20161123558025)(20161123562025)(20161123555025)(20161123560025)(20161123564025)(6072148); SRVR:HE1PR05MB1306; BCL:0; PCL:0; RULEID:; SRVR:HE1PR05MB1306; X-Microsoft-Exchange-Diagnostics: 1; HE1PR05MB1306; 4:ALR5EFHT1pb1ZswYejuvFVFcZ6Wm2LjKu/YCsbTjTDTU0sVIgdNjuh27i+SSHqEwedWYNcn2t5eQ2ttuVpqGj9PQP3suEX/u2ljdf6rA4p50MEqtH6MrWTjRtaVy1ypHhtPEmdReIbUZ/c+Dxt4islTKb0/3EvZFxxsAMXtiog4iHjqLItYSLF/6v4FmHhRJaTMb/d7YcAG8jaN4UhwtnGoaZ4X94Q+zbNoZn6tSgHVsVWCu2Trv0Iq9AbaVkxhnmlL0NhdFIW0LJqEBGacd9g2KsB8aIo3f5KOHnVrdJW5RmKaKbaT5qQd30zY+8hmI57HyouicueMgPH1omU3cd/icipEarVyIRTh7zEekSvOioTbm4hx/ZuzesprxGeVt953mIj06L80Gj30haeQaiblEupv/qJ5Stk2doiaastWgKHcmohQHMkN5xrZ3HwYEV9ZCb+7gp7DQgS30N5L9bbuFIffgEcPNdh9Fcgi3PX9jqBvyT4FYdPB5jSqgtmOQ2g3TNIpF8VSEmx35RPNstQUDHdpJKyqKjl6DVeT9oSzULm2HsKtdf6LX7vtQUzOeeMcNtbjNRK333yWGljmEl8oGm2zmd2cqyppfCZQM1rD7fTmC4u/c7RxOG+MgrbWooH5dO/kzSaGvvHcX1Tqm3fWzPsYosasLugzK05TXJhiQuJzx+jLpQLsH06Np21hoMXMNl/4WFhb84AnfmFMByg== X-Forefront-PRVS: 0230B09AC4 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(7916002)(39410400002)(39450400003)(39850400002)(39840400002)(199003)(189002)(68736007)(81166006)(8676002)(6512007)(81156014)(50226002)(3846002)(6116002)(50466002)(6506006)(48376002)(66066001)(6306002)(25786008)(47776003)(6666003)(2950100002)(5003940100001)(6916009)(6486002)(36756003)(5660300001)(101416001)(189998001)(92566002)(7736002)(107886003)(110136004)(33646002)(97736004)(105586002)(38730400002)(106356001)(2351001)(305945005)(76176999)(50986999)(4326007)(53936002)(2906002)(86362001)(42186005)(450100001)(14963001); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR05MB1306; H:dev-h-vrt-005.mth.labs.mlnx; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HE1PR05MB1306; 23:6m2BSZH5jOEjX++fEoJir68p+IqQYwsDSaGU3xcrV?= =?us-ascii?Q?JI+kljTt9bdcxDLwdYNRdFWkzYHjtDP5llECSEbiQNsgL5fAijlHfX6urMWr?= =?us-ascii?Q?9M4WgiNiLNSyDdX+gs/UO/HhiPchmQNqWWqr5NdvHEUmvgc2u7UBUSGDcOUA?= =?us-ascii?Q?7x9pQ663eboWfvps0+b6oTM4tLejmHFkjhrg/QHqcN+P+yY3X02+E9sMVs2q?= =?us-ascii?Q?DuCh49bUwmSMbQ0Eq6fEV8tHiSmx6kYYXOj3GBAqJqlRs60AZTaZI7YrRxWR?= =?us-ascii?Q?uG7RWQY9YPP+Xb5/0ENaAqIEa/+Ht6RB6cZsq6KcI8kMX1eOimzwSynytexE?= =?us-ascii?Q?+b0EqSQcOxcMmnaBAnGXpNRnvhanSr/dCPB9babk2Kim9jtFZ0PMv0VgaGAi?= =?us-ascii?Q?w96ijrjo8n/dAvcliRjnIxaRrQuBYYmAU+SjOGbZXv66n5Vf0fP7nFhhGiEZ?= =?us-ascii?Q?7D3VWkn4Xx5TMO2s8ezrP9yXsNvDf3hgVga2vBcV91sRYovswhzrq32tfUMI?= =?us-ascii?Q?XwEc2/fueEFKafEFTRrs3mMDziJEqBzrdMVobtOB4vsbG05BX8yKYO7ls2re?= =?us-ascii?Q?aCq+J4QBAPlBWIAwkQ2rXz8caI7jQbKtgkErwhmLVAiLXdfnGUv0+f2BG/L7?= =?us-ascii?Q?jz8PETqAk0icFQJlHnlx1ff33gQbJ2ZlxeqtB9H/tqQZHgdFz04yDZqnPinj?= =?us-ascii?Q?3El2MvSxUh6bSsYPmwMvqblGlKYQ6Jmy+AZkYFrkpTmfokohZbcV70ifwpEH?= =?us-ascii?Q?yDCSHdJ1tXHdTR/ayPF1bVbQVpvZw9hTw2UPdA0xY9uozRqtoDpRPlMr4Wow?= =?us-ascii?Q?HQC2YqLFbcBaHyO2nkCmHZi/tiF2puY8BX3M2ZN+lmh6WlnnFvZggA0QL6xx?= =?us-ascii?Q?aVBE3WjHQufwU1IJRrp87hEftnHru9vOmqtbM7nvYtLfOwQOU70AdEUKrUMy?= =?us-ascii?Q?h39YAuXclfeA1AbZbG3tqg29cdQMjT/rV6r5BtR2ktlNR94HoLPF7SFqqdPR?= =?us-ascii?Q?00Eh9xnYdGoSh1EOsE66FbOkTgdkR+sFRXfQxJLhcZkOMwP0ZGluvJn5+WGZ?= =?us-ascii?Q?ITthUAIhej1NGCQtSXXXJa5LhxGEuAEnUIMoYANIsBSzrsnvL9w6wJ3lxbd7?= =?us-ascii?Q?TtmxysvLkVDhoieXO8SX406SchWEN55ChmDnjFzmxdhRz1wqIBwM6/C13KjH?= =?us-ascii?Q?bogzb65DsHqRmm89bmgkcwaapKtGwjvar8MOb5bJcAD54BpwkBusOTmfw3u1?= =?us-ascii?Q?+lwv3ApBxDECyOduLAZTpPsp/3gRck8/t9yufAo?= X-Microsoft-Exchange-Diagnostics: 1; HE1PR05MB1306; 6:H4mOYl4x1d1BfhESoe6be2zmcQN0st8kgriQOXqR3vfHrUM3Ba5s/jYEzwRJr1SkH+O7zYUcI1m0e2yDoIC71npKBqnroGRftRks6cG7aiHq+Oei6C6u7Pjn/XpP7fAeaMHsM3DQ3knDzrMVB0AmMOe4cy9671clgfUQAtN6RK3BTMSqhjk65YofPFILeJe0S5oDrs5s+ZzLN64B6b2RB6RIr5gbwdntbAdGpL42Ivzt79ux13hS3qeJnooBRMh3HzsKHKhpMZR6+suE34S/5NFKOcOFKRqLiONbbAvoAUZhpG2p78a9OODJ3qSeXgR+tOLohhbebMq2V6oNXt7wILPxDqpWR9Lov/rGMq4EyF0vmhdClcbIymGhkO7pYC8Bb0em8rQvlvzU+pmVxp8q/Pr7Kv7eH2/oP7xVtq1F9Ic=; 5:i4pvVuvLptRdugD/Q4X+n1boQ5Z4j36qVSECQhMx96MTbUT/q/1R46MINHlvY9l4KaCPDmwE7u5vNSJWiSE0/aayHJIOzm73WRAteyeH35DSrtpS4ghaDCwbE47UUVaJuSbz/fKgfeYvf2PH6OS1rO1gI8vstBMulbnlqXFtBP4=; 24:BEdon2vDimiNURjsRj/ps47rzR6MrGQGZlw93M7nVankWGl7CR/RmMPkt2Kjc1UYEgdzonitcs2d6wYZEPBIWidflHFs/CtpZXGHmxgD4qo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; HE1PR05MB1306; 7:ghvP1FzI3SWiFabTXgoubMvpu2NTHbK35iAHWZygItiXpWU7YInzzE7/ShpzhSdnwYsLgpAzhI6ALpjRnGWGGNqxvEEJs2Ovz8ZT85MVlqQrp0/ikfRVz1Sw6LzY1BWnl8ik7Z6FcMk2DtgIVhPd1ifmRu0CHqwSVnUHE8OsbRfmjBDeSr31qVwr6K+TSrO5Dob10KDub6osJCE8A41PJzT4GHNmkTaDFbi5WNaS854TWbYBvsr7OfmsMm9Y1Ne6pu+V1SseR+zh6hEKtB8YVHTuwTu7qRj3eU4LsGrx+8OXyj+uF9ASpKP63HIorEw8QqevZ3+x5mPnQFhY9yAEOQ== X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2017 09:10:21.1331 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR05MB1306 X-Mailman-Approved-At: Wed, 01 Mar 2017 12:12:14 +0000 Cc: talatb@mellanox.com X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.14 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: kernel-team-bounces@lists.ubuntu.com From: Or Gerlitz BugLink: https://bugs.launchpad.net/ubuntu/1668019 Use more fields out of the tunnel key (e.g the tunnel source IP address) provided by upper layers for the route lookup done on the encap offload path. Signed-off-by: Or Gerlitz Reviewed-by: Hadar Hen Zion Signed-off-by: Saeed Mahameed (cherry picked from commit 9a941117fb761dcfb4f698f1f67340484b781b90) Signed-off-by: Talat Batheesh --- drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c index f7f2def..a775eb9 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c @@ -684,7 +684,6 @@ static int mlx5e_route_lookup_ipv4(struct mlx5e_priv *priv, struct net_device **out_dev, struct flowi4 *fl4, struct neighbour **out_n, - __be32 *saddr, int *out_ttl) { struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; @@ -714,7 +713,6 @@ static int mlx5e_route_lookup_ipv4(struct mlx5e_priv *priv, return -ENOMEM; *out_n = n; - *saddr = fl4->saddr; *out_dev = rt->dst.dev; return 0; @@ -763,13 +761,10 @@ static int mlx5e_create_encap_header_ipv4(struct mlx5e_priv *priv, { int max_encap_size = MLX5_CAP_ESW(priv->mdev, max_encap_header_size); struct ip_tunnel_key *tun_key = &e->tun_info.key; + int encap_size, ttl, err; struct neighbour *n = NULL; struct flowi4 fl4 = {}; char *encap_header; - int encap_size; - __be32 saddr; - int ttl; - int err; encap_header = kzalloc(max_encap_size, GFP_KERNEL); if (!encap_header) @@ -784,10 +779,12 @@ static int mlx5e_create_encap_header_ipv4(struct mlx5e_priv *priv, err = -EOPNOTSUPP; goto out; } + fl4.flowi4_tos = tun_key->tos; fl4.daddr = tun_key->u.ipv4.dst; + fl4.saddr = tun_key->u.ipv4.src; err = mlx5e_route_lookup_ipv4(priv, mirred_dev, out_dev, - &fl4, &n, &saddr, &ttl); + &fl4, &n, &ttl); if (err) goto out; @@ -806,8 +803,8 @@ static int mlx5e_create_encap_header_ipv4(struct mlx5e_priv *priv, case MLX5_HEADER_TYPE_VXLAN: encap_size = gen_vxlan_header_ipv4(*out_dev, encap_header, e->h_dest, ttl, - tun_key->u.ipv4.dst, - saddr, tun_key->tp_dst, + fl4.daddr, + fl4.saddr, tun_key->tp_dst, tunnel_id_to_key32(tun_key->tun_id)); break; default: