From mboxrd@z Thu Jan 1 00:00:00 1970 From: Du Fan Subject: Re: [PATCH net] gso: do GSO for local skb with size bigger than MTU Date: Thu, 04 Dec 2014 15:48:46 +0800 Message-ID: <548011DE.4000208@gmail.com> References: <20141201135225.GA16814@casper.infradead.org> <20141202154839.GB5344@t520.home> <20141202170927.GA9457@casper.infradead.org> <20141202173401.GB4126@redhat.com> <20141202174158.GB9457@casper.infradead.org> <20141203090339.GA9299@redhat.com> <20141203183859.GB16447@redhat.com> <20141203220244.GA8822@casper.infradead.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: Thomas Graf , "Michael S. Tsirkin" , "Du, Fan" , Jason Wang , "netdev@vger.kernel.org" , "davem@davemloft.net" , "fw@strlen.de" , "dev@openvswitch.org" To: Jesse Gross , Pravin Shelar Return-path: Received: from mail-pa0-f41.google.com ([209.85.220.41]:33808 "EHLO mail-pa0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751554AbaLDHvc (ORCPT ); Thu, 4 Dec 2014 02:51:32 -0500 Received: by mail-pa0-f41.google.com with SMTP id rd3so17605746pab.0 for ; Wed, 03 Dec 2014 23:51:31 -0800 (PST) In-Reply-To: Sender: netdev-owner@vger.kernel.org List-ID: =E4=BA=8E 2014=E5=B9=B412=E6=9C=8804=E6=97=A5 06:51, Jesse Gross =E5=86= =99=E9=81=93: > My proposal would be something like this: > * For L2, reduce the VM MTU to the lowest common denominator on the= segment. > * For L3, use path MTU discovery or fragment inner packet (i.e. > normal routing behavior). > * As a last resort (such as if using an old version of virtio in th= e > guest), fragment the tunnel packet. After some investigation on OpenvSwitch package, it seems before this commit: 06021dcb "datapath: compat: Fix compilation 3.11" OpenvSwitch package is doing GSO on its own. rpl_ip_local_out -> tnl_skb_gso_segment ^^^^^^^^^^^^^^^ Perform GSO in above function -> ip_local_out . . -> ip_finish_output Which means, when over-MTU-sized skb enter ip_local_out, it's not a gso type skb, so the stack perform ip fragmentation, and send them out. So, over-MTU-sized skb did travel through stack into outside. Why not dropping such OpenvSwitch level GSO operation after 3.10? --=20 No zuo no die but I have to try.