Merge branch 'mainstream'
[sliver-openvswitch.git] / datapath / linux / compat / include / net / netlink.h
index 8bd6baa..9616ea9 100644 (file)
 #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
@@ -145,7 +145,7 @@ static inline int nlmsg_report(const struct nlmsghdr *nlh)
 }
 
 extern int             nlmsg_notify(struct sock *sk, struct sk_buff *skb,
-                                    u32 pid, unsigned int group, int report,
+                                    u32 portid, unsigned int group, int report,
                                     gfp_t flags);
 #endif /* linux kernel < 2.6.19 */
 
@@ -156,13 +156,13 @@ extern int                nlmsg_notify(struct sock *sk, struct sk_buff *skb,
  * argument. */
 #define nlmsg_multicast rpl_nlmsg_multicast
 static inline int nlmsg_multicast(struct sock *sk, struct sk_buff *skb,
-                                 u32 pid, unsigned int group, gfp_t flags)
+                                 u32 portid, unsigned int group, gfp_t flags)
 {
        int err;
 
        NETLINK_CB(skb).dst_group = group;
 
-       err = netlink_broadcast(sk, skb, pid, group, flags);
+       err = netlink_broadcast(sk, skb, portid, group, flags);
        if (err > 0)
                err = 0;