Tunnel support is in upstream Linux kernel since 2013. However, despite the FAQ saying so, I'm not aware of actual attempts to bring support for LISP tunnels upstream. The only available implementation is in OOT kernel module shipped with OVS 2.17. It is deprecated and will reach EoL in Feb 2025.
Mark the tunnel port type as deprecated, so we can fully remove the support once the only available implementation reaches end of life together with OVS 2.17. Signed-off-by: Ilya Maximets <[email protected]> --- Documentation/faq/releases.rst | 16 +++++----------- Documentation/howto/lisp.rst | 4 ++++ NEWS | 3 +++ include/linux/openvswitch.h | 2 +- lib/netdev-vport.c | 1 + tests/tunnel.at | 2 +- vswitchd/vswitch.xml | 7 +++++++ 7 files changed, 22 insertions(+), 13 deletions(-) diff --git a/Documentation/faq/releases.rst b/Documentation/faq/releases.rst index d345b63d5..30f47a1b0 100644 --- a/Documentation/faq/releases.rst +++ b/Documentation/faq/releases.rst @@ -141,7 +141,7 @@ 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 NO 2.11 NO NO + Tunnel - LISP (deprecated) NO 2.11 NO NO Tunnel - STT NO 2.4 NO YES Tunnel - GRE 3.11 1.0 2.4 YES Tunnel - VXLAN 3.12 1.10 2.4 YES @@ -270,16 +270,10 @@ Q: I get an error like this when I configure Open vSwitch: Q: What features are not available in the Open vSwitch kernel datapath that ships as part of the upstream Linux kernel? - A: The kernel module in upstream Linux does not include support for LISP. - Work is in progress to add support for LISP to the upstream Linux version - of the Open vSwitch kernel module. For now, if you need this feature, use - the kernel module from the Open vSwitch distribution instead of the - upstream Linux kernel module. - - Certain features require kernel support to function or to have reasonable - performance. If the ovs-vswitchd log file indicates that a feature is not - supported, consider upgrading to a newer upstream Linux release or using - the kernel module paired with the userspace distribution. + A: Certain features require kernel support to function or to have + reasonable performance. If the ovs-vswitchd log file indicates that a + feature is not supported, consider upgrading to a newer upstream Linux + release or using the kernel module paired with the userspace distribution. Please note that as of Open vSwitch 3.0 the kernel module is no longer part of the Open vSwitch distribution. diff --git a/Documentation/howto/lisp.rst b/Documentation/howto/lisp.rst index f9a329eff..f46a1bcaa 100644 --- a/Documentation/howto/lisp.rst +++ b/Documentation/howto/lisp.rst @@ -25,6 +25,10 @@ Using LISP tunneling ==================== +.. warning:: + + LISP tunnel port type is deprecated and will be removed in OVS 3.6. + LISP is a layer 3 tunneling mechanism, meaning that encapsulated packets do not carry Ethernet headers, and ARP requests shouldn't be sent over the tunnel. Because of this, there are some additional steps required for setting up LISP diff --git a/NEWS b/NEWS index 6e3f56d73..9ea8addf3 100644 --- a/NEWS +++ b/NEWS @@ -25,6 +25,9 @@ Post-v3.4.0 formats. - DPDK: * OVS validated with DPDK 23.11.2. + - Tunnels: + * LISP tunnel port type is deprecated and will be removed in the next + release. v3.4.0 - 15 Aug 2024 diff --git a/include/linux/openvswitch.h b/include/linux/openvswitch.h index 0023b65fb..a44b93830 100644 --- a/include/linux/openvswitch.h +++ b/include/linux/openvswitch.h @@ -247,7 +247,7 @@ enum ovs_vport_type { OVS_VPORT_TYPE_GRE, /* GRE tunnel. */ OVS_VPORT_TYPE_VXLAN, /* VXLAN tunnel. */ OVS_VPORT_TYPE_GENEVE, /* Geneve tunnel. */ - OVS_VPORT_TYPE_LISP = 105, /* LISP tunnel */ + OVS_VPORT_TYPE_LISP = 105, /* LISP tunnel (deprecated). */ OVS_VPORT_TYPE_STT = 106, /* STT tunnel */ OVS_VPORT_TYPE_ERSPAN = 107, /* ERSPAN tunnel. */ OVS_VPORT_TYPE_IP6ERSPAN = 108, /* ERSPAN tunnel. */ diff --git a/lib/netdev-vport.c b/lib/netdev-vport.c index 234a4ebe1..cd011c6a8 100644 --- a/lib/netdev-vport.c +++ b/lib/netdev-vport.c @@ -226,6 +226,7 @@ netdev_vport_construct(struct netdev *netdev_) update_vxlan_global_cfg(netdev_, NULL, tnl_cfg); } else if (!strcmp(type, "lisp")) { tnl_cfg->dst_port = port ? htons(port) : htons(LISP_DST_PORT); + VLOG_WARN("%s: 'lisp' port type is deprecated.", name); } else if (!strcmp(type, "stt")) { tnl_cfg->dst_port = port ? htons(port) : htons(STT_DST_PORT); } else if (!strcmp(type, "gtpu")) { diff --git a/tests/tunnel.at b/tests/tunnel.at index 31e935901..c2a401390 100644 --- a/tests/tunnel.at +++ b/tests/tunnel.at @@ -573,7 +573,7 @@ AT_CHECK([ovs-appctl dpif/show | tail -n +3], [0], [dnl p1 1/4341: (lisp: remote_ip=1.1.1.1) ]) -OVS_VSWITCHD_STOP +OVS_VSWITCHD_STOP(["/'lisp' port type is deprecated/d"]) AT_CLEANUP AT_SETUP([tunnel - ERSPAN]) diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml index 762558459..c4c2dacd3 100644 --- a/vswitchd/vswitch.xml +++ b/vswitchd/vswitch.xml @@ -2825,6 +2825,9 @@ <dt><code>lisp</code></dt> <dd> + <p> + This port type is deprecated. + </p> <p> A layer 3 tunnel over the experimental, UDP-based Locator/ID Separation Protocol (RFC 6830). @@ -3095,6 +3098,10 @@ <column name="options" key="packet_type" type='{"type": "string", "enum": ["set", ["legacy_l3", "ptap"]]}'> + <p> + LISP tunnel type is deprecated. + </p> + <p> A LISP tunnel sends and receives only IPv4 and IPv6 packets. This option controls what how the tunnel represents the packets that it -- 2.47.0 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
