On Sat, Jul 16, 2016 at 5:05 PM, Jesse Gross <je...@kernel.org> wrote:
> On Tue, Jul 12, 2016 at 10:26 PM, Pravin B Shelar <pshe...@ovn.org> wrote:
>> Upstream commit:
>>     commit fe3a5f6c795810edb1646a840fec3c8c350c2a4e
>>     Author: Simon Horman <simon.hor...@netronome.com>
>>
>>     openvswitch: allow output of MPLS packets on tunnel vports
>>
>>     Currently output of MPLS packets on tunnel vports is not allowed by Open
>>     vSwitch. This is because historically encapsulation was done in such a 
>> way
>>     that the inner_protocol field of the skb needed to hold the inner 
>> protocol
>>     for both MPLS and tunnel encapsulation in order for GSO segmentation to 
>> be
>>     performed correctly.
>>
>>     Since b2acd1dc3949 ("openvswitch: Use regular GRE net_device instead of
>>     vport") Open vSwitch makes use of lwt to output to tunnel netdevs which
>>     perform encapsulation. As no drivers expose support for MPLS offloads 
>> this
>>     means that GSO packets are segmented in software by validate_xmit_skb(),
>>     which is called from __dev_queue_xmit(), before tunnel encapsulation 
>> occurs.
>>     This means that the inner protocol of MPLS is no longer needed by the 
>> time
>>     encapsulation occurs and the contention on the inner_protocol field of 
>> the
>>     skb no longer occurs.
>>
>>     Thus it is now safe to output MPLS to tunnel vports.
>>
>>     Signed-off-by: Simon Horman <simon.hor...@netronome.com>
>>     Reviewed-by: Jesse Gross <je...@kernel.org>
>>     Signed-off-by: David S. Miller <da...@davemloft.net>
>>
>> Signed-off-by: Pravin B Shelar <pshe...@ovn.org>
>
> I don't know if this is safe on our backported kernel module. The
> premise of this commit was that packets coming out of OVS will go
> through the device layer before they hit the tunnel code and that will
> resolve any offloads and use of inner_protocol. However, with our
> versions of lightweight tunnels, this doesn't happen.

right, Lets skip this check if we are using upstream tunneling
modules. I will post update patch.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to