From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jiri Benc Subject: Re: [PATCH net-next] openvswitch: correctly fragment packet with mpls headers Date: Wed, 5 Oct 2016 14:47:24 +0200 Message-ID: <20161005144724.67a5ab12@griffin> References: <20161004102458.1241605f@griffin> <20161004112804.04f25140@griffin> <20161004185920.229e62de@griffin> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: Linux Kernel Network Developers , David Ahern To: Pravin Shelar Return-path: Received: from mx1.redhat.com ([209.132.183.28]:58966 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752666AbcJEMr2 (ORCPT ); Wed, 5 Oct 2016 08:47:28 -0400 In-Reply-To: Sender: netdev-owner@vger.kernel.org List-ID: On Tue, 4 Oct 2016 19:03:46 -0700, Pravin Shelar wrote: > We could have encapsulated packet defragmented in physical bridge. > that mean the packet is entering OVS after egressing tunnel device. > That use case would break due to this patch. Okay, thanks for explanation. I missed this use case and it would indeed break. And we can't clear existing inner headers when the frame enters the bridge as it would break GSO. Seems checking for the MPLS ethertype is indeed the only safe solution. > > If this patch is wrong, then the current push_mpls is wrong, too, it > > does the same assumption. > > > I am not sure what you mean, can you explain? push_mpls() uses inner_proto as an indication whether this is the first MPLS label or not. But it checks skb->encapsulation at the start, thus it's safe (I expected this check to be done at the config time, not runtime, and looked in the wrong place for it.) I'll respin the patch. Thanks for the patience with me, Jiri