[ovs-dev] [PATCH net-next repost] openvswitch: allow output of MPLS packets on tunnel vports

Jesse Gross jesse at kernel.org
Tue Mar 15 17:05:25 UTC 2016


On Mon, Mar 14, 2016 at 8:00 PM, Simon Horman
<simon.horman at netronome.com> wrote:
> 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.horman at netronome.com>

Reviewed-by: Jesse Gross <jesse at kernel.org>



More information about the dev mailing list