From patchwork Mon Apr 24 17:00:46 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Chopra, Manish" X-Patchwork-Id: 754345 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3wBXgn6L1mz9sDb for ; Tue, 25 Apr 2017 03:01:57 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=CAVIUMNETWORKS.onmicrosoft.com header.i=@CAVIUMNETWORKS.onmicrosoft.com header.b="dLy2McO+"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S975272AbdDXRBz (ORCPT ); Mon, 24 Apr 2017 13:01:55 -0400 Received: from mail-sn1nam01on0055.outbound.protection.outlook.com ([104.47.32.55]:38144 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S975241AbdDXRBe (ORCPT ); Mon, 24 Apr 2017 13:01:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=L4r+OGaCEX7inKyfgcr9/K23QgumpcbUsEFS47o8SAw=; b=dLy2McO+k2PRqvLrAFy1SDc7zs8DslFsXJcxl3NtmKKJe9rNDgvItgXr/UzJI9wXRfvRZQCeNsdcE8gdfJmoFTDHqaLvvfjsLWRoDjGOJscLPXC/+dJeeqSoGw98pXq2JMLHHkd7/BmYX4t1tMIgYTkTjx9S//hYGdF060Idmrw= Received: from MWHPR07CA0021.namprd07.prod.outlook.com (10.172.94.31) by BLUPR0701MB1940.namprd07.prod.outlook.com (10.163.121.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1047.13; Mon, 24 Apr 2017 17:01:27 +0000 Received: from BL2FFO11OLC006.protection.gbl (2a01:111:f400:7c09::178) by MWHPR07CA0021.outlook.office365.com (2603:10b6:300:dc::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1047.13 via Frontend Transport; Mon, 24 Apr 2017 17:01:26 +0000 Authentication-Results: spf=none (sender IP is 50.232.66.26) smtp.mailfrom=cavium.com; vger.kernel.org; dkim=none (message not signed) header.d=none; vger.kernel.org; dmarc=none action=none header.from=cavium.com; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) Received: from CAEXCH02.caveonetworks.com (50.232.66.26) by BL2FFO11OLC006.mail.protection.outlook.com (10.173.160.95) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.1047.9 via Frontend Transport; Mon, 24 Apr 2017 17:01:26 +0000 Received: from dut1171.mv.qlogic.com (172.29.51.171) by CAEXCH02.caveonetworks.com (10.17.4.29) with Microsoft SMTP Server id 14.2.309.2; Mon, 24 Apr 2017 10:01:06 -0700 Received: from dut1171.mv.qlogic.com (localhost [127.0.0.1]) by dut1171.mv.qlogic.com (8.14.7/8.14.7) with ESMTP id v3OH0pbX016084; Mon, 24 Apr 2017 10:00:51 -0700 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id v3OH0p0V016083; Mon, 24 Apr 2017 10:00:51 -0700 From: Manish Chopra To: CC: , Subject: [PATCH net-next 3/6] qede: Disable tunnel offloads for non offloaded UDP ports Date: Mon, 24 Apr 2017 10:00:46 -0700 Message-ID: <20170424170049.16027-4-manish.chopra@cavium.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20170424170049.16027-1-manish.chopra@cavium.com> References: <20170424170049.16027-1-manish.chopra@cavium.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:50.232.66.26; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(39450400003)(39400400002)(39850400002)(39410400002)(39840400002)(2980300002)(428002)(199003)(189002)(9170700003)(6666003)(87636002)(5660300001)(6916009)(356003)(8676002)(305945005)(2950100002)(48376002)(38730400002)(101416001)(110136004)(4326008)(80596001)(50226002)(2351001)(8936002)(50986999)(76176999)(54906002)(2906002)(107886003)(86362001)(81166006)(5003940100001)(105586002)(33646002)(189998001)(36756003)(47776003)(50466002)(42186005)(1076002)(106466001); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1940; H:CAEXCH02.caveonetworks.com; FPR:; SPF:None; MLV:sfv; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11OLC006; 1:/2uDsOuPHwgBPOS6bxqgKWNDRgjI2/gyDhL6DRXnsu7eXxAxuEfVN/+yCbAHgdx5VYL1Ba78zXHRPC/5UZLXpBdsmMsvFBDSmUTCqycFP1cqvOFrdGYzEcmoZWm/hB1EAO+2gjnUYMVZ+Ed/8eVw6VY8l/vogtKoxy3hZm+s/iB9Z2lbGUjAL9EPyY9G0bUFXqPRgie1FDbHz6SaPUPnVnCFDvR/2HNbN9LoH4YOqmZQ4j1TT8l2EpeRqmkGIsI9FdICwUVEoH8JK0laHZowJ3mJFFXcAN6ttcqS7G4mqXJ8RTW1HoEHV17KgVg+vOw9vMp2VNlyv7PWHZJlYoi83N3SkTz+lmt5FB0qMMPlg735V2N/D4TmyP+5yFSWKqaO0ZSl0IUFS/SoK/FATz8PqqGBf9qVPUFKEwyiEPu+j4ISFAo7vKe5s8oKPUn09SWEYNTjXd4gUKdw25/EgM/qUEf3ztWUEy0F2IDeGMkBfJdzvE5Kj9mmgPUobLek1h1QZF/ohWw0zAa//T7y0YBVe8B+3nZNn3hmKvT3nVGv56s= X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9523879b-8061-4290-2d02-08d48b338bb1 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(201703131423075)(201703031133081); SRVR:BLUPR0701MB1940; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1940; 3:unAOFJ0HOOoZwf30St5Zop/VdSKGJiG9Y7qApoo3H0HTeAm2rbNzLlTKvao5RTpiG2Lsz1ODiBx2hBHB2CbTMfTAADnIV6rFqrhiee7NxyHD7Hz97HBHm5tSbUCz7Nomiuoa82/mMRjwCo/5CtJTJnB9xIyuFNOXu4y+inNXt98Tn/w58K+iXreWEsSrYEGJa5noY6oDEvFVMxJmOnzsoLJXQ59WHTx1l66joyfbphhkW+f8umfv1rqAsWTQLGFjvZvU5V0qUBhe6EVsJATm2h+BvoUgeB3zFkr6QXwm/Nf/n4+Xkk+/98qgznGHdVpOGzz2wtSEYX3Uz2Wv5q2rsBPzbityqMiMSwxZeQYBIbSrgLO65/K3rCgeyxJTLeC7Vu3FVWukJpoAydQJlJkk4b+z6/cR5Ex+IuDGPbMYyS8xYYxuJ/lSjUXEcjCZ9ZHrnXNbr/uMYpCLdtZ7/mUPNQ== X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1940; 25:gjKMMNO7u3KRKI8R+oAurhBmyXL5fte2HKt4fT2o0tGt0VCafzZjMe2Y82shpsD7KvYinNLiE3FCRfNJlAAVzETmkioYo6foZUHSrfyiktN1AoCIAfdyjknh5VARyYbmoiPogCw6mt8WoFkUr090AE+D+gKPIwDNM+mAsY69skafOZ+fs2ub2BlW0mz0yARloaTKiva7AlW9b13i9QiyXMVH7GSCXtDJ/HRMUK9XBgI1qekligPopNwTkbJnoczEFpxf4Aee+lJgRFRTY0x9Jsrfz+fmPIqs3URb55Bn36cmvoZcZ2o47pBIujFVpBwlKKtkhJvqaHxRDlfpyBpdzSOKDD+sstHjD0fN2aSGjq+2q15zvYNdmDAouC10rvB3BuYTkbN3rO6TZOU2WRcKrDLHK7DcitYLCUsWPSh1fcf/PDxizxMYs/fi+bFYCOsAGNUw+KFJL8xJ8z4Yp6RYJg==; 31:9AtNwsvPcB09K1Rq3bpY/0AcVK6F7NWsyswo7695RJQ2fBcTxMfkBTJJiPlTjH83CQmINUmoLtVl1ZCuT0soa6KUfsYihb5dCmybtRHVtAJpBNIM3pdTQt3fb4nCvMZykyYtNSzZ2UvzFh8F0O72hf8QjAI89ZPUKzuw8tXh2jwqM/fD6daV+LtyDJ3pxrw2JKfaZC81vdDDS3axH+BEucbbMwQN2M6Xgu/0d/zt/vfgDuKAeHUbJgA60FstrAtBsKNfLjccH4b5/8bSpMQ5N4++uLjDYP6u6DjihCe1av4= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1940; 20:ElOBNZgdVOf0PR/DMTdoymnODVcEooGDLxjIWJ3C0qw0IrCXTVkIaVwiIQtX6ZYlOyddInoy01lCq0/FEl0LVy53T/gFnmmpQoMGeQ7t1ZRK4A1iDZLvjWK+wyDwGDPETuLSl6fCp/n5L77yaLoRkDQU4R+fxnAh5hxhcx0ytbbKU1+TZmkCMaxQxNXggpzgVujWqGoQ6tmnjYgCCMf+6htTOKVQlX67fX/2Sqcs0HI/nvURSkTXLRuEsVjsqzBPia/cJAIXGIe37SwUYnYcMXQdSi0XXX84HhmoNbZOLW4tO22U8UpUMVns+Bpvk2I/woeYh7+Tzp7G0F4KEs6qqbfS8DMdL7QLQUqZekpJt7Nzpo7Cli2wQjrXU0nsx7SrfkbSksN3JPdeZaPQWN7xwp7hfL3KIXJBduP/Xu/2ypTOTrHJWRJunW4cEblWhuN/t18GUyR1qeNSXZNjkNPo6dvR/jkkLP5n8kxSo68gWF+vQoTJZAyjKiGAC+P3DRci X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(13023025)(13024025)(13018025)(13015025)(13017025)(8121501046)(5005006)(10201501046)(3002001)(93006095)(93001095)(6041248)(201703131423075)(201702281528075)(201703061421075)(20161123562025)(20161123560025)(20161123555025)(20161123564025)(6072148); SRVR:BLUPR0701MB1940; BCL:0; PCL:0; RULEID:; SRVR:BLUPR0701MB1940; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1940; 4:XflUsKcoAfgt9BQc32NlG4/DdE8pK0B6GiI5tJlLv5f8wax1SKZRrS+62fOqIL9qaAzvoJWwtEKofdXduBGP4FQXvVwaVxrfS6YjscDuOpQ01ggVeQkiWNjCmqXyHACL7iIr/bnepGxbsvSPsC6rADQZ3ajuW1OiIzzvE0d7Ffaz7r6CeRAJXSB43Q0svbTzMshGvaqJeA2fomdpmY9Qspyi4GhU5BRhjsOe2GWPA00gJPm5cf5ZqhiXbSduD7f9+e/n8ZL9wRcnziRLIpzIHbw+5HtLMGy9n2pgGhgBBf5dm2ybn+vYdejfcC8v4LoiW9ge2ve8O9T4p8zuv4wNFgWbIFMdJK1TKW94j0+bck4Q5SskmATzryXz7pDDiFlAl7bUfPSageLdC44ATvP9ssgu4yWLbqT/WpY2qizrFKWfjWvJN1vY2ghU1SeQFCShZa0RGzMANj7tvqQ5ua49wxamn2q4Ce68LC0iPDjvJpOSDx/k7tnECJKaFFnk+LsUYO2Ss8Q0rRSGtBIH30+iBTwYPYiYrSF7If0v3A0pzKzFMVtUB9ZZVKO/p/ehTziS4R0wiO95lfazZKbkFkt15zR8db9CRjv2K6cXs7hb51FUtA3L5QFSkuK2oAiKah4laA6Ow8aI1JezhhE9pcuMMIG2t2mXr2KdRTVxoZ0C9nf0ynQxCmjl3ekrTV7zSa+IYNMXTDLFQMa5wix2TRvDg92g9jTd8KUzZ+7MGloI68rnMWthl4OyUycj10eI0JtBjG6utqdgBq81KZxH/JWpJHrZsdwgSF3bwKIsJt2n0ezi++gaDLi7f8ZeouWgnSs4 X-Forefront-PRVS: 0287BBA78D X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1940; 23:QWWZu+8DYbDqbWom3KzvvNpfhLCLOb034g0wSPe?= =?us-ascii?Q?HDDMyV34sZk8CCiQ5r1fX/2ijgUGZOV2DbpPU8x1FT4nJiX6VtvGHL1AmC9Z?= =?us-ascii?Q?pLpO5VYDnMi2GowJgkgsLQuM/84q7Opd8qZze+YqMjCvXfoqY/Yqudmrw6Wa?= =?us-ascii?Q?iMLmkQDoJZz+nG5q/selwrzGSmSJmpKYj8eUqYgh8HcGqnjtdkwgaDcapqBQ?= =?us-ascii?Q?gJQQRXXIM4YJ5Ta3FboXmlsj96lnSBsIXmmE9OP2H4qTzaKE8iSFRJBjgguH?= =?us-ascii?Q?v8iZTC59S8MTNT7ObSRKFv0p9lAh4EH2Kk/30yCk1hkzIcfMu+uxwri27pqC?= =?us-ascii?Q?wiqiA4/7o6b3StwXFr9tWbnP7N92yUxAEh9np93cMGFbhdA2CrRhfkGA9tkV?= =?us-ascii?Q?dS3k11ZkGDPNeFrkNzCwOVLAmG+TqELZ96QhiDH+72fossaOuBT0cF3R5cQ8?= =?us-ascii?Q?RLxkDmE/D0DkFoF9oozUTpPJQvxDazD9kMfrpfF/kz7QGOdv5soeFgcnUjvH?= =?us-ascii?Q?UUJDKx9GdpQjGxPWpB4ss4ZRp2Qmfbl9H8y0vdZTpmBsn6Y/iyahMlAtezXB?= =?us-ascii?Q?fVZoiHrRWeaj15rFMPCddx0f3qjMLOBA4TQpJM46+kbOzxyOyLlNkCkJUt0g?= =?us-ascii?Q?3BTygfwHQIEXCZCUcFb+Z6aNfy5xEODGWJYdb1tdYs0lqmbC7OVoIQtuYd+h?= =?us-ascii?Q?hVu67y1ztuyZQF0NvjtKFb38H5YvHEBst8w2OoI7juudhVF4KLE+NM8q28Ph?= =?us-ascii?Q?IUnYq+vGLVRF2xewb43tbZJiqtSIW/35OQJ2IFGCKkzAxmQpA8qBqVS0zfMz?= =?us-ascii?Q?3UCQ+7HBfclJOK67fWLOEQhKQSg4OyvB7bvnf7umrBT1UIxwUlvpG9iHwOra?= =?us-ascii?Q?QUbUr5SfMsydB/6UCfnD8gQcgIEDFtcrZtLbPeHWkJxvq6NzYV8gNtVTJ0hG?= =?us-ascii?Q?XoWJvy06kWIy2dPCGBrOGNR7Mq1vjHirkv7kWMGLZ+Q0ozSPPNwPY0X+VFI4?= =?us-ascii?Q?rTo1ru28JQ7JGzV6RKQb1fwOtbBIZdtt3B9ReWL5sIyOIj4k08XOg+3V00j5?= =?us-ascii?Q?e6sp+woshPxzDEW2H4FN9Puu6YfngU3CiDOWpLEGuauiN/6IoeONiCmFw+pB?= =?us-ascii?Q?NCxS2GER5Vs8=3D?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1940; 6:+unzexfzP/XzezGJGzthAYJP55QEr8yAFZ0Gd/jpwAw5xn+fVVOUZOB9PJv8jFJRr62dH2RUuBBhI8g0Aga1DqOsymvybhNlvFHca9kyER0HaWxewo35LTEoyFInRD25MfFtwT56YyPkSTVZ0w347G4eTGiaSLp9MvLazImVss7jWz/R8a37BNztJW9RyDj43G73CI28wUdaS2QKmFKafFgS+Y7yy1J6FHTjNQC5GflMpjwxHhzjyM7ZvuK3W570bGVXOP72ww2vTBZ78NI9pNxugnilXEqbdIEYnGr9BZr3jZlF2GT4KPVm6w7f3qe/vV9TBxf5YcFZCSwbRX1kt5FygUCvjhe4ntLamK1RQQ2SrG2T2SNZusmTqPfoFV/gkjmFIENnmhBCsbPB8ogmnhSuiSag+iVuP2q4M1BRzwg7qQrs7YB104VxZg8shII9oSCgjAzzuWtPNaUwdcDQ2EdmvwxOH9vxgHEZwSRbGffX4do/Pcl2xD9w7YExjIWETTTXSJZGvIwBpkfB0VGlBQ==; 5:uaJXr8LvTU9JV5fWALZJ7kskDMWKWWomj+7v2TZUEW5W/ee+T4aotih5Lov7p7t7XjLBw409KRw+XBXIDk4JmtWCCBM84/TLpR9bBxPh9HwhwlHSDSwEafCgzKc9JU7eybUjbwBS83cPQrq9pFQm9w==; 24:zyMbjap8K4R9S6YL8iLF/sOK9sN9Enez/8mk7JH6UcjyOj9TIUsQw06+vw7XEsgUhGEKyxGuVkgytPYupGNH3jIVun1kKHBEZtfWvmFfYd0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1940; 7:+SH5l4JH3q9YMkx2SROAHetWuCdDQRsnKGCgTe8enWRm6Ce8eooer3JelUBokezRywdbigPoQAmc66Am/w5cFMbR12v/02YP6icfZykhy/35To1UVk67uKu5qK4daXj8D+KuT2XOm8RL5MhF9fg5LhCxAAsEcTkferz77koZPwCBUD9t/TlS8NVKNe4p8Iy/FZLRlmBNX4yPuBN8dkWdGTAcsWPqBk0wWtx24L7pyHgQtpzZWsfV+qyQA5z+/3+lNBUg4lV8T5x24KCa4X206xQIn89xuTbnBsqekWMpKMlNRiploxT0GLf9XlgU0tCKM9GbEzK+TQq5BT+d21/7pA== X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2017 17:01:26.5887 (UTC) X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=711e4ccf-2e9b-4bcf-a551-4094005b6194; Ip=[50.232.66.26]; Helo=[CAEXCH02.caveonetworks.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1940 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This patch disables tunnel offloads via ndo_features_check() if given UDP port is not offloaded to hardware. This in turn allows to run multiple tunnel interfaces using different UDP ports. Signed-off-by: Manish Chopra Signed-off-by: Yuval Mintz --- drivers/net/ethernet/qlogic/qede/qede_fp.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/drivers/net/ethernet/qlogic/qede/qede_fp.c b/drivers/net/ethernet/qlogic/qede/qede_fp.c index 961b1d3..7b6f41d 100644 --- a/drivers/net/ethernet/qlogic/qede/qede_fp.c +++ b/drivers/net/ethernet/qlogic/qede/qede_fp.c @@ -1697,13 +1697,24 @@ netdev_features_t qede_features_check(struct sk_buff *skb, } /* Disable offloads for geneve tunnels, as HW can't parse - * the geneve header which has option length greater than 32B. + * the geneve header which has option length greater than 32b + * and disable offloads for the ports which are not offloaded. */ - if ((l4_proto == IPPROTO_UDP) && - ((skb_inner_mac_header(skb) - - skb_transport_header(skb)) > QEDE_MAX_TUN_HDR_LEN)) - return features & ~(NETIF_F_CSUM_MASK | - NETIF_F_GSO_MASK); + if (l4_proto == IPPROTO_UDP) { + struct qede_dev *edev = netdev_priv(dev); + u16 hdrlen, vxln_port, gnv_port; + + hdrlen = QEDE_MAX_TUN_HDR_LEN; + vxln_port = edev->vxlan_dst_port; + gnv_port = edev->geneve_dst_port; + + if ((skb_inner_mac_header(skb) - + skb_transport_header(skb)) > hdrlen || + (ntohs(udp_hdr(skb)->dest) != vxln_port && + ntohs(udp_hdr(skb)->dest) != gnv_port)) + return features & ~(NETIF_F_CSUM_MASK | + NETIF_F_GSO_MASK); + } } return features;