Quote from Open vSwitch FAQ.md
Open vSwitch userspace should also work with the Linux kernel module
built into Linux 3.3 and later.
Open vSwitch userspace is not sensitive to the Linux kernel version. It
should build against almost any kernel, certainly against 2.6.32 and
later.
The SUPPORTED_KERNEL dependency for openvswitch kernel module only
makes sense when we are building it from the ovs release tarballs
against mainline kernels. Now that we are using the module from vanilla
kernel itself, the dependency does not exist anymore
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
Fix breakage caused by 44df061c48 by removing the leftover
usage of the removed SUPPORTED_KERNELS variable
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
For a while now OVS has been using the kernel's kmod.
So it doesn't make sense to limit the package build for a specific set of
kernels anymore.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
This guarantees for the package feeds that
the mk files will always be available for all packages.
Will need to see about external-feed Python packages
a bit later.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
openvswitch fails to build on my Arch Linux system, as it tries to use my build
host's sphinx-build with OpenWrt's python. Add an override to ensure this can't
happen.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
I should have packaged the OVN stuff, VTEP and what-not
earlier, but was not inspired to do this earlier.
I made some time now to package those parts.
Disabling flake8 & python3 explicitly.
They might get detected and cause weird build errors.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Apparently, even if you don't select the `openvswitch-python` package,
Python still gets built (for the target build).
But, if the python dependencies are conditional on the
`PACKAGE_openvswitch-python` symbol then they aren't build.
This should improve build times, if you only want to build the
`openvswitch` package.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Seems it was not failing for me because it was probably
using my host Python, which may have the `six` package
available.
This patch enforces the use of the packaged Python.
That way, it's more consistent that the python-six
package is available.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Since we're using the kernel's module, this is
un-necessary.
Should speed up the build a bit.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Admittedly I never used those Python libs.
And the setup I was trying it on, did not have
the Python interpreter packaged, so these build failures
went un-noticed.
That's my fault for not trying it out properly on
a full LEDE repo, with all packages.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Notes:
- drop un-needed patches
- bump kernel support up to 4.9
- switch from git repo to release tarball
- use OVS intree kernel module ; seems that using the kernel module
from the package has certain issues due to the glue/backport code
that tries to adapt to many kernel versions and has a potential
to mess up ; not to mention, the glue code makes the kmod
a few times larger than it should be
- tested on x86_64 VM
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
When only kmod-openvswitch is enabled, which commonly happens during LEDE
release builds, there is no need to build the entire userland of openvswitch
as this is done at a later stage on systems dedicated to build only userspace
packages.
This change conditionalizes the dependency on python, which means that python
prerequisites are only compiled if the openvswitch-python package is enabled,
which allows us to eliminate the entire python dependency chain.
Furthermore, this change sets MAKE_PATH to the kernel module sub directory
if only kmod-openvswitch is enabled which causes the openvswitch build system
to only process sources related to the .ko files.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
I guess these were left since some initial OVS package versions.
They were fine up until recently.
Some of the build artifacts got a little messy and thus the
OpenWRT OVS package got a little messy.
This cleans it up a bit.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Most patches for 4.1 are no longer needed, only a minor patch to fix a
missing WAIT_ANY constant. 2.5.0 depends on nf_conntrack (ipv4 and ipv6)
Signed-off-by: Jeroen van Bemmel <jvb127@gmail.com>
caught on build-bot:
make -C /store/buildbot/slave/ramips/build/build_dir/target-mipsel_24kec+dsp_musl-1.1.11/linux-ramips_rt305x/linux-3.18.21 M=/store/buildbot/slave/ramips/build/build_dir/target-mipsel_24kec+dsp_musl-1.1.11/openvswitch-2.4.0/datapath/linux modules
make[7]: Entering directory `/store/buildbot/slave/ramips/build/build_dir/target-mipsel_24kec+dsp_musl-1.1.11/linux-ramips_rt305x/linux-3.18.21'
Makefile:610: arch/mipsel/Makefile: No such file or directory
Declare LINUX_KARCH to package's build-system to resolv this.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
After a few discussions with the guys working on OpenVSwitch
they've recommended we use the EXTRA_CFLAGS env var for setting
flags for the kernel module.
They've updated the trunk with a patch to accomodate that.
That patch is also in this commit, and replaces a patch that I proposed.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
When OVS detects a kernel version >= 3.12 it does not build
it's own vxlan module and tries to use the kernel's, when building
the OVS kernel module.
I also pushed a patch to the OpenWRT trunk to add a +kmod-vxlan package.
This will add the kernel's vxlan.ko kernel module if it exists.
So, for kernel >= 3.12, this package should exist and be installed
when installing OVS.
Tested on OpenWRT trunk with kernel 3.14.18.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Seems that while fixing the build for GCC 4.9
I broke the build for GCC 4.8, because that KCFLAG I added
causes a build error (since it's not recognized).
The fix is to add KCFLAG only when GCC 4.9 is used.
OpenVSwitch now builds successfully with GCC 4.8 and 4.9.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>