[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CALnjE+pFp+3gBgufV9ySewCDpuLQvVqxWT-7xM3oshtpuxaKuQ@mail.gmail.com>
Date: Wed, 19 Nov 2014 12:32:07 -0800
From: Pravin Shelar <pshelar@...ira.com>
To: Jiri Benc <jbenc@...hat.com>
Cc: Jiri Pirko <jiri@...nulli.us>, netdev <netdev@...r.kernel.org>,
David Miller <davem@...emloft.net>,
Jamal Hadi Salim <jhs@...atatu.com>,
Tom Herbert <therbert@...gle.com>,
Eric Dumazet <edumazet@...gle.com>,
Willem de Bruijn <willemb@...gle.com>,
Daniel Borkmann <dborkman@...hat.com>, mst@...hat.com,
fw@...len.de, Paul.Durrant@...rix.com, Thomas Graf <tgraf@...g.ch>,
Cong Wang <cwang@...pensource.com>
Subject: Re: [patch net-next v3 8/9] net: move vlan pop/push functions into
common code
On Wed, Nov 19, 2014 at 5:03 AM, Jiri Benc <jbenc@...hat.com> wrote:
> On Wed, 19 Nov 2014 00:06:19 -0800, Pravin Shelar wrote:
>> skb_reset_mac_len() sets length according to ethernet and network
>> offsets, but mpls expects mac-length to be offset to mpls header (ref.
>> skb_mpls_header()). Therefore rather than reset we need to subtract
>> VLAN_HLEN from mac_len. Same goes for vlan-push(), we can add
>> VLAN_HLEN.
>
> Subtracting VLAN_HLEN from mac_len would break the common vlan cases,
> where skb->protocol is ETH_P_8021Q and skb->mac_len is 14 on input to
> __skb_vlan_pop. After __skb_vlan_pop pops the vlan header, it changes
> skb->protocol to the protocol of the actual frame and has to leave
> skb->mac_len at 14.
>
MPLS API depends on mac-length to point to start of MPLS. OVS takes
care of this by setting mac-length of every packet it process
accordingly. If that is not in common path then we can not move this
API to common path, Since that will break OVS MPLS action.
> You'll need something more sophisticated to support MPLS here, I'm
> afraid.
>
> Jiri
>
> --
> Jiri Benc
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists