Lines Matching refs:attrlen
149 #define RTA_NEXT(rta,attrlen) ((attrlen) -= RTA_ALIGN((rta)->rta_len), \
625 extern void __rta_fill(struct sk_buff *skb, int attrtype, int attrlen, const void *data);
627 #define RTA_PUT(skb, attrtype, attrlen, data) \
628 ({ if (unlikely(skb_tailroom(skb) < (int)RTA_SPACE(attrlen))) \
630 __rta_fill(skb, attrtype, attrlen, data); })
632 #define RTA_APPEND(skb, attrlen, data) \
633 ({ if (unlikely(skb_tailroom(skb) < (int)(attrlen))) \
635 memcpy(skb_put(skb, attrlen), data, attrlen); })
637 #define RTA_PUT_NOHDR(skb, attrlen, data) \
638 ({ RTA_APPEND(skb, RTA_ALIGN(attrlen), data); \
639 memset(skb_tail_pointer(skb) - (RTA_ALIGN(attrlen) - attrlen), 0, \
640 RTA_ALIGN(attrlen) - attrlen); })
679 #define RTA_NEST_COMPAT(skb, type, attrlen, data) \
681 RTA_PUT(skb, type, attrlen, data); \
724 __rta_reserve(struct sk_buff *skb, int attrtype, int attrlen)
727 int size = RTA_LENGTH(attrlen);
732 memset(RTA_DATA(rta) + attrlen, 0, RTA_ALIGN(size) - size);
736 #define __RTA_PUT(skb, attrtype, attrlen) \
737 ({ if (unlikely(skb_tailroom(skb) < (int)RTA_SPACE(attrlen))) \
739 __rta_reserve(skb, attrtype, attrlen); })