It is time to remove support for the ovs kernel driver and push towards use of the upstream linux openvswitch kernel driver in it's place [1].
1. https://mail.openvswitch.org/pipermail/ovs-dev/2022-april/393292.html Changes in V2: * Removed the Linux datapath and fixed up various Makefiles to adjust * Moved openvswitch.h from datapath/linux/compat/include to include/linux and fixed up the Makefiles to adjust * Removed further instances in utilities and auxiliary files where the --with-linux configuration command was still being used. * Changed order of patches to (hopefully) fix up some robot auto-test errors Changes in V3: * Squashed the two patches removing rhel specs due to interdependence between the two that caused build errors between application of each of the patches * Moved the changes to acinclude.m4 towards the end of the series Changes in V4: * Changed up the order of the patches again to fix robot errors * Added back most of the tests in .github/workflows/build-and-test.yml * Removed xenserver and related documentation, test scripts and makefile dependencies Changes in V5: * Squashed two patches from previous series into a single patch. There was no good reason to separate changes to auxiliary and utilities from the removal of the Linux datapath and the two patches had a tricky dependency between them. Best to combine them. * Various cleanups, title changes and amended commit messages as suggested by David Marchand in his reviews. * Drops the xenserver removal patch - this patch causes 'make check' failures and there is no reason why it can't be submitted separately. * With these changes the github workflows build and test work without errors: https://github.com/gvrose8192/ovs-experimental/runs/7330169845?check_suite_focus=true Still to do: * Submit the patch to remove xenserver separately once I figure out why the removal causes 'make check' errors for a few interface reconfiguration tests. Greg Rose (6): ci: Stop building OVS kernel module. rhel: Stop packaging OVS kernel module. tests: Remove support for check-kmod test. Make: Remove the Linux datapath. acinclude.m4: Remove support for building the OVS kernel module. Documentation: Remove kernel module documentation. .ci/linux-build.sh | 33 +- .github/workflows/build-and-test.yml | 20 - Documentation/faq/releases.rst | 4 +- .../contributing/backporting-patches.rst | 7 + Documentation/intro/install/fedora.rst | 24 - Documentation/intro/install/general.rst | 63 - Documentation/intro/install/rhel.rst | 18 - Documentation/topics/testing.rst | 7 - Makefile.am | 17 +- Vagrantfile | 12 +- acinclude.m4 | 810 +--- build-aux/initial-tab-allowed-files | 1 - configure.ac | 6 +- datapath-windows/include/automake.mk | 2 +- datapath/.gitignore | 7 - datapath/Makefile.am | 60 - datapath/Modules.mk | 58 - datapath/actions.c | 1587 -------- datapath/compat.h | 92 - datapath/conntrack.c | 2413 ----------- datapath/conntrack.h | 113 - datapath/datapath.c | 2707 ------------- datapath/datapath.h | 283 -- datapath/dp_notify.c | 102 - datapath/flow.c | 972 ----- datapath/flow.h | 297 -- datapath/flow_netlink.c | 3519 ----------------- datapath/flow_netlink.h | 85 - datapath/flow_table.c | 988 ----- datapath/flow_table.h | 102 - datapath/linux/.gitignore | 8 - datapath/linux/Kbuild.in | 27 - datapath/linux/Makefile.in | 9 - datapath/linux/Makefile.main.in | 107 - datapath/linux/Modules.mk | 123 - .../compat/build-aux/export-check-allow-list | 1 - datapath/linux/compat/dev-openvswitch.c | 83 - datapath/linux/compat/dst_cache.c | 173 - datapath/linux/compat/exthdrs_core.c | 129 - datapath/linux/compat/genetlink-openvswitch.c | 55 - datapath/linux/compat/geneve.c | 1854 --------- datapath/linux/compat/gre.c | 239 -- datapath/linux/compat/gso.c | 317 -- datapath/linux/compat/gso.h | 214 - datapath/linux/compat/include/linux/bug.h | 13 - datapath/linux/compat/include/linux/cache.h | 23 - .../linux/compat/include/linux/compiler-gcc.h | 20 - .../linux/compat/include/linux/compiler.h | 26 - datapath/linux/compat/include/linux/cpumask.h | 11 - datapath/linux/compat/include/linux/err.h | 37 - .../linux/compat/include/linux/etherdevice.h | 62 - .../linux/compat/include/linux/genetlink.h | 16 - datapath/linux/compat/include/linux/if.h | 6 - .../linux/compat/include/linux/if_ether.h | 39 - datapath/linux/compat/include/linux/if_link.h | 171 - datapath/linux/compat/include/linux/if_vlan.h | 306 -- datapath/linux/compat/include/linux/in.h | 56 - datapath/linux/compat/include/linux/jiffies.h | 34 - datapath/linux/compat/include/linux/kconfig.h | 49 - datapath/linux/compat/include/linux/kernel.h | 39 - datapath/linux/compat/include/linux/list.h | 31 - datapath/linux/compat/include/linux/mm.h | 44 - datapath/linux/compat/include/linux/mpls.h | 40 - datapath/linux/compat/include/linux/net.h | 62 - .../compat/include/linux/netdev_features.h | 77 - .../linux/compat/include/linux/netdevice.h | 336 -- .../linux/compat/include/linux/netfilter.h | 19 - .../compat/include/linux/netfilter_ipv6.h | 32 - datapath/linux/compat/include/linux/netlink.h | 19 - .../linux/compat/include/linux/overflow.h | 313 -- datapath/linux/compat/include/linux/percpu.h | 33 - datapath/linux/compat/include/linux/random.h | 17 - datapath/linux/compat/include/linux/rbtree.h | 19 - datapath/linux/compat/include/linux/rculist.h | 39 - .../linux/compat/include/linux/rcupdate.h | 41 - .../compat/include/linux/reciprocal_div.h | 37 - .../linux/compat/include/linux/rtnetlink.h | 41 - datapath/linux/compat/include/linux/skbuff.h | 491 --- .../linux/compat/include/linux/static_key.h | 86 - datapath/linux/compat/include/linux/stddef.h | 15 - .../linux/compat/include/linux/timekeeping.h | 11 - datapath/linux/compat/include/linux/types.h | 11 - .../compat/include/linux/u64_stats_sync.h | 155 - datapath/linux/compat/include/linux/udp.h | 33 - .../linux/compat/include/linux/workqueue.h | 6 - datapath/linux/compat/include/net/checksum.h | 39 - datapath/linux/compat/include/net/dst.h | 77 - datapath/linux/compat/include/net/dst_cache.h | 114 - .../linux/compat/include/net/dst_metadata.h | 269 -- datapath/linux/compat/include/net/erspan.h | 342 -- datapath/linux/compat/include/net/genetlink.h | 136 - datapath/linux/compat/include/net/geneve.h | 107 - datapath/linux/compat/include/net/gre.h | 191 - datapath/linux/compat/include/net/inet_ecn.h | 59 - datapath/linux/compat/include/net/inet_frag.h | 83 - datapath/linux/compat/include/net/inetpeer.h | 16 - datapath/linux/compat/include/net/ip.h | 143 - datapath/linux/compat/include/net/ip6_fib.h | 43 - datapath/linux/compat/include/net/ip6_route.h | 16 - .../linux/compat/include/net/ip6_tunnel.h | 208 - .../linux/compat/include/net/ip_tunnels.h | 513 --- datapath/linux/compat/include/net/ipv6.h | 88 - datapath/linux/compat/include/net/ipv6_frag.h | 8 - datapath/linux/compat/include/net/lisp.h | 27 - datapath/linux/compat/include/net/mpls.h | 62 - .../linux/compat/include/net/net_namespace.h | 33 - .../net/netfilter/ipv6/nf_defrag_ipv6.h | 42 - .../include/net/netfilter/nf_conntrack.h | 33 - .../include/net/netfilter/nf_conntrack_core.h | 137 - .../net/netfilter/nf_conntrack_count.h | 54 - .../net/netfilter/nf_conntrack_expect.h | 21 - .../net/netfilter/nf_conntrack_helper.h | 39 - .../net/netfilter/nf_conntrack_labels.h | 107 - .../net/netfilter/nf_conntrack_seqadj.h | 30 - .../net/netfilter/nf_conntrack_timeout.h | 34 - .../net/netfilter/nf_conntrack_zones.h | 101 - .../compat/include/net/netfilter/nf_nat.h | 44 - datapath/linux/compat/include/net/netlink.h | 185 - datapath/linux/compat/include/net/nsh.h | 313 -- datapath/linux/compat/include/net/protocol.h | 19 - datapath/linux/compat/include/net/route.h | 6 - datapath/linux/compat/include/net/rtnetlink.h | 44 - .../linux/compat/include/net/sctp/checksum.h | 25 - datapath/linux/compat/include/net/sock.h | 13 - datapath/linux/compat/include/net/stt.h | 70 - datapath/linux/compat/include/net/tun_proto.h | 49 - datapath/linux/compat/include/net/udp.h | 62 - .../linux/compat/include/net/udp_tunnel.h | 208 - datapath/linux/compat/include/net/vrf.h | 26 - datapath/linux/compat/include/net/vxlan.h | 444 --- .../compat/include/uapi/linux/netfilter.h | 14 - datapath/linux/compat/inet_fragment.c | 31 - datapath/linux/compat/ip6_gre.c | 2746 ------------- datapath/linux/compat/ip6_output.c | 470 --- datapath/linux/compat/ip6_tunnel.c | 2213 ----------- datapath/linux/compat/ip_fragment.c | 831 ---- datapath/linux/compat/ip_gre.c | 1450 ------- datapath/linux/compat/ip_output.c | 418 -- datapath/linux/compat/ip_tunnel.c | 776 ---- datapath/linux/compat/ip_tunnels_core.c | 330 -- datapath/linux/compat/lisp.c | 816 ---- datapath/linux/compat/netdevice.c | 167 - datapath/linux/compat/nf_conncount.c | 621 --- datapath/linux/compat/nf_conntrack_core.c | 13 - datapath/linux/compat/nf_conntrack_proto.c | 114 - datapath/linux/compat/nf_conntrack_reasm.c | 740 ---- datapath/linux/compat/nf_conntrack_timeout.c | 102 - datapath/linux/compat/reciprocal_div.c | 27 - datapath/linux/compat/skbuff-openvswitch.c | 310 -- datapath/linux/compat/socket.c | 32 - datapath/linux/compat/stt.c | 2129 ---------- datapath/linux/compat/udp.c | 46 - datapath/linux/compat/udp_tunnel.c | 292 -- datapath/linux/compat/utils.c | 112 - datapath/linux/compat/vxlan.c | 2382 ----------- datapath/meter.c | 639 --- datapath/meter.h | 54 - datapath/nsh.c | 142 - datapath/vport-geneve.c | 147 - datapath/vport-gre.c | 119 - datapath/vport-internal_dev.c | 340 -- datapath/vport-internal_dev.h | 30 - datapath/vport-lisp.c | 146 - datapath/vport-netdev.c | 230 -- datapath/vport-netdev.h | 39 - datapath/vport-stt.c | 149 - datapath/vport-vxlan.c | 216 - datapath/vport.c | 614 --- datapath/vport.h | 205 - include/automake.mk | 2 +- include/linux/automake.mk | 1 + .../include => include}/linux/openvswitch.h | 0 poc/playbook-centos-builder.yml | 8 - poc/playbook-fedora-builder.yml | 16 - rhel/.gitignore | 4 - rhel/automake.mk | 23 - rhel/kmod-openvswitch-rhel6.spec.in | 123 - rhel/openvswitch-dkms.spec.in | 103 - rhel/openvswitch-fedora.spec.in | 5 +- rhel/openvswitch-kmod-fedora.spec.in | 152 - rhel/openvswitch.spec.in | 4 +- ...are_openvswitch_scripts_ovs-kmod-manage.sh | 237 -- tests/automake.mk | 6 - .../docker/debian/build-kernel-modules.sh | 13 +- utilities/ovs-dev.py | 19 +- 185 files changed, 33 insertions(+), 46279 deletions(-) delete mode 100644 datapath/.gitignore delete mode 100644 datapath/Makefile.am delete mode 100644 datapath/Modules.mk delete mode 100644 datapath/actions.c delete mode 100644 datapath/compat.h delete mode 100644 datapath/conntrack.c delete mode 100644 datapath/conntrack.h delete mode 100644 datapath/datapath.c delete mode 100644 datapath/datapath.h delete mode 100644 datapath/dp_notify.c delete mode 100644 datapath/flow.c delete mode 100644 datapath/flow.h delete mode 100644 datapath/flow_netlink.c delete mode 100644 datapath/flow_netlink.h delete mode 100644 datapath/flow_table.c delete mode 100644 datapath/flow_table.h delete mode 100644 datapath/linux/.gitignore delete mode 100644 datapath/linux/Kbuild.in delete mode 100644 datapath/linux/Makefile.in delete mode 100644 datapath/linux/Makefile.main.in delete mode 100644 datapath/linux/Modules.mk delete mode 100644 datapath/linux/compat/build-aux/export-check-allow-list delete mode 100644 datapath/linux/compat/dev-openvswitch.c delete mode 100644 datapath/linux/compat/dst_cache.c delete mode 100644 datapath/linux/compat/exthdrs_core.c delete mode 100644 datapath/linux/compat/genetlink-openvswitch.c delete mode 100644 datapath/linux/compat/geneve.c delete mode 100644 datapath/linux/compat/gre.c delete mode 100644 datapath/linux/compat/gso.c delete mode 100644 datapath/linux/compat/gso.h delete mode 100644 datapath/linux/compat/include/linux/bug.h delete mode 100644 datapath/linux/compat/include/linux/cache.h delete mode 100644 datapath/linux/compat/include/linux/compiler-gcc.h delete mode 100644 datapath/linux/compat/include/linux/compiler.h delete mode 100644 datapath/linux/compat/include/linux/cpumask.h delete mode 100644 datapath/linux/compat/include/linux/err.h delete mode 100644 datapath/linux/compat/include/linux/etherdevice.h delete mode 100644 datapath/linux/compat/include/linux/genetlink.h delete mode 100644 datapath/linux/compat/include/linux/if.h delete mode 100644 datapath/linux/compat/include/linux/if_ether.h delete mode 100644 datapath/linux/compat/include/linux/if_link.h delete mode 100644 datapath/linux/compat/include/linux/if_vlan.h delete mode 100644 datapath/linux/compat/include/linux/in.h delete mode 100644 datapath/linux/compat/include/linux/jiffies.h delete mode 100644 datapath/linux/compat/include/linux/kconfig.h delete mode 100644 datapath/linux/compat/include/linux/kernel.h delete mode 100644 datapath/linux/compat/include/linux/list.h delete mode 100644 datapath/linux/compat/include/linux/mm.h delete mode 100644 datapath/linux/compat/include/linux/mpls.h delete mode 100644 datapath/linux/compat/include/linux/net.h delete mode 100644 datapath/linux/compat/include/linux/netdev_features.h delete mode 100644 datapath/linux/compat/include/linux/netdevice.h delete mode 100644 datapath/linux/compat/include/linux/netfilter.h delete mode 100644 datapath/linux/compat/include/linux/netfilter_ipv6.h delete mode 100644 datapath/linux/compat/include/linux/netlink.h delete mode 100644 datapath/linux/compat/include/linux/overflow.h delete mode 100644 datapath/linux/compat/include/linux/percpu.h delete mode 100644 datapath/linux/compat/include/linux/random.h delete mode 100644 datapath/linux/compat/include/linux/rbtree.h delete mode 100644 datapath/linux/compat/include/linux/rculist.h delete mode 100644 datapath/linux/compat/include/linux/rcupdate.h delete mode 100644 datapath/linux/compat/include/linux/reciprocal_div.h delete mode 100644 datapath/linux/compat/include/linux/rtnetlink.h delete mode 100644 datapath/linux/compat/include/linux/skbuff.h delete mode 100644 datapath/linux/compat/include/linux/static_key.h delete mode 100644 datapath/linux/compat/include/linux/stddef.h delete mode 100644 datapath/linux/compat/include/linux/timekeeping.h delete mode 100644 datapath/linux/compat/include/linux/types.h delete mode 100644 datapath/linux/compat/include/linux/u64_stats_sync.h delete mode 100644 datapath/linux/compat/include/linux/udp.h delete mode 100644 datapath/linux/compat/include/linux/workqueue.h delete mode 100644 datapath/linux/compat/include/net/checksum.h delete mode 100644 datapath/linux/compat/include/net/dst.h delete mode 100644 datapath/linux/compat/include/net/dst_cache.h delete mode 100644 datapath/linux/compat/include/net/dst_metadata.h delete mode 100644 datapath/linux/compat/include/net/erspan.h delete mode 100644 datapath/linux/compat/include/net/genetlink.h delete mode 100644 datapath/linux/compat/include/net/geneve.h delete mode 100644 datapath/linux/compat/include/net/gre.h delete mode 100644 datapath/linux/compat/include/net/inet_ecn.h delete mode 100644 datapath/linux/compat/include/net/inet_frag.h delete mode 100644 datapath/linux/compat/include/net/inetpeer.h delete mode 100644 datapath/linux/compat/include/net/ip.h delete mode 100644 datapath/linux/compat/include/net/ip6_fib.h delete mode 100644 datapath/linux/compat/include/net/ip6_route.h delete mode 100644 datapath/linux/compat/include/net/ip6_tunnel.h delete mode 100644 datapath/linux/compat/include/net/ip_tunnels.h delete mode 100644 datapath/linux/compat/include/net/ipv6.h delete mode 100644 datapath/linux/compat/include/net/ipv6_frag.h delete mode 100644 datapath/linux/compat/include/net/lisp.h delete mode 100644 datapath/linux/compat/include/net/mpls.h delete mode 100644 datapath/linux/compat/include/net/net_namespace.h delete mode 100644 datapath/linux/compat/include/net/netfilter/ipv6/nf_defrag_ipv6.h delete mode 100644 datapath/linux/compat/include/net/netfilter/nf_conntrack.h delete mode 100644 datapath/linux/compat/include/net/netfilter/nf_conntrack_core.h delete mode 100644 datapath/linux/compat/include/net/netfilter/nf_conntrack_count.h delete mode 100644 datapath/linux/compat/include/net/netfilter/nf_conntrack_expect.h delete mode 100644 datapath/linux/compat/include/net/netfilter/nf_conntrack_helper.h delete mode 100644 datapath/linux/compat/include/net/netfilter/nf_conntrack_labels.h delete mode 100644 datapath/linux/compat/include/net/netfilter/nf_conntrack_seqadj.h delete mode 100644 datapath/linux/compat/include/net/netfilter/nf_conntrack_timeout.h delete mode 100644 datapath/linux/compat/include/net/netfilter/nf_conntrack_zones.h delete mode 100644 datapath/linux/compat/include/net/netfilter/nf_nat.h delete mode 100644 datapath/linux/compat/include/net/netlink.h delete mode 100644 datapath/linux/compat/include/net/nsh.h delete mode 100644 datapath/linux/compat/include/net/protocol.h delete mode 100644 datapath/linux/compat/include/net/route.h delete mode 100644 datapath/linux/compat/include/net/rtnetlink.h delete mode 100644 datapath/linux/compat/include/net/sctp/checksum.h delete mode 100644 datapath/linux/compat/include/net/sock.h delete mode 100644 datapath/linux/compat/include/net/stt.h delete mode 100644 datapath/linux/compat/include/net/tun_proto.h delete mode 100644 datapath/linux/compat/include/net/udp.h delete mode 100644 datapath/linux/compat/include/net/udp_tunnel.h delete mode 100644 datapath/linux/compat/include/net/vrf.h delete mode 100644 datapath/linux/compat/include/net/vxlan.h delete mode 100644 datapath/linux/compat/include/uapi/linux/netfilter.h delete mode 100644 datapath/linux/compat/inet_fragment.c delete mode 100644 datapath/linux/compat/ip6_gre.c delete mode 100644 datapath/linux/compat/ip6_output.c delete mode 100644 datapath/linux/compat/ip6_tunnel.c delete mode 100644 datapath/linux/compat/ip_fragment.c delete mode 100644 datapath/linux/compat/ip_gre.c delete mode 100644 datapath/linux/compat/ip_output.c delete mode 100644 datapath/linux/compat/ip_tunnel.c delete mode 100644 datapath/linux/compat/ip_tunnels_core.c delete mode 100644 datapath/linux/compat/lisp.c delete mode 100644 datapath/linux/compat/netdevice.c delete mode 100644 datapath/linux/compat/nf_conncount.c delete mode 100644 datapath/linux/compat/nf_conntrack_core.c delete mode 100644 datapath/linux/compat/nf_conntrack_proto.c delete mode 100644 datapath/linux/compat/nf_conntrack_reasm.c delete mode 100644 datapath/linux/compat/nf_conntrack_timeout.c delete mode 100644 datapath/linux/compat/reciprocal_div.c delete mode 100644 datapath/linux/compat/skbuff-openvswitch.c delete mode 100644 datapath/linux/compat/socket.c delete mode 100644 datapath/linux/compat/stt.c delete mode 100644 datapath/linux/compat/udp.c delete mode 100644 datapath/linux/compat/udp_tunnel.c delete mode 100644 datapath/linux/compat/utils.c delete mode 100644 datapath/linux/compat/vxlan.c delete mode 100644 datapath/meter.c delete mode 100644 datapath/meter.h delete mode 100644 datapath/nsh.c delete mode 100644 datapath/vport-geneve.c delete mode 100644 datapath/vport-gre.c delete mode 100644 datapath/vport-internal_dev.c delete mode 100644 datapath/vport-internal_dev.h delete mode 100644 datapath/vport-lisp.c delete mode 100644 datapath/vport-netdev.c delete mode 100644 datapath/vport-netdev.h delete mode 100644 datapath/vport-stt.c delete mode 100644 datapath/vport-vxlan.c delete mode 100644 datapath/vport.c delete mode 100644 datapath/vport.h rename {datapath/linux/compat/include => include}/linux/openvswitch.h (100%) delete mode 100644 rhel/kmod-openvswitch-rhel6.spec.in delete mode 100644 rhel/openvswitch-dkms.spec.in delete mode 100644 rhel/openvswitch-kmod-fedora.spec.in delete mode 100644 rhel/usr_share_openvswitch_scripts_ovs-kmod-manage.sh -- 2.17.1 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev