From 6b8a6c529b2bd8ce03584b132263dca5ac932c1b Mon Sep 17 00:00:00 2001
From: Jesse Gross <jesse@nicira.com>
Date: Mon, 12 Apr 2010 15:53:10 -0400
Subject: [PATCH] datapath: Don't read net namespace on kernels that don't use
 them.

Use macros to eliminate the network namespace argument before it
gets to the compiler.  This allows us to specify a namespace on
kernels that know about them and prevent the compiler from complaining
on kernels that don't.
---
 .../compat-2.6/include/linux/rtnetlink.h          | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/datapath/linux-2.6/compat-2.6/include/linux/rtnetlink.h b/datapath/linux-2.6/compat-2.6/include/linux/rtnetlink.h
index dcee31872..66025361f 100644
--- a/datapath/linux-2.6/compat-2.6/include/linux/rtnetlink.h
+++ b/datapath/linux-2.6/compat-2.6/include/linux/rtnetlink.h
@@ -3,9 +3,11 @@
 
 #include_next <linux/rtnetlink.h>
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25)
+
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
-static inline void rtnl_notify(struct sk_buff *skb, struct net *net, u32 pid,
-			      u32 group, struct nlmsghdr *nlh, gfp_t flags)
+static inline void rtnl_notify(struct sk_buff *skb, u32 pid, u32 group,
+			       struct nlmsghdr *nlh, gfp_t flags)
 {
 	BUG_ON(nlh);		/* not implemented */
 	if (group) {
@@ -14,16 +16,17 @@ static inline void rtnl_notify(struct sk_buff *skb, struct net *net, u32 pid,
 	}
 }
 
-static inline void rtnl_set_sk_err(struct net *net, u32 group, int error)
+static inline void rtnl_set_sk_err(u32 group, int error)
 {
 	netlink_set_err(rtnl, 0, group, error);
 }
-#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25)
+#endif
+
 /* No 'net' parameter in these versions. */
 #define rtnl_notify(skb, net, pid, group, nlh, flags) \
-	((void) (net), (void) rtnl_notify(skb, pid, group, nlh, flags))
+		    ((void) rtnl_notify(skb, pid, group, nlh, flags))
 #define rtnl_set_sk_err(net, group, error) \
-	((void) (net), rtnl_set_sk_err(group, error))
+			(rtnl_set_sk_err(group, error))
 #elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
 /* Make the return type effectively 'void' to match Linux 2.6.30+. */
 #define rtnl_notify(skb, net, pid, group, nlh, flags) \
-- 
2.47.0