Commit 1164f52a authored by David S. Miller's avatar David S. Miller

net: Add skb_queue_walk_from() and skb_queue_walk_from_safe().

These will be used by TCP write queue handling and elsewhere.
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 249c8b42
...@@ -1571,6 +1571,15 @@ static inline int pskb_trim_rcsum(struct sk_buff *skb, unsigned int len) ...@@ -1571,6 +1571,15 @@ static inline int pskb_trim_rcsum(struct sk_buff *skb, unsigned int len)
skb != (struct sk_buff *)(queue); \ skb != (struct sk_buff *)(queue); \
skb = tmp, tmp = skb->next) skb = tmp, tmp = skb->next)
#define skb_queue_walk_from(queue, skb) \
for (; prefetch(skb->next), (skb != (struct sk_buff *)(queue)); \
skb = skb->next)
#define skb_queue_walk_from_safe(queue, skb, tmp) \
for (tmp = skb->next; \
skb != (struct sk_buff *)(queue); \
skb = tmp, tmp = skb->next)
#define skb_queue_reverse_walk(queue, skb) \ #define skb_queue_reverse_walk(queue, skb) \
for (skb = (queue)->prev; \ for (skb = (queue)->prev; \
prefetch(skb->prev), (skb != (struct sk_buff *)(queue)); \ prefetch(skb->prev), (skb != (struct sk_buff *)(queue)); \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment