From: Jesse Gross Date: Mon, 2 Apr 2012 20:41:20 +0000 (-0700) Subject: datapath: Backport nla_put_be* functions. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d63649f1bb5101f365e51e7adbeed83a00bd6d69;p=openvswitch datapath: Backport nla_put_be* functions. Linux 3.5 replaces the NLA_PUT_* functions with non-macro version, which required adding the endian-typed versions. This backports those functions and drops the macro backports. Signed-off-by: Jesse Gross --- diff --git a/datapath/linux/compat/include/net/netlink.h b/datapath/linux/compat/include/net/netlink.h index 8bd6baab..14041e2e 100644 --- a/datapath/linux/compat/include/net/netlink.h +++ b/datapath/linux/compat/include/net/netlink.h @@ -29,21 +29,6 @@ #define NLA_NESTED NLA_UNSPEC #endif -#ifndef NLA_PUT_BE16 -#define NLA_PUT_BE16(skb, attrtype, value) \ - NLA_PUT_TYPE(skb, __be16, attrtype, value) -#endif /* !NLA_PUT_BE16 */ - -#ifndef NLA_PUT_BE32 -#define NLA_PUT_BE32(skb, attrtype, value) \ - NLA_PUT_TYPE(skb, __be32, attrtype, value) -#endif /* !NLA_PUT_BE32 */ - -#ifndef NLA_PUT_BE64 -#define NLA_PUT_BE64(skb, attrtype, value) \ - NLA_PUT_TYPE(skb, __be64, attrtype, value) -#endif /* !NLA_PUT_BE64 */ - #ifndef HAVE_NLA_GET_BE16 /** * nla_get_be16 - return payload of __be16 attribute @@ -100,6 +85,21 @@ static inline __be64 nla_get_be64(const struct nlattr *nla) } #endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0) +static inline int nla_put_be16(struct sk_buff *skb, int attrtype, __be16 value) +{ + return nla_put(skb, attrtype, sizeof(__be16), &value); +} +static inline int nla_put_be32(struct sk_buff *skb, int attrtype, __be32 value) +{ + return nla_put(skb, attrtype, sizeof(__be32), &value); +} +static inline int nla_put_be64(struct sk_buff *skb, int attrtype, __be64 value) +{ + return nla_put(skb, attrtype, sizeof(__be64), &value); +} +#endif + #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24) /** * nla_type - attribute type