From mboxrd@z Thu Jan 1 00:00:00 1970 From: Solio Sarabia Subject: Re: [PATCH net-next 0/2] allow setting gso_maximum values Date: Fri, 1 Dec 2017 17:03:34 -0800 Message-ID: <20171202010334.GA209@intel.com> References: <20171201201158.25594-1-sthemmin@microsoft.com> <20171201153001.4170f55d@xeon-e3> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Cc: netdev@vger.kernel.org, "davem@davemloft.net Stephen Hemminger" To: Stephen Hemminger Return-path: Received: from mga11.intel.com ([192.55.52.93]:25560 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751894AbdLBBDf (ORCPT ); Fri, 1 Dec 2017 20:03:35 -0500 Content-Disposition: inline In-Reply-To: <20171201153001.4170f55d@xeon-e3> Sender: netdev-owner@vger.kernel.org List-ID: On Fri, Dec 01, 2017 at 03:30:01PM -0800, Stephen Hemminger wrote: > On Fri, 1 Dec 2017 12:11:56 -0800 > Stephen Hemminger wrote: > > > This is another way of addressing the GSO maximum performance issues for > > containers on Azure. What happens is that the underlying infrastructure uses > > a overlay network such that GSO packets over 64K - vlan header end up cause > > either guest or host to have do expensive software copy and fragmentation. > > > > The netvsc driver reports GSO maximum settings correctly, the issue > > is that containers on veth devices still have the larger settings. > > One solution that was examined was propogating the values back > > through the bridge device, but this does not work for cases where > > virtual container network is done on L3. > > > > This patch set punts the problem to the orchestration layer that sets > > up the container network. It also enables other virtual devices > > to have configurable settings for GSO maximum. > > > > Stephen Hemminger (2): > > rtnetlink: allow GSO maximums to be passed to device > > veth: allow configuring GSO maximums > > > > drivers/net/veth.c | 20 ++++++++++++++++++++ > > net/core/rtnetlink.c | 2 ++ > > 2 files changed, 22 insertions(+) > > > > I would like a confirmation from Intel that is doing Docker testing > that this works for them before merging. This change and its iproute2 counterpart allow creating veth pairs with specific gso_max{size,segs}. Thanks. However, the docker code that sets up veth pairis is go-compiled in their libnetwork. End-users won't be able to tweak gso settings at veth creation. In this case, we would need to add ioctl (ip/iplink.c:do_set) support to allow changes after veth is created.