On Thu, Dec 5, 2024 at 1:28 PM Ilya Maximets <[email protected]> wrote:
> STT tunnel support will be deprecated in upcoming OVS 3.5 release and > planned for removal in OVS 3.6. > Hi Ilya, thank you for the patch. I have two small comments that could be addressed during merge. We should leave a note in "enum chassis_tunnel_type" about the deprecation. > The main reasons are: > > STT tunnel implementation was rejected in the upstream Linux kernel > long time ago and will probably never be there, because it is > not considered safe for use, as it can confuse parts of the network > mistaking it for normal TCP. > > The only available implementation for Linux is an OOT openvswitch > kernel module shipped with OVS 2.17. This module is deprecated and > 2.17 reaches EoL in Feb 2025. At that point there will be no > supported implementation for Linux. > > The standard draft for the protocol itself is also expired and > archived with the latest update made in 2016: > https://datatracker.ietf.org/doc/draft-davie-stt/ > > Modern network interface cards support various hardware offload > features with UDP tunnels, diminishing the main selling point of > STT - the ability to reuse hardware offload features meant for TCP. > > Deprecate the STT encapsulation type in OVN as well, so support can > be removed in 25.06. > nit: 25.09 we don't have 25.06 anymore. > > Signed-off-by: Ilya Maximets <[email protected]> > --- > > The corresponding OVS patch: > > https://patchwork.ozlabs.org/project/openvswitch/patch/[email protected]/ > > The OVS change is not applied yet, so maybe wait for it to be in ovs/main > before applying this deprecation patch. > > Documentation/faq/general.rst | 3 +++ > NEWS | 2 ++ > controller/chassis.c | 8 ++++++-- > controller/ovn-controller.8.xml | 4 ++++ > ovn-architecture.7.xml | 7 +++---- > ovn-sb.xml | 3 ++- > tests/ovn-ic.at | 2 +- > 7 files changed, 21 insertions(+), 8 deletions(-) > > diff --git a/Documentation/faq/general.rst b/Documentation/faq/general.rst > index df4952ef5..63f5c4cbe 100644 > --- a/Documentation/faq/general.rst > +++ b/Documentation/faq/general.rst > @@ -88,6 +88,9 @@ Q: Why does OVN use STT and Geneve instead of VLANs or > VXLAN (or GRE)? > > 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/NEWS b/NEWS > index da3aba739..c9eb8ede8 100644 > --- a/NEWS > +++ b/NEWS > @@ -4,6 +4,8 @@ Post v24.09.0 > hash (with specified hash fields) for ECMP routes > while choosing nexthop. > - ovn-ic: Add support for route tag to prevent route learning. > + - Support for STT tunnels in ovn-encap-type is deprecated and will be > + removed in the next release. > > OVN v24.09.0 - 13 Sep 2024 > -------------------------- > diff --git a/controller/chassis.c b/controller/chassis.c > index 8b1964c54..19a251f26 100644 > --- a/controller/chassis.c > +++ b/controller/chassis.c > @@ -243,12 +243,16 @@ chassis_parse_ovs_encap_type(const char *encap_type, > { > sset_from_delimited_string(encap_type_set, encap_type, ","); > > + static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(1, 5); > const char *type; > > SSET_FOR_EACH (type, encap_type_set) { > - if (!get_tunnel_type(type)) { > - static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(1, 5); > + uint32_t tun_type = get_tunnel_type(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/ovn-controller.8.xml > b/controller/ovn-controller.8.xml > index aeaa374c1..6a7d676af 100644 > --- a/controller/ovn-controller.8.xml > +++ b/controller/ovn-controller.8.xml > @@ -168,6 +168,10 @@ > are <code>geneve</code>, <code>vxlan</code>, and > <code>stt</code>. > </p> > > + <p> > + <code>stt</code> tunnel type is deprecated. > + </p> > + > <p> > Due to the limited amount of metadata in <code>vxlan</code>, > the capabilities and performance of connected gateways and > diff --git a/ovn-architecture.7.xml b/ovn-architecture.7.xml > index 640944faf..b11277bb9 100644 > --- a/ovn-architecture.7.xml > +++ b/ovn-architecture.7.xml > @@ -2897,10 +2897,9 @@ > </diagram> > > <p> > - Environments whose NICs lack Geneve offload may prefer STT > encapsulation > - for performance reasons. For STT encapsulation, OVN encodes all three > - pieces of logical metadata in the STT 64-bit tunnel ID as follows, > from MSB > - to LSB: > + 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> > diff --git a/ovn-sb.xml b/ovn-sb.xml > index ea4adc1c3..9394bb5f4 100644 > --- a/ovn-sb.xml > +++ b/ovn-sb.xml > @@ -479,7 +479,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>vxlan</code>, or <code>stt</code>. <code>stt</code> is > + deprecated. > </column> > > <column name="options"> > diff --git a/tests/ovn-ic.at b/tests/ovn-ic.at > index 1ba65fd9f..13150a453 100644 > --- a/tests/ovn-ic.at > +++ b/tests/ovn-ic.at > @@ -333,7 +333,7 @@ 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]) > > -OVN_CLEANUP_SBOX(gw2) > +OVN_CLEANUP_SBOX([gw2], ["/STT encapsulation type is deprecated/d"]) > OVN_CLEANUP_IC([az1], [az2]) > > AT_CLEANUP > -- > 2.47.0 > > _______________________________________________ > dev mailing list > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > > Thanks, Ales _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
