summaryrefslogtreecommitdiff
path: root/vswitchd
diff options
context:
space:
mode:
authorBen Pfaff <blp@ovn.org>2017-06-23 16:47:59 +0000
committerBen Pfaff <blp@ovn.org>2017-06-27 17:28:30 -0400
commit875ab13020b16269e0401b11fe0efc74e2cd952a (patch)
treeb474fb6bbb68be94bffd7ce6d4cd9a889408689c /vswitchd
parent3d4b2e6eb74ed5bb5b35373aa8a489536938fee6 (diff)
downloadopenvswitch-875ab13020b16269e0401b11fe0efc74e2cd952a.tar.gz
userspace: Handling of versatile tunnel ports
In netdev_gre_build_header(), GRE protocol and VXLAN next_potocol is set based on packet_type of flow. If it's about an Ethernet packet, it is set to ETP_TYPE_TEB. Otherwise, if the name space is OFPHTN_ETHERNET, it is set according to the name space type. Signed-off-by: Jan Scheurich <jan.scheurich@ericsson.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
Diffstat (limited to 'vswitchd')
-rw-r--r--vswitchd/vswitch.xml94
1 files changed, 77 insertions, 17 deletions
diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml
index 500f05a24..abfe3976b 100644
--- a/vswitchd/vswitch.xml
+++ b/vswitchd/vswitch.xml
@@ -2402,6 +2402,31 @@
including tunnel monitoring.
</column>
+ <group title="Tunnel Options: lisp only">
+ <column name="options" key="packet_type"
+ type='{"type": "string", "enum": ["set",
+ ["legacy_l3", "ptap"]]}'>
+ <p>
+ A LISP tunnel sends and receives only IPv4 and IPv6 packets. This
+ option controls what how the tunnel represents the packets that it
+ sends and receives:
+ </p>
+
+ <ul>
+ <li>
+ By default, or if this option is <code>legacy_l3</code>, the
+ tunnel represents packets as Ethernet frames for compatibility
+ with legacy OpenFlow controllers that expect this behavior.
+ </li>
+ <li>
+ If this option is <code>ptap</code>, the tunnel represents
+ packets using the <code>packet_type</code> mechanism introduced
+ in OpenFlow 1.5.
+ </li>
+ </ul>
+ </column>
+ </group>
+
<group title="Tunnel Options: vxlan only">
<column name="options" key="exts">
@@ -2421,21 +2446,42 @@
<code>gpe</code>: Support for Generic Protocol Encapsulation in
accordance with IETF draft
<code>https://tools.ietf.org/html/draft-ietf-nvo3-vxlan-gpe</code>.
+ Without this option, a VXLAN packet always encapsulates an
+ Ethernet frame. With this option, an VXLAN packet may also
+ encapsulate an IPv4, IPv6, NSH, or MPLS packet.
</li>
</ul>
</column>
- <column name="options" key="layer3" type='{"type": "boolean"}'>
+ <column name="options" key="packet_type"
+ type='{"type": "string", "enum": ["set",
+ ["legacy_l2", "legacy_l3", "ptap"]]}'>
<p>
- 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).
+ This option controls what types of packets the tunnel sends and
+ receives and how it represents them:
</p>
- <p>
- To set this option to true, the <code>gpe</code> extension must
- also be enabled in <ref column="options" key="exts"/>.
- </p>
+ <ul>
+ <li>
+ By default, or if this option is <code>legacy_l2</code>, the
+ tunnel sends and receives only Ethernet frames.
+ </li>
+ <li>
+ If this option is <code>legacy_l3</code>, the tunnel sends and
+ receives only non-Ethernet (L3) packet, but the packets are
+ represented as Ethernet frames for compatibility with legacy
+ OpenFlow controllers that expect this behavior. This requires
+ enabling <code>gpe</code> in <ref column="options" key="exts"/>.
+ </li>
+ <li>
+ If this option is <code>ptap</code>, Open vSwitch represents
+ packets in the tunnel using the <code>packet_type</code>
+ mechanism introduced in OpenFlow 1.5. This mechanism supports
+ any kind of packet, but actually sending and receiving
+ non-Ethernet packets requires additionally enabling
+ <code>gpe</code> in <ref column="options" key="exts"/>.
+ </li>
+ </ul>
</column>
</group>
@@ -2444,18 +2490,32 @@
<code>gre</code> interfaces support these options.
</p>
- <column name="options" key="layer3" type='{"type": "boolean"}'>
+ <column name="options" key="packet_type"
+ type='{"type": "string", "enum": ["set",
+ ["legacy_l2", "legacy_l3", "ptap"]]}'>
<p>
- 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).
+ This option controls what types of packets the tunnel sends and
+ receives and how it represents them:
</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>
+ <ul>
+ <li>
+ By default, or if this option is <code>legacy_l2</code>, the
+ tunnel sends and receives only Ethernet frames.
+ </li>
+ <li>
+ If this option is <code>legacy_l3</code>, the tunnel sends and
+ receives only non-Ethernet (L3) packet, but the packets are
+ represented as Ethernet frames for compatibility with legacy
+ OpenFlow controllers that expect this behavior.
+ </li>
+ <li>
+ If this option is <code>ptap</code>, the tunnel sends and
+ receives any kind of packet. Open vSwitch represents packets in
+ the tunnel using the <code>packet_type</code> mechanism
+ introduced in OpenFlow 1.5.
+ </li>
+ </ul>
</column>
</group>