It is some time now since the OOT kernel module was removed. It is yet
longer since it was deprecated. And it is no longer present in any
supported versions.

However, running user-space with the OOT kernel module, from unsupported
releases, is still supported.

This notice deprecates that support as of the v3.7 release.
With the intention to remove it in the v3.8 release.

As discussed at OVS+OVN Conference 2025.

Acked-by: Eelco Chaudron <[email protected]>
Signed-off-by: Simon Horman <[email protected]>

--
v2:
- Minor edit to NEWS text
- Add Acked-by tag from Eelco
- Incorporated suggestions from Ilya
  + Use NEWS rather than News as patch prefix: it's the file's name
  + Add run-time deprecation warning message
  + Document that the last supported release with the OOT module was
    v2.17 rather than referring to the module's removal in v3.0.
  + Typo: use-space -> user-space
- Link to v1: 
https://mail.openvswitch.org/pipermail/ovs-dev/2025-December/428402.html
---
 NEWS                    |  8 +++++++-
 lib/dpif-netlink-rtnl.c | 17 +++++++++++++++--
 2 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/NEWS b/NEWS
index 
f9a74df1ad52aaadf94925b34c12b3dbc028bf7d..d239ae4855c0e8a93dff9a1db7bab675e4455830
 100644
--- a/NEWS
+++ b/NEWS
@@ -16,7 +16,13 @@ Post-v3.6.0
      * New ovsdb_idl_txn_assert_read_only() interface to mark transactions
        as read-only and trigger assertion failure when application attempts
        to modify the database data through this transaction.
-
+   - Deprecation of support for running OVS user-space with OOT kernel module
+     * The OOT kernel module refers to the kernel module that was
+       previously distributed as part of OVS - out of tree (OOT) from the
+       perspective of the upstream Kernel tree.
+     * The OOT kernel module: was deprecated in v2.15; was last present in
+       the v2.17 release; and is no longer present in any supported release
+       since v2.17 went EOL when v3.5 was released.
 
 v3.6.0 - 18 Aug 2025
 --------------------
diff --git a/lib/dpif-netlink-rtnl.c b/lib/dpif-netlink-rtnl.c
index 
2a76d6504f732de50047c158ff67d00b7b29fffc..bcf4d8202597863c4ba09b42db1dfc167e3c42b3
 100644
--- a/lib/dpif-netlink-rtnl.c
+++ b/lib/dpif-netlink-rtnl.c
@@ -542,8 +542,8 @@ dpif_netlink_rtnl_port_destroy(const char *name, const char 
*type)
  *
  * See ovs_tunnels_out_of_tree
  */
-bool
-dpif_netlink_rtnl_probe_oot_tunnels(void)
+static bool
+__dpif_netlink_rtnl_probe_oot_tunnels(void)
 {
     char namebuf[NETDEV_VPORT_NAME_BUFSIZE];
     struct netdev *netdev = NULL;
@@ -624,3 +624,16 @@ dpif_netlink_rtnl_probe_oot_tunnels(void)
 
     return out_of_tree;
 }
+
+bool
+dpif_netlink_rtnl_probe_oot_tunnels(void)
+{
+    bool out_of_tree = __dpif_netlink_rtnl_probe_oot_tunnels();
+
+    if (out_of_tree) {
+        VLOG_WARN_ONCE("Use of OOT kernel datapath module deprecated. "
+                       "Please module proivided by upsteram kernel instead.");
+    }
+
+    return out_of_tree;
+}

-- 
2.47.3

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to