From: Jesse Gross Date: Mon, 12 Apr 2010 19:53:10 +0000 (-0400) Subject: datapath: Don't read net namespace on kernels that don't use them. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6b8a6c529b2bd8ce03584b132263dca5ac932c1b;p=openvswitch 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. --- 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 dcee3187..66025361 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 +#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) \