[ovs-dev] [PATCHv4] tunnel: Add layer 2 IPv6 GRE encapsulation support.

Ben Pfaff blp at ovn.org
Thu Jun 27 14:51:46 UTC 2019


On Wed, Jun 26, 2019 at 03:21:49PM -0700, Gregory Rose wrote:
> 
> On 6/26/2019 11:59 AM, Ben Pfaff wrote:
> > On Wed, Jun 26, 2019 at 08:22:07AM -0700, William Tu wrote:
> > > The patch adds ip6gretap support. Tunnel type 'ip6gretap' is a layer 2 GRE
> > > tunnel over IPv6, carrying inner ethernet packets and encap with GRE header
> > > with outer IPv6 header.  Encapsulation of layer 3 packet over IPv6 GRE, ip6gre,
> > > is not supported yet.  I tested it by running:
> > >    # make check-kernel TESTSUITEFLAGS='-k ip6gretap'
> > > under kernel 5.2 and for userspace:
> > >    # make check TESTSUITEFLAGS='-k ip6gretap'
> > > 
> > > Signed-off-by: William Tu <u9012063 at gmail.com>
> > > Signed-off-by: Eli Britstein <elibr at mellanox.com>
> > > Co-authored-by: Eli Britstein <elibr at mellanox.com>
> > > Tested-by: Greg Rose <gvrose8192 at gmail.com>
> > > Reviewed-by: Greg Rose <gvrose8192 at gmail.com>
> > Thanks for working to generalize OVS tunnel support.
> > 
> > For IPv4 GRE, we use the "gre" tunnel type and then we use
> > options:packet_type to control whether the tunnel carries L2 or L3
> > packets.  Is there a reason that IPv6 GRE should be different?
> 
> Hi Ben,
> 
> unfortunately there is a reason that ipv6 gre is different and that is
> because it uses the ARPHRD_IP6GRE HW type.  That
> is not currently supported by openvswitch so the best we can do for ipv6 gre
> is support the L2 tap driver which uses
> the ARPHRD_ETHER type.

I think that this is really an implementation detail.  Ideally, we would
abstract the interface provided to our users (the configuration in the
database, and the OpenFlow interface) from the implementation in the
datapath.  This seems doubly true because I don't know a reason why this
detail of the Linux kernel datapath would extend to other datapaths such
as the userspace datapath.


More information about the dev mailing list