mirror of
https://github.com/openvswitch/ovs
synced 2025-09-01 14:55:18 +00:00
Documentation: Remove kernel module documentation.
As of Open vSwitch release 2.18 the OVS kernel module is no longer supported. Pull the documentation references. Reviewed-by: David Marchand <david.marchand@redhat.com> Signed-off-by: Greg Rose <gvrose8192@gmail.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
This commit is contained in:
@@ -75,6 +75,7 @@ Q: What Linux kernel versions does each Open vSwitch release work with?
|
|||||||
2.15.x 3.16 to 5.8
|
2.15.x 3.16 to 5.8
|
||||||
2.16.x 3.16 to 5.8
|
2.16.x 3.16 to 5.8
|
||||||
2.17.x 3.16 to 5.8
|
2.17.x 3.16 to 5.8
|
||||||
|
2.18.x N/A
|
||||||
============ ==============
|
============ ==============
|
||||||
|
|
||||||
Open vSwitch userspace should also work with the Linux kernel module built
|
Open vSwitch userspace should also work with the Linux kernel module built
|
||||||
@@ -110,7 +111,8 @@ Q: Are all features available with all datapaths?
|
|||||||
Linux OVS tree
|
Linux OVS tree
|
||||||
The datapath implemented by the Linux kernel module distributed with
|
The datapath implemented by the Linux kernel module distributed with
|
||||||
the OVS source tree. This datapath is deprecated starting with OVS
|
the OVS source tree. This datapath is deprecated starting with OVS
|
||||||
2.15.x and support capped at Linux kernel version 5.8.
|
2.15.x and support capped at Linux kernel version 5.8. As of OVS 2.18.x
|
||||||
|
the Linux OVS tree is no longer supported.
|
||||||
|
|
||||||
Userspace
|
Userspace
|
||||||
This datapath supports conventional system devices as well as
|
This datapath supports conventional system devices as well as
|
||||||
|
@@ -119,6 +119,13 @@ userspace changes.
|
|||||||
How to backport kernel patches
|
How to backport kernel patches
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
These instructions only apply to Open vSwitch releases 2.17 and older.
|
||||||
|
As of Open vSwitch branch 2.18 the Open vSwitch kernel module is no
|
||||||
|
longer supported and only the Linux openvswitch kernel module is used.
|
||||||
|
In the case of Open vSwitch releases 2.17 and older, kernel backports
|
||||||
|
may be required for bux fixes and feature implementation so these
|
||||||
|
instructions are preserved for that reason.
|
||||||
|
|
||||||
First, the patch should be submitted upstream to `netdev`. When the patch has
|
First, the patch should be submitted upstream to `netdev`. When the patch has
|
||||||
been applied to `net-next`, it is ready to be backported. Starting from the
|
been applied to `net-next`, it is ready to be backported. Starting from the
|
||||||
Linux tree, use ``git format-patch`` to format each patch that should be
|
Linux tree, use ``git format-patch`` to format each patch that should be
|
||||||
|
@@ -132,36 +132,12 @@ tests. This can take several minutes.
|
|||||||
$ make rpm-fedora RPMBUILD_OPT="--with check"
|
$ make rpm-fedora RPMBUILD_OPT="--with check"
|
||||||
|
|
||||||
|
|
||||||
Kernel OVS Tree Datapath RPM
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
To build the Open vSwitch kernel module for the currently running kernel
|
|
||||||
version, run:
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
$ make rpm-fedora-kmod
|
|
||||||
|
|
||||||
To build the Open vSwitch kernel module for another kernel version, the desired
|
|
||||||
kernel version can be specified via the `kversion` macro. For example:
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
$ make rpm-fedora-kmod \
|
|
||||||
RPMBUILD_OPT='-D "kversion 4.3.4-300.fc23.x86_64"'
|
|
||||||
|
|
||||||
Installing
|
Installing
|
||||||
----------
|
----------
|
||||||
|
|
||||||
RPM packages can be installed by using the command ``rpm -i``. Package
|
RPM packages can be installed by using the command ``rpm -i``. Package
|
||||||
installation requires superuser privileges.
|
installation requires superuser privileges.
|
||||||
|
|
||||||
The `openvswitch-kmod` RPM should be installed first if the Linux OVS tree
|
|
||||||
datapath module is to be used. The `openvswitch-kmod` RPM should not be
|
|
||||||
installed if only the in-tree Linux datapath or user-space datapath is needed.
|
|
||||||
Refer to the :doc:`/faq/index` for more information about the various Open
|
|
||||||
vSwitch datapath options.
|
|
||||||
|
|
||||||
In most cases only the `openvswitch` RPM will need to be installed. The
|
In most cases only the `openvswitch` RPM will need to be installed. The
|
||||||
`python3-openvswitch`, `openvswitch-test`, `openvswitch-devel`, and
|
`python3-openvswitch`, `openvswitch-test`, `openvswitch-devel`, and
|
||||||
`openvswitch-debuginfo` RPMs are optional unless required for a specific
|
`openvswitch-debuginfo` RPMs are optional unless required for a specific
|
||||||
|
@@ -302,24 +302,6 @@ example::
|
|||||||
|
|
||||||
$ ./configure CFLAGS="-g -O2 -fsanitize=address -fno-omit-frame-pointer -fno-common"
|
$ ./configure CFLAGS="-g -O2 -fsanitize=address -fno-omit-frame-pointer -fno-common"
|
||||||
|
|
||||||
To build the Linux kernel module, so that you can run the kernel-based switch,
|
|
||||||
pass the location of the kernel build directory on ``--with-linux``. For
|
|
||||||
example, to build for a running instance of Linux::
|
|
||||||
|
|
||||||
$ ./configure --with-linux=/lib/modules/$(uname -r)/build
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
If ``--with-linux`` requests building for an unsupported version of Linux,
|
|
||||||
then ``configure`` will fail with an error message. Refer to the
|
|
||||||
:doc:`/faq/index` for advice in that case.
|
|
||||||
|
|
||||||
If you wish to build the kernel module for an architecture other than the
|
|
||||||
architecture of the machine used for the build, you may specify the kernel
|
|
||||||
architecture string using the KARCH variable when invoking the configure
|
|
||||||
script. For example, to build for MIPS with Linux::
|
|
||||||
|
|
||||||
$ ./configure --with-linux=/path/to/linux KARCH=mips
|
|
||||||
|
|
||||||
If you plan to do much Open vSwitch development, you might want to add
|
If you plan to do much Open vSwitch development, you might want to add
|
||||||
``--enable-Werror``, which adds the ``-Werror`` option to the compiler command
|
``--enable-Werror``, which adds the ``-Werror`` option to the compiler command
|
||||||
line, turning warnings into errors. That makes it impossible to miss warnings
|
line, turning warnings into errors. That makes it impossible to miss warnings
|
||||||
@@ -390,51 +372,6 @@ Building
|
|||||||
|
|
||||||
$ make install
|
$ make install
|
||||||
|
|
||||||
5. If you built kernel modules, you may install them, e.g.::
|
|
||||||
|
|
||||||
$ make modules_install
|
|
||||||
|
|
||||||
It is possible that you already had a Open vSwitch kernel module installed
|
|
||||||
on your machine that came from upstream Linux (in a different directory). To
|
|
||||||
make sure that you load the Open vSwitch kernel module you built from this
|
|
||||||
repository, you should create a ``depmod.d`` file that prefers your newly
|
|
||||||
installed kernel modules over the kernel modules from upstream Linux. The
|
|
||||||
following snippet of code achieves the same::
|
|
||||||
|
|
||||||
$ config_file="/etc/depmod.d/openvswitch.conf"
|
|
||||||
$ for module in datapath/linux/*.ko; do
|
|
||||||
modname="$(basename ${module})"
|
|
||||||
echo "override ${modname%.ko} * extra" >> "$config_file"
|
|
||||||
echo "override ${modname%.ko} * weak-updates" >> "$config_file"
|
|
||||||
done
|
|
||||||
$ depmod -a
|
|
||||||
|
|
||||||
Finally, load the kernel modules that you need. e.g.::
|
|
||||||
|
|
||||||
$ /sbin/modprobe openvswitch
|
|
||||||
|
|
||||||
To verify that the modules have been loaded, run ``/sbin/lsmod`` and check
|
|
||||||
that openvswitch is listed::
|
|
||||||
|
|
||||||
$ /sbin/lsmod | grep openvswitch
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
If the ``modprobe`` operation fails, look at the last few kernel log
|
|
||||||
messages (e.g. with ``dmesg | tail``). Generally, issues like this occur
|
|
||||||
when Open vSwitch is built for a kernel different from the one into which
|
|
||||||
you are trying to load it. Run ``modinfo`` on ``openvswitch.ko`` and on a
|
|
||||||
module built for the running kernel, e.g.::
|
|
||||||
|
|
||||||
$ /sbin/modinfo openvswitch.ko
|
|
||||||
$ /sbin/modinfo /lib/modules/$(uname -r)/kernel/net/bridge/bridge.ko
|
|
||||||
|
|
||||||
Compare the "vermagic" lines output by the two commands. If they differ,
|
|
||||||
then Open vSwitch was built for the wrong kernel.
|
|
||||||
|
|
||||||
If you decide to report a bug or ask a question related to module loading,
|
|
||||||
include the output from the ``dmesg`` and ``modinfo`` commands mentioned
|
|
||||||
above.
|
|
||||||
|
|
||||||
.. _general-starting:
|
.. _general-starting:
|
||||||
|
|
||||||
Starting
|
Starting
|
||||||
|
Reference in New Issue
Block a user