Skip to content

Commit

Permalink
tunnels: Remove support for deprecated STT and LISP.
Browse files Browse the repository at this point in the history
STT and LISP tunnel types were deprecated and marked for removal
in the following commits in the OVS 3.5 release:

  3b37a61 ("netdev-vport: Deprecate STT tunnel port type.")
  8d7ac03 ("netdev-vport: Deprecate LISP tunnel port type.")

Main reasons were that STT was rejected in upstream kernel and
the LISP was never upstreamed as well and doesn't really have a
supported implementation.

Removing both now.

Signed-off-by: Ilya Maximets <[email protected]>
  • Loading branch information
igsilya committed Feb 24, 2025
1 parent cb9e21d commit 4422e7a
Show file tree
Hide file tree
Showing 38 changed files with 59 additions and 1,673 deletions.
1 change: 0 additions & 1 deletion Documentation/automake.mk
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@ DOC_SOURCE = \
Documentation/howto/libvirt.rst \
Documentation/howto/selinux.rst \
Documentation/howto/ssl.rst \
Documentation/howto/lisp.rst \
Documentation/howto/qos.png \
Documentation/howto/qos.rst \
Documentation/howto/sflow.png \
Expand Down
5 changes: 0 additions & 5 deletions Documentation/faq/releases.rst
Original file line number Diff line number Diff line change
Expand Up @@ -141,8 +141,6 @@ 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 (deprecated) NO 2.11 NO NO
Tunnel - STT (deprecated) NO 2.4 NO YES
Tunnel - GRE 3.11 1.0 2.4 YES
Tunnel - VXLAN 3.12 1.10 2.4 YES
Tunnel - Geneve 3.18 2.4 2.4 YES
Expand Down Expand Up @@ -190,7 +188,6 @@ Q: Are all features available with all datapaths?
TCP flags matching 3.13 YES YES NO
Validate flow actions YES YES N/A NO
Multiple datapaths YES YES YES NO
Tunnel TSO - STT N/A YES NO YES
===================== ============== ============== ========= =======

Q: What DPDK version does each Open vSwitch release work with?
Expand Down Expand Up @@ -294,8 +291,6 @@ packaged with Open vSwitch?
VXLAN 3.12
Geneve 3.18
ERSPAN 4.18
LISP not upstream
STT not upstream
======== ============

If you are using a version of the kernel that is older than the one listed
Expand Down
1 change: 0 additions & 1 deletion Documentation/howto/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ OVS
selinux
libvirt
ssl
lisp
tunneling
userspace-tunneling
vlan
Expand Down
8 changes: 4 additions & 4 deletions Documentation/howto/ipsec.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,10 @@ OVS IPsec
~~~~~~~~~

OVS IPsec aims to provide a simple interface for user to add encryption on OVS
tunnels. It supports GRE, GENEVE, VXLAN, and STT tunnel. The IPsec
configuration is done by setting options of the tunnel interface and
other_config of Open_vSwitch. You can choose different authentication methods
and plaintext tunnel policies based on your requirements.
tunnels. It supports GRE, GENEVE, and VXLAN tunnel. The IPsec configuration is
done by setting options of the tunnel interface and other_config of
Open_vSwitch. You can choose different authentication methods and plaintext
tunnel policies based on your requirements.

OVS does not currently provide any support for IPsec encryption for traffic not
encapsulated in a tunnel.
Expand Down
117 changes: 0 additions & 117 deletions Documentation/howto/lisp.rst

This file was deleted.

2 changes: 1 addition & 1 deletion Documentation/intro/install/rhel.rst
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ Red Hat Network Scripts Integration

A RHEL host has default firewall rules that prevent any Open vSwitch tunnel
traffic from passing through. If a user configures Open vSwitch tunnels like
Geneve, GRE, VXLAN, LISP etc., they will either have to manually add iptables
Geneve, GRE, VXLAN, etc., they will either have to manually add iptables
firewall rules to allow the tunnel traffic or add it through a startup script
Refer to the "enable-protocol" command in the ovs-ctl(8) manpage for more
information.
Expand Down
5 changes: 2 additions & 3 deletions Documentation/intro/install/windows.rst
Original file line number Diff line number Diff line change
Expand Up @@ -703,8 +703,7 @@ Add tunnels

#. IPv4 tunnel, e.g.:

The Windows Open vSwitch implementation support VXLAN and STT tunnels
(STT tunnel ports are deprecated).
The Windows Open vSwitch implementation support VXLAN and Geneve tunnels.
To add tunnels. For example, first add the tunnel port between
172.168.201.101 <->172.168.201.102:

Expand All @@ -728,7 +727,7 @@ Add tunnels
> ovs-vsctl set Interface tun-2 options:in_key=flow
> ovs-vsctl set Interface tun-2 options:out_key=flow

Where ``<port-type>`` is one of: ``stt`` or ``vxlan``
Where ``<port-type>`` is one of: ``geneve`` or ``vxlan``

.. note::

Expand Down
3 changes: 3 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ Post-v3.5.0
- ovs-ctl:
* Added a new option, --oom-score=<score>, to set the daemons' Linux
Out-Of-Memory (OOM) killer score.
- Tunnels:
* Support for previously deprecated LISP and STT tunnel port types
is now removed.


v3.5.0 - 17 Feb 2025
Expand Down
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ following features:
- NIC bonding with or without LACP on upstream switch
- NetFlow, sFlow(R), and mirroring for increased visibility
- QoS (Quality of Service) configuration, plus policing
- Geneve, GRE, VXLAN, STT, ERSPAN, GTP-U, SRv6, Bareudp, and LISP tunneling
- Geneve, GRE, VXLAN, ERSPAN, GTP-U, SRv6, and Bareudp tunneling
- 802.1ag connectivity fault management
- OpenFlow 1.0 plus numerous extensions
- Transactional configuration database with C and Python bindings
Expand Down
2 changes: 0 additions & 2 deletions datapath-windows/automake.mk
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,6 @@ EXTRA_DIST += \
datapath-windows/ovsext/PacketParser.h \
datapath-windows/ovsext/Recirc.c \
datapath-windows/ovsext/Recirc.h \
datapath-windows/ovsext/Stt.c \
datapath-windows/ovsext/Stt.h \
datapath-windows/ovsext/Switch.c \
datapath-windows/ovsext/Switch.h \
datapath-windows/ovsext/Tunnel.c \
Expand Down
22 changes: 0 additions & 22 deletions datapath-windows/ovsext/Actions.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@
#include "Offload.h"
#include "PacketIO.h"
#include "Recirc.h"
#include "Stt.h"
#include "Switch.h"
#include "User.h"
#include "Vport.h"
Expand All @@ -49,8 +48,6 @@ typedef struct _OVS_ACTION_STATS {
UINT64 txGre;
UINT64 rxVxlan;
UINT64 txVxlan;
UINT64 rxStt;
UINT64 txStt;
UINT64 rxGeneve;
UINT64 txGeneve;
UINT64 flowMiss;
Expand Down Expand Up @@ -212,9 +209,6 @@ OvsDetectTunnelRxPkt(OvsForwardingContext *ovsFwdCtx,
dstPort, nwProto);
if (tunnelVport) {
switch(tunnelVport->ovsType) {
case OVS_VPORT_TYPE_STT:
ovsActionStats.rxStt++;
break;
case OVS_VPORT_TYPE_VXLAN:
ovsActionStats.rxVxlan++;
break;
Expand Down Expand Up @@ -314,9 +308,6 @@ OvsDetectTunnelPkt(OvsForwardingContext *ovsFwdCtx,
case OVS_VPORT_TYPE_VXLAN:
ovsActionStats.txVxlan++;
break;
case OVS_VPORT_TYPE_STT:
ovsActionStats.txStt++;
break;
case OVS_VPORT_TYPE_GENEVE:
ovsActionStats.txGeneve++;
break;
Expand Down Expand Up @@ -671,11 +662,6 @@ OvsTunnelPortTx(OvsForwardingContext *ovsFwdCtx)
&ovsFwdCtx->tunKey, ovsFwdCtx->switchContext,
&ovsFwdCtx->layers, &newNbl, &switchFwdInfo);
break;
case OVS_VPORT_TYPE_STT:
status = OvsEncapStt(ovsFwdCtx->tunnelTxNic, ovsFwdCtx->curNbl,
&ovsFwdCtx->tunKey, ovsFwdCtx->switchContext,
&ovsFwdCtx->layers, &newNbl, &switchFwdInfo);
break;
case OVS_VPORT_TYPE_GENEVE:
status = OvsEncapGeneve(ovsFwdCtx->tunnelTxNic, ovsFwdCtx->curNbl,
&ovsFwdCtx->tunKey, ovsFwdCtx->switchContext,
Expand Down Expand Up @@ -767,14 +753,6 @@ OvsTunnelPortRx(OvsForwardingContext *ovsFwdCtx)
status = OvsDecapVxlan(ovsFwdCtx->switchContext, ovsFwdCtx->curNbl,
&ovsFwdCtx->tunKey, &newNbl);
break;
case OVS_VPORT_TYPE_STT:
status = OvsDecapStt(ovsFwdCtx->switchContext, ovsFwdCtx->curNbl,
&ovsFwdCtx->tunKey, &newNbl);
if (status == NDIS_STATUS_SUCCESS && newNbl == NULL) {
/* This was an STT-LSO Fragment */
dropReason = L"OVS-STT segment is cached";
}
break;
case OVS_VPORT_TYPE_GENEVE:
status = OvsDecapGeneve(ovsFwdCtx->switchContext, ovsFwdCtx->curNbl,
&ovsFwdCtx->tunKey, &newNbl);
Expand Down
7 changes: 3 additions & 4 deletions datapath-windows/ovsext/Debug.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,9 @@
#define OVS_DBG_OTHERS BIT32(19)
#define OVS_DBG_NETLINK BIT32(20)
#define OVS_DBG_TUNFLT BIT32(21)
#define OVS_DBG_STT BIT32(22)
#define OVS_DBG_CONTRK BIT32(23)
#define OVS_DBG_GENEVE BIT32(24)
#define OVS_DBG_IPFRAG BIT32(25)
#define OVS_DBG_CONTRK BIT32(22)
#define OVS_DBG_GENEVE BIT32(23)
#define OVS_DBG_IPFRAG BIT32(24)

#define OVS_DBG_LAST 25 /* Set this to the last defined module number. */
/* Please add above OVS_DBG_LAST. */
Expand Down
Loading

0 comments on commit 4422e7a

Please sign in to comment.