Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp963798ybc; Sat, 23 Nov 2019 12:07:13 -0800 (PST) X-Google-Smtp-Source: APXvYqzFwvRRkkXD4haSsE4+bEk5TTU1WwaGMdbIsT9REJ9p5eQbF/Oc447YPmJMOWs4AhjB89pK X-Received: by 2002:aa7:d295:: with SMTP id w21mr8724866edq.13.1574539633261; Sat, 23 Nov 2019 12:07:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574539633; cv=none; d=google.com; s=arc-20160816; b=Ui82RFLMBgUD+wRBld9EzHxo8NyoLtfgzD8eZGWy1v2zp2iniehwLksNi1sqcR1kRQ olFrWJlDU7rOMW1QBmvi1lQ8LVoce6YY//3MDGkZKJouyG8fwSGxD2NueKNDM9KVaSGH ylvkDNLl+/4Y3eeUvJRPmgNGeN55lXimrvnkgSOXYQkEToXVBXwFuovUqC2YNQC/WEmv 6kFN9/BxtJJ7nhRNJkSMGrtterObyfVV//1Yf+AgdUyTsgP0NgwUMqKvxvNosRaoZeYZ u4XCRD/BYZJkKVxJjyz3cxBW7NKNtvdSzOVAZNB16NOinB2tVVHFnBKMJ4TNNFtMZSF0 U+hA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=11Sq2OPyQ3aHQwL4Hh5wAYTtoDS92BHuMuscBZZCuPg=; b=wPl+4dqB0WwlMB5iC8AZuQUxHHxrakv7pcbi6hByc2eq2ya0qPy6zreL5sBKoRrMYk TohecFlBfJtLFEPOx5WaBBtdrm0uHRbGqO5GsZUA2ROAdpLHWBTVMeaRC57qrgI6kCNk W3evGzNsaTrWKXGjoNqnm1dSYaI2hIqrD5hEbf9rsva6dsuSWs4w7/79+8TmD10z9sGk LAhz+t/NKKrJLI8m+y1Fn20xgjYnWKQtp1xZPoYZ5qO+KiQyVpb6az0aB+vbtDiNhxdb SpHIL2l5wNCXy3SHwIDuIMx8soQyrDY/M6F5SjfA20e6IUkKjeq1cPyrsmjivXel+fG+ yN5w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 14si1504469eja.294.2019.11.23.12.06.35; Sat, 23 Nov 2019 12:07:13 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726638AbfKWUGc (ORCPT + 99 others); Sat, 23 Nov 2019 15:06:32 -0500 Received: from stargate.chelsio.com ([12.32.117.8]:44890 "EHLO stargate.chelsio.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726620AbfKWUGc (ORCPT ); Sat, 23 Nov 2019 15:06:32 -0500 Received: from localhost (scalar.blr.asicdesigners.com [10.193.185.94]) by stargate.chelsio.com (8.13.8/8.13.8) with ESMTP id xANK6I3f025617; Sat, 23 Nov 2019 12:06:19 -0800 Date: Sun, 24 Nov 2019 01:27:57 +0530 From: Rahul Lakkireddy To: Jakub Kicinski Cc: netdev@vger.kernel.org, linux-crypto@vger.kernel.org, davem@davemloft.net, herbert@gondor.apana.org.au, nirranjan@chelsio.com, atul.gupta@chelsio.com, vishal@chelsio.com, dt@chelsio.com Subject: Re: [PATCH net-next v2 2/3] cxgb4: add UDP segmentation offload support Message-ID: <20191123195755.GA30684@chelsio.com> References: <1638e6bdd3aa9a4536aaeb644418d2a0ff5e5368.1574383652.git.rahul.lakkireddy@chelsio.com> <20191122161334.44de6174@cakuba.netronome.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191122161334.44de6174@cakuba.netronome.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org On Friday, November 11/22/19, 2019 at 16:13:34 -0800, Jakub Kicinski wrote: > On Fri, 22 Nov 2019 06:30:02 +0530, Rahul Lakkireddy wrote: > > Implement and export UDP segmentation offload (USO) support for both > > NIC and MQPRIO QoS offload Tx path. Update appropriate logic in Tx to > > parse GSO info in skb and configure FW_ETH_TX_EO_WR request needed to > > perform USO. > > > > v2: > > - Remove inline keyword from write_eo_udp_wr() in sge.c. Let the > > compiler decide. > > > > Signed-off-by: Rahul Lakkireddy > > > diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c > > index 76538f4cd595..f57457453561 100644 > > --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c > > +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c > > @@ -91,6 +91,7 @@ static const char stats_strings[][ETH_GSTRING_LEN] = { > > "rx_bg3_frames_trunc ", > > > > "tso ", > > + "uso ", > > Oh wow, the spaces, people's inventiveness when it comes to ethtool free > form strings knows no bounds.. > > That's not a review comment, I just wanted to say that :) > > > "tx_csum_offload ", > > "rx_csum_good ", > > "vlan_extractions ", > > > diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c > > index e8a1826a1e90..12ff69b3ba91 100644 > > --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c > > +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c > > @@ -1136,11 +1136,17 @@ static u16 cxgb_select_queue(struct net_device *dev, struct sk_buff *skb, > > > > if (dev->num_tc) { > > struct port_info *pi = netdev2pinfo(dev); > > + u8 ver, proto; > > + > > + ver = ip_hdr(skb)->version; > > + proto = (ver == 6) ? ipv6_hdr(skb)->nexthdr : > > + ip_hdr(skb)->protocol; > > Checking ip version now looks potentially like a fix? > Yes, the earlier check was not considering IPv6 header when extracting the protocol field for comparison, used to decide whether the traffic can be sent on the TC-MQPRIO QoS offload Tx path added very recently just a couple of weeks ago. > > /* Send unsupported traffic pattern to normal NIC queues. */ > > txq = netdev_pick_tx(dev, skb, sb_dev); > > if (xfrm_offload(skb) || is_ptp_enabled(skb, dev) || > > - ip_hdr(skb)->protocol != IPPROTO_TCP) > > + skb->encapsulation || > > The addition of encapsulation check also looks unrelated? > UDP traffic was not supported on the TC-MQPRIO QoS offload Tx path before this patch. VxLAN and Geneve UDP tunnel packets need to be handled differently and hence the above check to send these packets through the normal Tx path for now. The support for them on QoS offload path will be enabled by a future patchset. > > + (proto != IPPROTO_TCP && proto != IPPROTO_UDP)) > > txq = txq % pi->nqsets; > > > > return txq; Thanks, Rahul