[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