On Mon, Mar 31, 2025 at 4:07 PM Ilya Maximets <i.maxim...@ovn.org> 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 <i.maxim...@ovn.org>
> ---
>  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
> d...@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
>
Looks good to me, thanks.
Acked-by: Ales Musil <amu...@redhat.com>
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to