[ovs-dev] [PATCH 08/14] datapath: Add compatibility code for inet_add_protocol().
Jesse Gross
jesse at nicira.com
Thu Dec 2 20:36:57 UTC 2010
Kernels earlier than 2.6.32 did not mark struct net_protocol as const
in inet_add_protcol() and inet_del_protocol(). This provides compatibility
code to cast away the constness on these kernels so we can have them be
const on newer kernels.
Signed-off-by: Jesse Gross <jesse at nicira.com>
---
datapath/linux-2.6/Modules.mk | 1 +
.../linux-2.6/compat-2.6/include/net/protocol.h | 12 ++++++++++++
2 files changed, 13 insertions(+), 0 deletions(-)
create mode 100644 datapath/linux-2.6/compat-2.6/include/net/protocol.h
diff --git a/datapath/linux-2.6/Modules.mk b/datapath/linux-2.6/Modules.mk
index 380f1c1..e1e3334 100644
--- a/datapath/linux-2.6/Modules.mk
+++ b/datapath/linux-2.6/Modules.mk
@@ -48,6 +48,7 @@ openvswitch_headers += \
linux-2.6/compat-2.6/include/net/genetlink.h \
linux-2.6/compat-2.6/include/net/ip.h \
linux-2.6/compat-2.6/include/net/netlink.h \
+ linux-2.6/compat-2.6/include/net/protocol.h \
linux-2.6/compat-2.6/include/net/route.h
both_modules += brcompat
diff --git a/datapath/linux-2.6/compat-2.6/include/net/protocol.h b/datapath/linux-2.6/compat-2.6/include/net/protocol.h
new file mode 100644
index 0000000..6608b8e
--- /dev/null
+++ b/datapath/linux-2.6/compat-2.6/include/net/protocol.h
@@ -0,0 +1,12 @@
+#ifndef __NET_PROTOCOL_WRAPPER_H
+#define __NET_PROTOCOL_WRAPPER_H 1
+
+#include_next <net/protocol.h>
+
+#include <linux/version.h>
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32)
+#define inet_add_protocol(prot, num) inet_add_protocol((struct net_protocol *)prot, num)
+#define inet_del_protocol(prot, num) inet_del_protocol((struct net_protocol *)prot, num)
+#endif
+
+#endif
--
1.7.1
More information about the dev
mailing list