Skip to content

Commit

Permalink
netdev-vport: Deprecate LISP tunnel port type.
Browse files Browse the repository at this point in the history
Tunnel support is in upstream Linux kernel since 2013.  However,
despite the FAQ saying so, I'm not aware of actual attempts to bring
support for LISP tunnels upstream.  The only available implementation
is in OOT kernel module shipped with OVS 2.17.  It is deprecated and
will reach EoL in Feb 2025.

Mark the tunnel port type as deprecated, so we can fully remove the
support once the only available implementation reaches end of life
together with OVS 2.17.

Signed-off-by: Ilya Maximets <[email protected]>
  • Loading branch information
igsilya committed Dec 4, 2024
1 parent 77ac0b2 commit 818c5f7
Show file tree
Hide file tree
Showing 7 changed files with 22 additions and 13 deletions.
16 changes: 5 additions & 11 deletions Documentation/faq/releases.rst
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ Q: Are all features available with all datapaths?
Conntrack NAT 4.6 2.6 2.8 YES
Conntrack NAT6 4.6 2.6 2.8 3.0
Conntrack Helper Persist. YES YES 3.3 NO
Tunnel - LISP NO 2.11 NO NO
Tunnel - LISP (deprecated) NO 2.11 NO NO
Tunnel - STT NO 2.4 NO YES
Tunnel - GRE 3.11 1.0 2.4 YES
Tunnel - VXLAN 3.12 1.10 2.4 YES
Expand Down Expand Up @@ -270,16 +270,10 @@ Q: I get an error like this when I configure Open vSwitch:
Q: What features are not available in the Open vSwitch kernel datapath that
ships as part of the upstream Linux kernel?

A: The kernel module in upstream Linux does not include support for LISP.
Work is in progress to add support for LISP to the upstream Linux version
of the Open vSwitch kernel module. For now, if you need this feature, use
the kernel module from the Open vSwitch distribution instead of the
upstream Linux kernel module.

Certain features require kernel support to function or to have reasonable
performance. If the ovs-vswitchd log file indicates that a feature is not
supported, consider upgrading to a newer upstream Linux release or using
the kernel module paired with the userspace distribution.
A: Certain features require kernel support to function or to have
reasonable performance. If the ovs-vswitchd log file indicates that a
feature is not supported, consider upgrading to a newer upstream Linux
release or using the kernel module paired with the userspace distribution.

Please note that as of Open vSwitch 3.0 the kernel module is no longer
part of the Open vSwitch distribution.
Expand Down
4 changes: 4 additions & 0 deletions Documentation/howto/lisp.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@
Using LISP tunneling
====================

.. warning::

Support for LISP tunnel ports is deprecated and will be removed in OVS 3.6.

LISP is a layer 3 tunneling mechanism, meaning that encapsulated packets do not
carry Ethernet headers, and ARP requests shouldn't be sent over the tunnel.
Because of this, there are some additional steps required for setting up LISP
Expand Down
3 changes: 3 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ Post-v3.4.0
formats.
- DPDK:
* OVS validated with DPDK 23.11.2.
- Tunnels:
* LISP tunnel port type is deprecated and will be removed in the next
release.


v3.4.0 - 15 Aug 2024
Expand Down
2 changes: 1 addition & 1 deletion include/linux/openvswitch.h
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ enum ovs_vport_type {
OVS_VPORT_TYPE_GRE, /* GRE tunnel. */
OVS_VPORT_TYPE_VXLAN, /* VXLAN tunnel. */
OVS_VPORT_TYPE_GENEVE, /* Geneve tunnel. */
OVS_VPORT_TYPE_LISP = 105, /* LISP tunnel */
OVS_VPORT_TYPE_LISP = 105, /* LISP tunnel (deprecated). */
OVS_VPORT_TYPE_STT = 106, /* STT tunnel */
OVS_VPORT_TYPE_ERSPAN = 107, /* ERSPAN tunnel. */
OVS_VPORT_TYPE_IP6ERSPAN = 108, /* ERSPAN tunnel. */
Expand Down
1 change: 1 addition & 0 deletions lib/netdev-vport.c
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,7 @@ netdev_vport_construct(struct netdev *netdev_)
update_vxlan_global_cfg(netdev_, NULL, tnl_cfg);
} else if (!strcmp(type, "lisp")) {
tnl_cfg->dst_port = port ? htons(port) : htons(LISP_DST_PORT);
VLOG_WARN("%s: 'lisp' port type is deprecated.", name);
} else if (!strcmp(type, "stt")) {
tnl_cfg->dst_port = port ? htons(port) : htons(STT_DST_PORT);
} else if (!strcmp(type, "gtpu")) {
Expand Down
2 changes: 1 addition & 1 deletion tests/tunnel.at
Original file line number Diff line number Diff line change
Expand Up @@ -573,7 +573,7 @@ AT_CHECK([ovs-appctl dpif/show | tail -n +3], [0], [dnl
p1 1/4341: (lisp: remote_ip=1.1.1.1)
])

OVS_VSWITCHD_STOP
OVS_VSWITCHD_STOP(["/'lisp' port type is deprecated/d"])
AT_CLEANUP

AT_SETUP([tunnel - ERSPAN])
Expand Down
7 changes: 7 additions & 0 deletions vswitchd/vswitch.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2825,6 +2825,9 @@

<dt><code>lisp</code></dt>
<dd>
<p>
This port type is deprecated.
</p>
<p>
A layer 3 tunnel over the experimental, UDP-based Locator/ID
Separation Protocol (RFC 6830).
Expand Down Expand Up @@ -3095,6 +3098,10 @@
<column name="options" key="packet_type"
type='{"type": "string", "enum": ["set",
["legacy_l3", "ptap"]]}'>
<p>
LISP tunnel type is deprecated.
</p>

<p>
A LISP tunnel sends and receives only IPv4 and IPv6 packets. This
option controls what how the tunnel represents the packets that it
Expand Down

0 comments on commit 818c5f7

Please sign in to comment.