summaryrefslogtreecommitdiffstats
path: root/include/linux/rtnetlink.h
diff options
context:
space:
mode:
authorThomas Graf <tgraf@suug.ch>2005-06-23 21:00:58 -0700
committerDavid S. Miller <davem@davemloft.net>2005-06-23 21:00:58 -0700
commitd675c989ed2d4ba23dff615330b04371aea83534 (patch)
tree856df6f7dc1fba81b134e2363e42dbf6022fa671 /include/linux/rtnetlink.h
parent3fc7e8a6d842f72d16d2623b1022814a635ab961 (diff)
[PKT_SCHED]: Packet classification based on textsearch (ematch)
Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/rtnetlink.h')
-rw-r--r--include/linux/rtnetlink.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h
index e68dbf0bf57..d021888b58f 100644
--- a/include/linux/rtnetlink.h
+++ b/include/linux/rtnetlink.h
@@ -892,10 +892,13 @@ extern void __rta_fill(struct sk_buff *skb, int attrtype, int attrlen, const voi
goto rtattr_failure; \
__rta_fill(skb, attrtype, attrlen, data); })
-#define RTA_PUT_NOHDR(skb, attrlen, data) \
+#define RTA_APPEND(skb, attrlen, data) \
({ if (unlikely(skb_tailroom(skb) < (int)(attrlen))) \
goto rtattr_failure; \
- memcpy(skb_put(skb, RTA_ALIGN(attrlen)), data, attrlen); })
+ memcpy(skb_put(skb, attrlen), data, attrlen); })
+
+#define RTA_PUT_NOHDR(skb, attrlen, data) \
+ RTA_APPEND(skb, RTA_ALIGN(attrlen), data)
#define RTA_PUT_U8(skb, attrtype, value) \
({ u8 _tmp = (value); \