diff options
author | Ben Pfaff <blp@nicira.com> | 2010-12-10 14:42:17 -0800 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2010-12-13 10:20:29 -0800 |
commit | f307eeb37640adb92cf92eb61ec26ac9ac30ac97 (patch) | |
tree | 896176e140ca6aaef10af825f017cf599a6ae583 | |
parent | 9f94f8fa2fe53e241b6417056e04d45ca7b577f5 (diff) |
datapath: Add compat support for nla_type().
The datapath code uses nla_type() but it was only introduced in 2.6.24.
The NLA_TYPE_MASK definition has to go above the #include <net/netlink.h>
because <net/netlink.h> recursively #include <linux/netlink.h>.
Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Jesse Gross <jesse@nicira.com>
-rw-r--r-- | datapath/linux-2.6/compat-2.6/include/linux/netlink.h | 8 | ||||
-rw-r--r-- | datapath/linux-2.6/compat-2.6/include/net/netlink.h | 13 |
2 files changed, 20 insertions, 1 deletions
diff --git a/datapath/linux-2.6/compat-2.6/include/linux/netlink.h b/datapath/linux-2.6/compat-2.6/include/linux/netlink.h index fba899ec..16660977 100644 --- a/datapath/linux-2.6/compat-2.6/include/linux/netlink.h +++ b/datapath/linux-2.6/compat-2.6/include/linux/netlink.h @@ -3,8 +3,14 @@ #include <linux/skbuff.h> #include_next <linux/netlink.h> -#include <net/netlink.h> +#ifndef NLA_TYPE_MASK +#define NLA_F_NESTED (1 << 15) +#define NLA_F_NET_BYTEORDER (1 << 14) +#define NLA_TYPE_MASK ~(NLA_F_NESTED | NLA_F_NET_BYTEORDER) +#endif + +#include <net/netlink.h> #include <linux/version.h> #ifndef NLMSG_DEFAULT_SIZE diff --git a/datapath/linux-2.6/compat-2.6/include/net/netlink.h b/datapath/linux-2.6/compat-2.6/include/net/netlink.h index 2f979fec..c6f5e04f 100644 --- a/datapath/linux-2.6/compat-2.6/include/net/netlink.h +++ b/datapath/linux-2.6/compat-2.6/include/net/netlink.h @@ -1,6 +1,7 @@ #ifndef __NET_NETLINK_WRAPPER_H #define __NET_NETLINK_WRAPPER_H 1 +#include <linux/version.h> #include_next <net/netlink.h> #ifndef HAVE_NLA_NUL_STRING @@ -37,4 +38,16 @@ static inline __be16 nla_get_be16(struct nlattr *nla) } #endif /* !HAVE_NLA_GET_BE16 */ + +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24) +/** + * nla_type - attribute type + * @nla: netlink attribute + */ +static inline int nla_type(const struct nlattr *nla) +{ + return nla->nla_type & NLA_TYPE_MASK; +} +#endif + #endif /* net/netlink.h */ |