[SKB]: Introduce skb_queue_walk_safe()

This patch provides a method for walking skb lists while inserting or
removing skbs from the list.

Signed-off-by: James Chapman <[EMAIL PROTECTED]>

Index: linux-2.6.21-rc7/include/linux/skbuff.h
===================================================================
--- linux-2.6.21-rc7.orig/include/linux/skbuff.h
+++ linux-2.6.21-rc7/include/linux/skbuff.h
@@ -1299,6 +1299,11 @@ static inline int pskb_trim_rcsum(struct
                     prefetch(skb->next), (skb != (struct sk_buff *)(queue));   
\
                     skb = skb->next)
 
+#define skb_queue_walk_safe(queue, skb, tmp)                                   
\
+               for (skb = (queue)->next, tmp = skb->next;                      
\
+                    skb != (struct sk_buff *)(queue);                          
\
+                    skb = tmp, tmp = skb->next)
+
 #define skb_queue_reverse_walk(queue, skb) \
                for (skb = (queue)->prev;                                       
\
                     prefetch(skb->prev), (skb != (struct sk_buff *)(queue));   
\
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to