]> git.proxmox.com Git - mirror_ovs.git/commit - datapath/datapath.c
datapath: Allow compile against current net-next.
authorJarno Rajahalme <jarno@ovn.org>
Sat, 10 Dec 2016 01:22:42 +0000 (17:22 -0800)
committerJarno Rajahalme <jarno@ovn.org>
Sat, 10 Dec 2016 01:22:42 +0000 (17:22 -0800)
commitba63fe260bd5968f480b43db5db9630dea62a640
tree0affb1c52330f1187f15cd0f3de8074f1c4a5d10
parentcbef684c8c4919ff3f456ed3cde181053f8c9fa5
datapath: Allow compile against current net-next.

This patch allows openvswitch kernel module in the OVS tree to be
compiled against the current net-next Linux kernel.  The changes are
due to these upstream commits:

56989f6d856 ("genetlink: mark families as __ro_after_init")
489111e5c25 ("genetlink: statically initialize families")
a07ea4d9941 ("genetlink: no longer support using static family IDs")

struct genl_family initialization is changed be completely static and
to include the new (in Linux 4.6) __ro_after_init attribute.  Compat
code defines it as an empty macro if not defined already.

GENL_ID_GENERATE is no longer defined, but since it was defined as 0,
it is safe to drop it from all initializers also on older Linux
versions.  A compiletime_assert is added to make sure this is true
whenever GENL_ID_GENERATE is defined.

Tested with current Linux net-next (4.9) and 3.16.

It should be noted that there are still a number of fixes and new
features in upstream net-next that are yet to be backported.

Signed-off-by: Jarno Rajahalme <jarno@ovn.org>
Acked-by: Andy Zhou <azhou@ovn.org>
acinclude.m4
datapath/datapath.c
datapath/linux/Modules.mk
datapath/linux/compat/include/linux/cache.h [new file with mode: 0644]
datapath/linux/compat/include/linux/genetlink.h