On Mon, Mar 31, 2025 at 4:07 PM Ilya Maximets <[email protected]> wrote:
> STT encapsulation type was deprecated in OVN 25.03 and is no longer
> supported in OVS since commit:
>
> 19b89416203f ("tunnels: Remove support for deprecated STT and LISP.")
>
> Remove support in OVN as well.
>
> OVS submodule is moved beyond the corresponding commit because we must
> have the flake8 fix for the F824 check, otherwise CI will fail.
>
> Note: This commit makes backward incompatible change in the Southbound
> DB schema by removing support for 'stt' from the encapsulation type
> column. Users must migrate to other encapsulation types before
> attempting upgrade to the future OVN 25.09. Corresponding warning is
> added to the NEWS file.
>
> Signed-off-by: Ilya Maximets <[email protected]>
> ---
> Documentation/faq/general.rst | 12 +++-----
> Documentation/howto/docker.rst | 11 +++-----
> Documentation/howto/firewalld.rst | 2 +-
> Documentation/topics/high-availability.rst | 2 +-
> Documentation/tutorials/ovn-openstack.rst | 2 +-
> NEWS | 6 ++++
> controller/chassis.c | 2 --
> controller/local_data.c | 5 +---
> controller/ovn-controller.8.xml | 6 +---
> controller/physical.c | 21 ++------------
> include/ovn/logical-fields.h | 2 +-
> lib/ovn-util.c | 2 --
> lib/ovn-util.h | 5 +---
> ovn-architecture.7.xml | 32 ++++++----------------
> ovn-ic-sb.ovsschema | 6 ++--
> ovn-ic-sb.xml | 4 +--
> ovn-nb.xml | 2 +-
> ovn-sb.ovsschema | 6 ++--
> ovn-sb.xml | 12 ++++----
> ovs | 2 +-
> tests/ovn-controller.at | 10 +------
> tests/ovn-ic.at | 6 ++--
> tests/ovn-sbctl.at | 14 ++++------
> tests/ovn.at | 1 -
> tests/system-kmod-macros.at | 2 +-
> 25 files changed, 56 insertions(+), 119 deletions(-)
>
> diff --git a/Documentation/faq/general.rst b/Documentation/faq/general.rst
> index 63f5c4cbe..c2386e7ad 100644
> --- a/Documentation/faq/general.rst
> +++ b/Documentation/faq/general.rst
> @@ -49,7 +49,7 @@ Q: How can I try OVN?
> various Linux distributions are available on many platforms,
> including:
> Debian, Ubuntu, Fedora.
>
> -Q: Why does OVN use STT and Geneve instead of VLANs or VXLAN (or GRE)?
> +Q: Why does OVN use Geneve instead of VLANs or VXLAN (or GRE)?
>
> A: OVN implements a fairly sophisticated packet processing pipeline in
> "logical datapaths" that can implement switching or routing
> functionality.
> @@ -77,20 +77,16 @@ Q: Why does OVN use STT and Geneve instead of VLANs or
> VXLAN (or GRE)?
> metadata must pass across the physical network:
>
> * Logical datapath ID, a 24-bit identifier. In Geneve, OVN uses the
> VNI to
> - hold the logical datapath ID; in STT, OVN uses 24 bits of STT's
> 64-bit
> - context ID.
> + hold the logical datapath ID.
>
> * Logical ingress port, a 15-bit identifier. In Geneve, OVN uses an
> option
> - to hold the logical ingress port; in STT, 15 bits of the context ID.
> + to hold the logical ingress port.
>
> * Logical egress port, a 16-bit identifier. In Geneve, OVN uses an
> option
> - to hold the logical egress port; in STT, 16 bits of the context ID.
> + to hold the logical egress port.
>
> See ``ovn-architecture(7)``, under "Tunnel Encapsulations", for
> details.
>
> - Note: Support for STT tunnels is deprecated and will be removed in OVN
> - 25.09 release.
> -
> Together, these metadata require 24 + 15 + 16 = 55 bits. GRE
> provides 32
> bits, VXLAN provides 24, and VLAN only provides 12. Most notably, if
> logical egress pipelines do not match on the logical ingress port,
> thereby
> diff --git a/Documentation/howto/docker.rst
> b/Documentation/howto/docker.rst
> index 15bf07c94..1ada1fa2c 100644
> --- a/Documentation/howto/docker.rst
> +++ b/Documentation/howto/docker.rst
> @@ -117,13 +117,10 @@ The "overlay" mode
>
> ``$ENCAP_TYPE``
> is the type of tunnel that you would like to use for overlay
> networking.
> - The options are ``geneve`` or ``stt``. Your kernel must have support
> for
> - your chosen ``$ENCAP_TYPE``. Both ``geneve`` and ``stt`` are part of
> the
> - Open vSwitch kernel module that is compiled from this repo. If you
> use the
> - Open vSwitch kernel module from upstream Linux, you will need a
> minimum
> - kernel version of 3.18 for ``geneve``. There is no ``stt`` support in
> - upstream Linux. You can verify whether you have the support in your
> kernel
> - as follows::
> + The options are ``geneve`` or ``vxlan``. Your kernel must have
> support for
> + your chosen ``$ENCAP_TYPE``. You will need a minimum Linux kernel
> version
> + of 3.18 for ``geneve``. You can verify whether you have the support
> in
> + your kernel as follows::
>
> $ lsmod | grep $ENCAP_TYPE
>
> diff --git a/Documentation/howto/firewalld.rst
> b/Documentation/howto/firewalld.rst
> index 27faebeea..9487d1074 100644
> --- a/Documentation/howto/firewalld.rst
> +++ b/Documentation/howto/firewalld.rst
> @@ -91,7 +91,7 @@ time the firewalld service restarts.
> The ovn-host-firewall-service only opens port 6081. This is because the
> default protocol for OVN tunnels is geneve. If you are using a different
> encapsulation protocol, you will need to modify the XML service file to
> open
> -the appropriate port(s). For VXLAN, open port 4789. For STT, open port
> 7471.
> +the appropriate port(s). For VXLAN, open port 4789.
>
> Recommendations
> ---------------
> diff --git a/Documentation/topics/high-availability.rst
> b/Documentation/topics/high-availability.rst
> index e85a1cd04..56c1b03e9 100644
> --- a/Documentation/topics/high-availability.rst
> +++ b/Documentation/topics/high-availability.rst
> @@ -77,7 +77,7 @@ Basic Architecture
>
> In an OVN deployment, the set of hypervisors and network elements
> operating
> under the guidance of ovn-northd are in what's called "logical space".
> These
> -servers use VXLAN, STT, or Geneve to communicate, oblivious to the
> details of
> +servers use VXLAN or Geneve to communicate, oblivious to the details of
> the underlying physical network. When these systems need to communicate
> with
> legacy networks, traffic must be routed through a Gateway which
> translates from
> OVN controlled tunnel traffic, to raw physical network traffic.
> diff --git a/Documentation/tutorials/ovn-openstack.rst
> b/Documentation/tutorials/ovn-openstack.rst
> index 557d6284f..93341d58c 100644
> --- a/Documentation/tutorials/ovn-openstack.rst
> +++ b/Documentation/tutorials/ovn-openstack.rst
> @@ -1946,7 +1946,7 @@ explore some of these directions:
>
> * Adding more than one hypervisor ("compute node", in OpenStack
> parlance). OVN connects compute nodes by tunneling packets with the
> - STT or Geneve protocols. OVN scales to 1000 compute nodes or more,
> + Geneve protocol. OVN scales to 1000 compute nodes or more,
> but two compute nodes demonstrate the principle. All of the tools
> and techniques we demonstrated also work with multiple compute
> nodes.
> diff --git a/NEWS b/NEWS
> index 656176d20..edb3ded0d 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -1,5 +1,11 @@
> Post v25.03.0
> -------------
> + - STT tunnels are no longer supported in ovn-encap-type.
> + ** WARNING ** Existing setups must be fully reconfigured to use
> Geneve
> + or VxLAN before upgrading. To avoid potential database conversion
> issues
> + all OVN databases should be manually compacted after the
> reconfiguration.
> + For instructions see:
> +
> https://docs.openvswitch.org/en/latest/ref/ovsdb.7/#compacting-databases
> - Added support for "ovn-cleanup-on-exit" config option in Open_vSwitch
> external-ids, this option allows to specify if ovn-controller should
> perform cleanup when exiting. The "--restart" exit always has
> priority
> diff --git a/controller/chassis.c b/controller/chassis.c
> index aa5980d92..c28a26a97 100644
> --- a/controller/chassis.c
> +++ b/controller/chassis.c
> @@ -253,8 +253,6 @@ chassis_parse_ovs_encap_type(const char *encap_type,
>
> if (!tun_type) {
> VLOG_INFO_RL(&rl, "Unknown tunnel type: %s", type);
> - } else if (tun_type == STT) {
> - VLOG_WARN_RL(&rl, "STT encapsulation type is deprecated");
> }
> }
> }
> diff --git a/controller/local_data.c b/controller/local_data.c
> index 5383f49cf..9c6974ce7 100644
> --- a/controller/local_data.c
> +++ b/controller/local_data.c
> @@ -482,8 +482,6 @@ local_nonvif_data_run(const struct ovsrec_bridge
> *br_int,
> enum chassis_tunnel_type tunnel_type;
> if (!strcmp(iface_rec->type, "geneve")) {
> tunnel_type = GENEVE;
> - } else if (!strcmp(iface_rec->type, "stt")) {
> - tunnel_type = STT;
> } else if (!strcmp(iface_rec->type, "vxlan")) {
> tunnel_type = VXLAN;
> } else {
> @@ -527,8 +525,7 @@ local_nonvif_data_handle_ovs_iface_changes(
> OVSREC_INTERFACE_TABLE_FOR_EACH_TRACKED (iface_rec, iface_table) {
> if (!strcmp(iface_rec->type, "geneve") ||
> !strcmp(iface_rec->type, "patch") ||
> - !strcmp(iface_rec->type, "vxlan") ||
> - !strcmp(iface_rec->type, "stt")) {
> + !strcmp(iface_rec->type, "vxlan")) {
> return false;
> }
> }
> diff --git a/controller/ovn-controller.8.xml
> b/controller/ovn-controller.8.xml
> index 31f790875..ca4df9148 100644
> --- a/controller/ovn-controller.8.xml
> +++ b/controller/ovn-controller.8.xml
> @@ -166,11 +166,7 @@
>
> <p>
> Supported tunnel types for connecting hypervisors and gateways
> - are <code>geneve</code>, <code>vxlan</code>, and
> <code>stt</code>.
> - </p>
> -
> - <p>
> - <code>stt</code> tunnel type is deprecated.
> + are <code>geneve</code> and <code>vxlan</code>.
> </p>
>
> <p>
> diff --git a/controller/physical.c b/controller/physical.c
> index a28dfd9ae..ee184ed23 100644
> --- a/controller/physical.c
> +++ b/controller/physical.c
> @@ -168,10 +168,6 @@ put_encapsulation(enum mf_field_id mff_ovn_geneve,
> put_load(datapath->tunnel_key, MFF_TUN_ID, 0, 24, ofpacts);
> put_load(outport, mff_ovn_geneve, 0, 32, ofpacts);
> put_move(MFF_LOG_INPORT, 0, mff_ovn_geneve, 16, 15, ofpacts);
> - } else if (tun->type == STT) {
> - put_load(datapath->tunnel_key | ((uint64_t) outport << 24),
> - MFF_TUN_ID, 0, 64, ofpacts);
> - put_move(MFF_LOG_INPORT, 0, MFF_TUN_ID, 40, 15, ofpacts);
> } else if (tun->type == VXLAN) {
> uint64_t vni = datapath->tunnel_key;
> if (!is_ramp_switch) {
> @@ -194,10 +190,6 @@ put_decapsulation(enum mf_field_id mff_ovn_geneve,
> put_move(MFF_TUN_ID, 0, MFF_LOG_DATAPATH, 0, 24, ofpacts);
> put_move(mff_ovn_geneve, 16, MFF_LOG_INPORT, 0, 15, ofpacts);
> put_move(mff_ovn_geneve, 0, MFF_LOG_OUTPORT, 0, 16, ofpacts);
> - } else if (tun->type == STT) {
> - put_move(MFF_TUN_ID, 40, MFF_LOG_INPORT, 0, 15, ofpacts);
> - put_move(MFF_TUN_ID, 24, MFF_LOG_OUTPORT, 0, 16, ofpacts);
> - put_move(MFF_TUN_ID, 0, MFF_LOG_DATAPATH, 0, 24, ofpacts);
> } else if (tun->type == VXLAN) {
> /* Add flows for non-VTEP tunnels. Split VNI into two 12-bit
> * sections and use them for datapath and outport IDs. */
> @@ -218,10 +210,6 @@ put_remote_chassis_flood_encap(struct ofpbuf *ofpacts,
> put_move(MFF_LOG_DATAPATH, 0, MFF_TUN_ID, 0, 24, ofpacts);
> put_load(0, mff_ovn_geneve, 0, 32, ofpacts);
> put_move(MFF_LOG_INPORT, 0, mff_ovn_geneve, 16, 15, ofpacts);
> - } else if (type == STT) {
> - put_move(MFF_LOG_INPORT, 0, MFF_TUN_ID, 40, 15, ofpacts);
> - put_load(0, MFF_TUN_ID, 24, 16, ofpacts);
> - put_move(MFF_LOG_DATAPATH, 0, MFF_TUN_ID, 0, 24, ofpacts);
> } else if (type == VXLAN) {
> put_move(MFF_LOG_INPORT, 0, MFF_TUN_ID, 12, 12, ofpacts);
> put_move(MFF_LOG_DATAPATH, 0, MFF_TUN_ID, 0, 12, ofpacts);
> @@ -245,9 +233,6 @@ match_set_chassis_flood_outport(struct match *match,
> memset(&mask.tun_metadata[mf_ovn_geneve->n_bytes - 2], 0xff, 2);
>
> tun_metadata_set_match(mf_ovn_geneve, &value, &mask, match, NULL);
> - } else if (type == STT) {
> - /* Outport occupies bits 24-39. */
> - match_set_tun_id_masked(match, 0, htonll(UINT64_C(0xffff) << 24));
> }
> }
>
> @@ -1471,8 +1456,6 @@ get_tunnel_overhead(struct chassis_tunnel const *tun)
> enum chassis_tunnel_type type = tun->type;
> if (type == GENEVE) {
> overhead += GENEVE_TUNNEL_OVERHEAD;
> - } else if (type == STT) {
> - overhead += STT_TUNNEL_OVERHEAD;
> } else if (type == VXLAN) {
> overhead += VXLAN_TUNNEL_OVERHEAD;
> } else {
> @@ -2696,8 +2679,8 @@ physical_run(struct physical_ctx *p_ctx,
> * Process packets that arrive from a remote hypervisor (by matching
> * on tunnel in_port). */
>
> - /* Add flows for Geneve, STT and VXLAN encapsulations. Geneve and STT
> - * encapsulations have metadata about the ingress and egress logical
> ports.
> + /* Add flows for Geneve and VXLAN encapsulations. Geneve
> encapsulations
> + * have metadata about the ingress and egress logical ports.
> * VXLAN encapsulations have metadata about the egress logical port
> only.
> * We set MFF_LOG_DATAPATH, MFF_LOG_INPORT, and MFF_LOG_OUTPORT from
> the
> * tunnel key data where possible, then resubmit to table 40 to handle
> diff --git a/include/ovn/logical-fields.h b/include/ovn/logical-fields.h
> index 196ac9dd8..3f636dc0c 100644
> --- a/include/ovn/logical-fields.h
> +++ b/include/ovn/logical-fields.h
> @@ -106,7 +106,7 @@ enum mff_log_flags {
>
> /* Indicate that a packet was received from a ramp switch to
> compensate for
> * the lack of egress port information available in ramp switch
> - * encapsulation. Egress port information is available for Geneve,
> STT and
> + * encapsulation. Egress port information is available for Geneve and
> * regular VXLAN tunnel types. */
> MLF_RCV_FROM_RAMP = (1 << MLF_RCV_FROM_RAMP_BIT),
>
> diff --git a/lib/ovn-util.c b/lib/ovn-util.c
> index c65b36bb5..05877350a 100644
> --- a/lib/ovn-util.c
> +++ b/lib/ovn-util.c
> @@ -913,8 +913,6 @@ get_tunnel_type(const char *name)
> {
> if (!strcmp(name, "geneve")) {
> return GENEVE;
> - } else if (!strcmp(name, "stt")) {
> - return STT;
> } else if (!strcmp(name, "vxlan")) {
> return VXLAN;
> }
> diff --git a/lib/ovn-util.h b/lib/ovn-util.h
> index ce8cc0568..f7f82c365 100644
> --- a/lib/ovn-util.h
> +++ b/lib/ovn-util.h
> @@ -35,7 +35,6 @@
> #define ETHERNET_OVERHEAD (ETH_HEADER_LEN + ETH_CRC_LENGTH)
>
> #define GENEVE_TUNNEL_OVERHEAD 38
> -#define STT_TUNNEL_OVERHEAD 18
> #define VXLAN_TUNNEL_OVERHEAD 30
>
> struct eth_addr;
> @@ -336,9 +335,7 @@ hash_add_in6_addr(uint32_t hash, const struct in6_addr
> *addr)
> /* Must be a bit-field ordered from most-preferred (higher number) to
> * least-preferred (lower number). */
> enum chassis_tunnel_type {
> - GENEVE = 1 << 2,
> - STT = 1 << 1, /* NOTE: STT support is deprecated and will be
> removed
> - * in an upcoming release. */
> + GENEVE = 1 << 1,
> VXLAN = 1 << 0
> };
>
> diff --git a/ovn-architecture.7.xml b/ovn-architecture.7.xml
> index d45248af4..7b598b203 100644
> --- a/ovn-architecture.7.xml
> +++ b/ovn-architecture.7.xml
> @@ -1204,7 +1204,7 @@
> </p>
>
> <p>
> - Geneve and STT tunnels pass this field as part of the tunnel key.
> + Geneve tunnels pass this field as part of the tunnel key.
> Ramp switch VXLAN tunnels do not explicitly carry a logical input
> port,
> but since they are used to communicate with gateways that from
> OVN's
> perspective consist of only a single logical port, so that OVN
> can set
> @@ -1228,7 +1228,7 @@
> </p>
>
> <p>
> - Geneve, STT and regular VXLAN tunnels pass this field as part of
> the
> + Geneve and regular VXLAN tunnels pass this field as part of the
> tunnel key. Ramp switch VXLAN tunnels do not transmit the logical
> output port field, and since they do not carry a logical output
> port
> field in the tunnel key, when a packet is received from ramp
> switch
> @@ -2813,7 +2813,7 @@
> <p>
> When VXLAN is enabled on any hypervisor in a cluster, datapath and
> egress
> port identifier ranges are reduced to 12-bits. This is done because
> only
> - STT and Geneve provide the large space for metadata (over 32 bits per
> + Geneve provides the large space for metadata (over 32 bits per
> packet). The mode with reduced ranges is called <code>VXLAN
> mode</code>.
> To accommodate for VXLAN, 24 bits available are split as follows:
> </p>
> @@ -2868,14 +2868,13 @@
> </p>
> <ul>
> <li>
> - STT and Geneve use randomized UDP or TCP source ports that allows
> - efficient distribution among multiple paths in environments that
> use ECMP
> + Geneve uses randomized UDP or TCP source ports that allows efficient
> + distribution among multiple paths in environments that use ECMP
> in their underlay.
> </li>
>
> <li>
> - NICs are available to offload STT and Geneve encapsulation and
> - decapsulation.
> + NICs are available to offload Geneve encapsulation and
> decapsulation.
> </li>
> </ul>
>
> @@ -2899,23 +2898,8 @@
> </diagram>
>
> <p>
> - Support for STT encapsulation is deprecated. While using STT on
> setups
> - that didn't migrate to Geneve yet, OVN encodes all three pieces of
> logical
> - metadata in the STT 64-bit tunnel ID as follows, from MSB to LSB:
> - </p>
> -
> - <diagram>
> - <header name="">
> - <bits name="reserved" above="9" below="0" width=".5"/>
> - <bits name="ingress port" above="15" width=".75"/>
> - <bits name="egress port" above="16" width=".75"/>
> - <bits name="datapath" above="24" width="1.25"/>
> - </header>
> - </diagram>
> -
> - <p>
> - For connecting to gateways, in addition to Geneve and STT, OVN
> supports
> - VXLAN, because only VXLAN support is common on top-of-rack (ToR)
> switches.
> + For connecting to gateways, in addition to Geneve, OVN supports VXLAN,
> + because VXLAN-only support is common on top-of-rack (ToR) switches.
> Currently, gateways have a feature set that matches the capabilities
> as
> defined by the VTEP schema, so fewer bits of metadata are necessary.
> In
> the future, gateways that do not support encapsulations with large
> amounts
> diff --git a/ovn-ic-sb.ovsschema b/ovn-ic-sb.ovsschema
> index 097d6f370..0269b3b75 100644
> --- a/ovn-ic-sb.ovsschema
> +++ b/ovn-ic-sb.ovsschema
> @@ -1,7 +1,7 @@
> {
> "name": "OVN_IC_Southbound",
> - "version": "1.3.0",
> - "cksum": "3496599919 7088",
> + "version": "2.3.0",
> + "cksum": "1259594626 7081",
> "tables": {
> "IC_SB_Global": {
> "columns": {
> @@ -47,7 +47,7 @@
> "columns": {
> "type": {"type": {"key": {
> "type": "string",
> - "enum": ["set", ["geneve", "stt", "vxlan"]]}}},
> + "enum": ["set", ["geneve", "vxlan"]]}}},
> "options": {"type": {"key": "string",
> "value": "string",
> "min": 0,
> diff --git a/ovn-ic-sb.xml b/ovn-ic-sb.xml
> index 46c77a814..63848088a 100644
> --- a/ovn-ic-sb.xml
> +++ b/ovn-ic-sb.xml
> @@ -275,8 +275,8 @@
>
> <column name="tunnel_key">
> <p>
> - A number that represents the logical port in the key (e.g. STT
> key or
> - Geneve TLV) field carried within tunnel protocol packets. The
> key
> + A number that represents the logical port in the key (e.g.
> Geneve
> + TLV) field carried within tunnel protocol packets. The key
> can be generated by any <code>ovn-ic</code> but the same key is
> shared by all availability zones so that the packets can go
> through
> the datapath pipelines of different availability zones.
> diff --git a/ovn-nb.xml b/ovn-nb.xml
> index ff5f2f249..307aed38b 100644
> --- a/ovn-nb.xml
> +++ b/ovn-nb.xml
> @@ -391,7 +391,7 @@
> northd will run in a <code>VXLAN mode</code>. See man
> ovn-architecture(7) <code>Tunnel Encapsulations</code> paragraph
> for
> more details. In case VXLAN encaps are needed on chassis only to
> - support HW VTEP functionality and main encap type is GENEVE or
> STT, set
> + support HW VTEP functionality and main encap type is GENEVE, set
> this option to <code>false</code> to use default
> non-<code>VXLAN mode</code> tunnel IDs allocation logic.
> Please consider when OVN is running in
> <code>OVN-interconnect</code>
> diff --git a/ovn-sb.ovsschema b/ovn-sb.ovsschema
> index c6058f42c..77c7d95b9 100644
> --- a/ovn-sb.ovsschema
> +++ b/ovn-sb.ovsschema
> @@ -1,7 +1,7 @@
> {
> "name": "OVN_Southbound",
> - "version": "20.41.0",
> - "cksum": "2343742948 34719",
> + "version": "21.41.0",
> + "cksum": "38144040 34712",
> "tables": {
> "SB_Global": {
> "columns": {
> @@ -64,7 +64,7 @@
> "columns": {
> "type": {"type": {"key": {
> "type": "string",
> - "enum": ["set", ["geneve", "stt", "vxlan"]]}}},
> + "enum": ["set", ["geneve", "vxlan"]]}}},
> "options": {"type": {"key": "string",
> "value": "string",
> "min": 0,
> diff --git a/ovn-sb.xml b/ovn-sb.xml
> index 39acb81a4..bbb3c7b13 100644
> --- a/ovn-sb.xml
> +++ b/ovn-sb.xml
> @@ -478,9 +478,8 @@
>
> <column name="type">
> The encapsulation to use to transmit packets to this chassis.
> - Hypervisors and gateways must use one of: <code>geneve</code>,
> - <code>vxlan</code>, or <code>stt</code>. <code>stt</code> is
> - deprecated.
> + Hypervisors and gateways must use <code>geneve</code> or
> + <code>vxlan</code>.
> </column>
>
> <column name="options">
> @@ -539,8 +538,7 @@
>
> <column name="options" key="dst_port" type='{"type": "integer"}'>
> <p>
> - If set, overrides the UDP (for <code>geneve</code> and
> - <code>vxlan</code>) or TCP (for <code>stt</code>) destination
> port.
> + If set, overrides the UDP destination port.
> </p>
> </column>
>
> @@ -3431,8 +3429,8 @@ tcp.flags = RST;
>
> <column name="tunnel_key">
> <p>
> - A number that represents the logical port in the key (e.g. STT
> key or
> - Geneve TLV) field carried within tunnel protocol packets.
> + A number that represents the logical port in the key (e.g.
> Geneve
> + TLV) field carried within tunnel protocol packets.
> </p>
>
> <p>
> diff --git a/ovs b/ovs
> index bb0593334..7f4ee4395 160000
> --- a/ovs
> +++ b/ovs
> @@ -1 +1 @@
> -Subproject commit bb059333496a9b48d6d798b6b32108c9f2720479
> +Subproject commit 7f4ee4395637e906563c71f4112b809fed4f3968
> diff --git a/tests/ovn-controller.at b/tests/ovn-controller.at
> index 2ebf879f1..fdd574c20 100644
> --- a/tests/ovn-controller.at
> +++ b/tests/ovn-controller.at
> @@ -339,6 +339,7 @@ check_tunnel_property () {
>
> # create "empty" chassis. vxlan is used here as a stub
> check ovn-sbctl chassis-add fakechassis vxlan 192.168.0.2
> +OVS_WAIT_UNTIL([check_tunnel_property type vxlan])
>
> # See if we switch to Geneve as the first choice when it is available
> # With multi-VTEP support we support tunnels with different IPs to the
> @@ -351,15 +352,6 @@ check ovn-sbctl chassis-add fakechassis vxlan
> 192.168.0.2
> encap_uuid=$(ovn-sbctl add chassis fakechassis encaps @encap --
> --id=@encap create encap type=geneve ip="192.168.0.2")
> OVS_WAIT_UNTIL([check_tunnel_property type geneve])
>
> -# change geneve to stt and check that tun interface was deleted and there
> is
> -# no stt encap on the second chassis, only vxlan
> -check ovn-sbctl set encap ${encap_uuid} type=stt
> -OVS_WAIT_WHILE([check_tunnel_property type stt])
> -OVS_WAIT_UNTIL([check_tunnel_property type vxlan])
> -
> -# change back to geneve
> -check ovn-sbctl set encap ${encap_uuid} type=geneve
> -
> # Check that changes within an encap row are propagated
> check ovn-sbctl set encap ${encap_uuid} ip=192.168.0.2
> OVS_WAIT_UNTIL([check_tunnel_property options:remote_ip
> "\"192.168.0.2\""])
> diff --git a/tests/ovn-ic.at b/tests/ovn-ic.at
> index e62ae3a35..bf360dfba 100644
> --- a/tests/ovn-ic.at
> +++ b/tests/ovn-ic.at
> @@ -423,10 +423,10 @@ ovs-vsctl set open .
> external-ids:ovn-is-interconn=true
> OVS_WAIT_UNTIL([ovn_as az2 ovn-sbctl show | grep "192.168.0.1"])
> ovs-vsctl set open . external_ids:ovn-encap-ip=192.168.0.2
> OVS_WAIT_UNTIL([ovn_as az2 ovn-sbctl show | grep "192.168.0.2"])
> -ovs-vsctl set open . external_ids:ovn-encap-type="geneve,stt"
> -OVS_WAIT_UNTIL([ovn_as az2 ovn-sbctl show | grep stt])
> +ovs-vsctl set open . external_ids:ovn-encap-type="geneve,vxlan"
> +OVS_WAIT_UNTIL([ovn_as az2 ovn-sbctl show | grep vxlan])
>
> -OVN_CLEANUP_SBOX([gw2], ["/STT encapsulation type is deprecated/d"])
> +OVN_CLEANUP_SBOX([gw2])
> OVN_CLEANUP_IC([az1], [az2])
>
> AT_CLEANUP
> diff --git a/tests/ovn-sbctl.at b/tests/ovn-sbctl.at
> index 9bb3993f5..c1ec79dc4 100644
> --- a/tests/ovn-sbctl.at
> +++ b/tests/ovn-sbctl.at
> @@ -76,12 +76,11 @@ AT_CHECK([ovn-sbctl -f csv -d bare --no-headings
> --columns ip,type list encap |
> 1.2.3.4,geneve
> ])
>
> -AT_CHECK([ovn-sbctl chassis-add ch1 stt,geneve,vxlan 1.2.3.5])
> +AT_CHECK([ovn-sbctl chassis-add ch1 geneve,vxlan 1.2.3.5])
> AT_CHECK([ovn-sbctl -f csv -d bare --no-headings --columns ip,type list
> encap | sort],
> [0], [dnl
> 1.2.3.4,geneve
> 1.2.3.5,geneve
> -1.2.3.5,stt
> 1.2.3.5,vxlan
> ])
>
> @@ -89,7 +88,6 @@ AT_CHECK([ovn-sbctl chassis-del ch0])
> AT_CHECK([ovn-sbctl -f csv -d bare --no-headings --columns ip,type list
> encap | sort],
> [0], [dnl
> 1.2.3.5,geneve
> -1.2.3.5,stt
> 1.2.3.5,vxlan
> ])
>
> @@ -101,7 +99,6 @@ check_row_count Chassis_Private 1
> AT_CHECK([ovn-sbctl -f csv -d bare --no-headings --columns ip,type list
> encap | sort],
> [0], [dnl
> 1.2.3.5,geneve
> -1.2.3.5,stt
> 1.2.3.5,vxlan
> 2.3.4.5,geneve
> ])
> @@ -110,7 +107,6 @@ AT_CHECK([ovn-sbctl chassis-del ch2])
> AT_CHECK([ovn-sbctl -f csv -d bare --no-headings --columns ip,type list
> encap | sort],
> [0], [dnl
> 1.2.3.5,geneve
> -1.2.3.5,stt
> 1.2.3.5,vxlan
> ])
> check_row_count Chassis_Private 0
> @@ -126,13 +122,13 @@ OVN_SBCTL_TEST([ovn_sbctl_commands], [ovn-sbctl], [
> AT_CHECK([ovn-nbctl ls-add br-test])
> AT_CHECK([ovn-nbctl lsp-add br-test vif0])
> AT_CHECK([ovn-nbctl lsp-set-addresses vif0 f0:ab:cd:ef:01:02])
> -AT_CHECK([ovn-sbctl chassis-add ch0 stt 1.2.3.5])
> +AT_CHECK([ovn-sbctl chassis-add ch0 geneve 1.2.3.5])
> AT_CHECK([ovn-nbctl --wait=sb sync])
> AT_CHECK([ovn-sbctl lsp-bind vif0 ch0])
>
> AT_CHECK([ovn-sbctl show], [0], [dnl
> Chassis ch0
> - Encap stt
> + Encap geneve
> ip: "1.2.3.5"
> options: {csum="true"}
> Port_Binding vif0
> @@ -145,7 +141,7 @@ AT_CHECK([ovn-sbctl lsp-bind vif1 ch0])
>
> AT_CHECK([ovn-sbctl show | sed 's/vif[[0-9]]/vif/'], [0], [dnl
> Chassis ch0
> - Encap stt
> + Encap geneve
> ip: "1.2.3.5"
> options: {csum="true"}
> Port_Binding vif
> @@ -158,7 +154,7 @@ AT_CHECK([ovn-nbctl --wait=sb sync])
>
> AT_CHECK([ovn-sbctl show], [0], [dnl
> Chassis ch0
> - Encap stt
> + Encap geneve
> ip: "1.2.3.5"
> options: {csum="true"}
> Port_Binding vif0
> diff --git a/tests/ovn.at b/tests/ovn.at
> index afde2576f..7d97cd810 100644
> --- a/tests/ovn.at
> +++ b/tests/ovn.at
> @@ -16515,7 +16515,6 @@ m4_define([MULTICHASSIS_PATH_MTU_DISCOVERY_TEST],
> AT_CLEANUP
> ])])
>
> -# NOTE(ihar) no STT variants because it's not supported by upstream
> kernels
> MULTICHASSIS_PATH_MTU_DISCOVERY_TEST([ipv4], [geneve], [1424])
> MULTICHASSIS_PATH_MTU_DISCOVERY_TEST([ipv6], [geneve], [1404])
> MULTICHASSIS_PATH_MTU_DISCOVERY_TEST([ipv4], [vxlan], [1432])
> diff --git a/tests/system-kmod-macros.at b/tests/system-kmod-macros.at
> index 0eebed815..41a8b7914 100644
> --- a/tests/system-kmod-macros.at
> +++ b/tests/system-kmod-macros.at
> @@ -18,7 +18,7 @@ m4_define([_ADD_BR], [[add-br $1 -- set Bridge $1
> protocols=OpenFlow10,OpenFlow1
> m4_define([OVS_TRAFFIC_VSWITCHD_START],
> [AT_CHECK([modprobe openvswitch])
> on_exit 'modprobe -r openvswitch'
> - m4_foreach([mod], [[vport_geneve], [vport_gre], [vport_lisp],
> [vport_stt], [vport_vxlan]],
> + m4_foreach([mod], [[vport_geneve], [vport_gre], [vport_vxlan]],
> [modprobe -q mod || echo "Module mod not loaded."
> on_exit 'modprobe -q -r mod'
> ])
> --
> 2.49.0
>
> _______________________________________________
> dev mailing list
> [email protected]
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
>
Looks good to me, thanks.
Acked-by: Ales Musil <[email protected]>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev