[ovs-dev] [PATCH] compat: Explicitly include net/ip.h in net/udp.h.

Joe Stringer joestringer at nicira.com
Wed Nov 11 21:25:44 UTC 2015


The inet_get_local_port_range() function is defined as a 3-parameter
version in the backported net/ip.h, however some versions of RHEL7
kernel use the 2-parameter version in their net/udp.h header. We need to
make sure that our net/ip.h is first included, then undef our overriding
3-parameter version, include the system net/udp.h, then redefine our
overriding 3-parameter version so that it may be used inside OVS code.

This header needs to include net/ip.h here as some files may not include
it prior to net/udp.h, in which case the logic we have to define the
right version while including the system net/udp.h will not work.

Specifically this fixes issues on kernel 3.10.0-229.7.2.el7.x86_64
(perhaps earlier as well; some later versions make this unnecessary).

Signed-off-by: Joe Stringer <joestringer at nicira.com>
---
 datapath/linux/compat/include/net/udp.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/datapath/linux/compat/include/net/udp.h b/datapath/linux/compat/include/net/udp.h
index fcb8f6a8e227..41254aad7260 100644
--- a/datapath/linux/compat/include/net/udp.h
+++ b/datapath/linux/compat/include/net/udp.h
@@ -1,10 +1,10 @@
 #ifndef __NET_UDP_WRAPPER_H
 #define __NET_UDP_WRAPPER_H  1
 
-#include <linux/version.h>
+#include <net/ip.h>
 
 #ifdef inet_get_local_port_range
-/* RHEL7 backports udp_flow_src_port() using an older version of
+/* Earlier RHEL7 kernels backport udp_flow_src_port() using an older version of
  * inet_get_local_port_range(). */
 #undef inet_get_local_port_range
 #include_next <net/udp.h>
-- 
2.1.4




More information about the dev mailing list