aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/skbuff.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/skbuff.h')
-rw-r--r--include/linux/skbuff.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index d0ae90af0b40..c0a4f3ab0cc0 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -391,8 +391,8 @@ struct sk_buff {
391 391
392 __u32 rxhash; 392 __u32 rxhash;
393 393
394 __u16 queue_mapping;
394 kmemcheck_bitfield_begin(flags2); 395 kmemcheck_bitfield_begin(flags2);
395 __u16 queue_mapping:16;
396#ifdef CONFIG_IPV6_NDISC_NODETYPE 396#ifdef CONFIG_IPV6_NDISC_NODETYPE
397 __u8 ndisc_nodetype:2; 397 __u8 ndisc_nodetype:2;
398#endif 398#endif
@@ -1256,6 +1256,11 @@ static inline void skb_reserve(struct sk_buff *skb, int len)
1256 skb->tail += len; 1256 skb->tail += len;
1257} 1257}
1258 1258
1259static inline void skb_reset_mac_len(struct sk_buff *skb)
1260{
1261 skb->mac_len = skb->network_header - skb->mac_header;
1262}
1263
1259#ifdef NET_SKBUFF_DATA_USES_OFFSET 1264#ifdef NET_SKBUFF_DATA_USES_OFFSET
1260static inline unsigned char *skb_transport_header(const struct sk_buff *skb) 1265static inline unsigned char *skb_transport_header(const struct sk_buff *skb)
1261{ 1266{
@@ -1442,7 +1447,7 @@ extern int ___pskb_trim(struct sk_buff *skb, unsigned int len);
1442 1447
1443static inline void __skb_trim(struct sk_buff *skb, unsigned int len) 1448static inline void __skb_trim(struct sk_buff *skb, unsigned int len)
1444{ 1449{
1445 if (unlikely(skb->data_len)) { 1450 if (unlikely(skb_is_nonlinear(skb))) {
1446 WARN_ON(1); 1451 WARN_ON(1);
1447 return; 1452 return;
1448 } 1453 }
@@ -1782,7 +1787,7 @@ static inline int pskb_trim_rcsum(struct sk_buff *skb, unsigned int len)
1782 1787
1783#define skb_queue_walk(queue, skb) \ 1788#define skb_queue_walk(queue, skb) \
1784 for (skb = (queue)->next; \ 1789 for (skb = (queue)->next; \
1785 prefetch(skb->next), (skb != (struct sk_buff *)(queue)); \ 1790 skb != (struct sk_buff *)(queue); \
1786 skb = skb->next) 1791 skb = skb->next)
1787 1792
1788#define skb_queue_walk_safe(queue, skb, tmp) \ 1793#define skb_queue_walk_safe(queue, skb, tmp) \
@@ -1791,7 +1796,7 @@ static inline int pskb_trim_rcsum(struct sk_buff *skb, unsigned int len)
1791 skb = tmp, tmp = skb->next) 1796 skb = tmp, tmp = skb->next)
1792 1797
1793#define skb_queue_walk_from(queue, skb) \ 1798#define skb_queue_walk_from(queue, skb) \
1794 for (; prefetch(skb->next), (skb != (struct sk_buff *)(queue)); \ 1799 for (; skb != (struct sk_buff *)(queue); \
1795 skb = skb->next) 1800 skb = skb->next)
1796 1801
1797#define skb_queue_walk_from_safe(queue, skb, tmp) \ 1802#define skb_queue_walk_from_safe(queue, skb, tmp) \
@@ -1801,7 +1806,7 @@ static inline int pskb_trim_rcsum(struct sk_buff *skb, unsigned int len)
1801 1806
1802#define skb_queue_reverse_walk(queue, skb) \ 1807#define skb_queue_reverse_walk(queue, skb) \
1803 for (skb = (queue)->prev; \ 1808 for (skb = (queue)->prev; \
1804 prefetch(skb->prev), (skb != (struct sk_buff *)(queue)); \ 1809 skb != (struct sk_buff *)(queue); \
1805 skb = skb->prev) 1810 skb = skb->prev)
1806 1811
1807#define skb_queue_reverse_walk_safe(queue, skb, tmp) \ 1812#define skb_queue_reverse_walk_safe(queue, skb, tmp) \