[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <363ba109-1951-1018-060f-25df33c717e0@cumulusnetworks.com>
Date: Mon, 26 Sep 2016 20:04:06 -0600
From: David Ahern <dsa@...ulusnetworks.com>
To: Jiri Benc <jbenc@...hat.com>
Cc: pravin shelar <pshelar@....org>,
Simon Horman <simon.horman@...ronome.com>,
Pravin B Shelar <pshelar@...ira.com>,
Linux Kernel Network Developers <netdev@...r.kernel.org>,
"David S. Miller" <davem@...emloft.net>, buytenh@...tstofly.org,
"Eric W. Biederman" <ebiederm@...ssion.com>, rshearma@...cade.com,
tom@...bertland.com, Thomas Graf <tgraf@...g.ch>,
olivier.dugeon@...nge.com,
Alexander Duyck <alexander.duyck@...il.com>,
roopa@...ulusnetworks.com
Subject: Re: [PATCH net-next 2/3] net: mpls: Fixups for GSO
On 9/26/16 11:02 AM, Jiri Benc wrote:
> On Mon, 26 Sep 2016 17:56:22 +0200, Jiri Benc wrote:
>> After push_mpls, network_header points to the start of MPLS headers.
>> Which I understand was the point of this patch. However, push_mpls also
>> calls invalidate_flow_key. Meaning that, depending on actions, we may
>> end up calling key_extract soon after. And key_extract sets the network
>> header *after* the MPLS headers.
you know this code better than me, but key_extract pulls the eth header and then sets network header. If MPLS labels are present then it is the labels that the network_header now points to. How did come to the conclusion it is after the labels?
>>
>> That means that on output, for otherwise identical packet,
>> network_header can point before or after MPLS headers based on what
>> actions happened to be executed (recirculation, mainly).
>>
>> If I'm not misreading the code or missing something, this can't be
>> right.
>>
>> mpls_gso_segment does not care, it resets the network_header anyway.
>> What about drivers? What is the correct behavior?
>
> Answering to myself: it breaks skb_mac_gso_segment. Seems we need to
> fix key_extract to set network_header to the beginning of MPLS headers.
> I'll prepare a patch.
>
> Jiri
>
Powered by blists - more mailing lists