[ovs-dev] [PATCH v9 2/3] userspace: L3 tunnel support for GRE and LISP
Ben Pfaff
blp at ovn.org
Fri Jun 2 21:40:51 UTC 2017
On Fri, Jun 02, 2017 at 04:16:21PM +0000, Zoltán Balogh wrote:
> From: Jan Scheurich <jan.scheurich at ericsson.com>
>
> Add a boolean "layer3" configuration option for tunnel vports.
> The layer3 option defaults to false for all ports except LISP.
> GRE ports accept both true and false for "layer3".
>
> A tunnel vport configured with layer3=true receives L3 packets.
> which are then converted to Ethernet packets by pushing a dummy
> Ethernet heder at the ingress of the OpenFlow pipeline. The
> Ethernet header of a packet is stripped before sending to a
> layer3 tunnel vport.
>
> Presently a single GRE vport cannot carry both L2 and L3 packets.
> But it is possible to create two GRE vports representing the same
> GRE tunel, one with layer3=false, the other with layer3=true.
> L2 packet from the tunnel are received on the first vport, L3
> packets on the second. The controller must send packets to the
> layer3 GRE vport to tunnel them without their Ethernet header.
>
> Units tests have been added to check the L3 tunnel handling.
>
> LISP tunnels are not yet supported by the netdev userspace datapath.
>
> Signed-off-by: Simon Horman <simon.horman at netronome.com>
> Signed-off-by: Jiri Benc <jbenc at redhat.com>
> Signed-off-by: Yi Yang <yi.y.yang at intel.com>
> Signed-off-by: Jan Scheurich <jan.scheurich at ericsson.com>
> Co-authored-by: Zoltan Balogh <zoltan.balogh at ericsson.com>
Thanks. I folded in the following incremental and applied this to
master.
--8<--------------------------cut here-------------------------->8--
diff --git a/NEWS b/NEWS
index 0e6c9bfe3a46..276ecf8eab54 100644
--- a/NEWS
+++ b/NEWS
@@ -51,8 +51,7 @@ Post-v2.7.0
- Add --cleanup option to command 'ovs-appctl exit' (see ovs-vswitchd(8)).
- L3 tunneling:
* Add "layer3" options for tunnel ports that support non-Ethernet (L3)
- payload (GRE, VXLAN-GPE).
- * New vxlan tunnel extension "gpe" to support VXLAN-GPE tunnels.
+ payload (GRE).
* Transparently pop and push Ethernet headers at transmit/reception
of packets to/from L3 tunnels.
diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml
index 92b2c7956b98..6e3206ee1b5f 100644
--- a/vswitchd/vswitch.xml
+++ b/vswitchd/vswitch.xml
@@ -2135,8 +2135,8 @@
<dt><code>gre</code></dt>
<dd>
- An Ethernet over RFC 2890 Generic Routing Encapsulation over IPv4/IPv6
- tunnel.
+ Generic Routing Encapsulation (GRE) over IPv4/IPv6 tunnel,
+ configurable to encapsulate layer 2 or layer 3 traffic.
</dd>
<dt><code>vxlan</code></dt>
@@ -2392,8 +2392,15 @@
<column name="options" key="layer3" type='{"type": "boolean"}'>
<p>
- Optional. Packets are sent and received without an Ethernet
- header present.
+ By default, or if set to false, the tunnel carries L2 packets (with
+ an Ethernet header). If set to true, the tunnel carries L3 packets
+ (without an Ethernet header present).
+ </p>
+
+ <p>
+ A single GRE tunnel cannot carry both L2 and L3 packets, but the
+ same effect can be realized by creating two tunnels with different
+ <code>layer3</code> settings and otherwise the same configuration.
</p>
</column>
</group>
More information about the dev
mailing list