remove dead skb_iter* functions
Subsystems (2)
PATCH 1/1 remove dead skb_iter* functions
Signed-off-by Christoph Hellwig <[email protected]>
include/linux/skbuff.h +0 -17
@@ -592,7 +592,6 @@/* * Insert a packet on a list. */ -extern void skb_insert (struct sk_buff *old,struct sk_buff *newsk);static inline void __skb_insert (struct sk_buff *newsk,struct sk_buff *prev,struct sk_buff *next,struct sk_buff_head *list)
@@ -1120,22 +1119,6 @@extern void skb_init (void );extern void skb_add_mtu (int mtu); - -struct skb_iter { -/* Iteration functions set these */ -unsigned char *data; -unsigned int len; - -/* Private to iteration */ -unsigned int nextfrag; -struct sk_buff *fraglist; -}; - -/* Keep iterating until skb_iter_next returns false. */ -extern void skb_iter_first (const struct sk_buff *skb,struct skb_iter *i); -extern int skb_iter_next (const struct sk_buff *skb,struct skb_iter *i); -/* Call this if aborting loop before !skb_iter_next */ -extern void skb_iter_abort (const struct sk_buff *skb,struct skb_iter *i);#ifdef CONFIG_NETFILTER static inline void nf_conntrack_put (struct nf_conntrack *nfct)
net/core/skbuff.c +0 -90
117 lines not on this page · raw message
Harald is working on code for pattern-matching inside non-linear skbs for conntrack helpers. This code needs the skb_iter* functions.
Regards
Patrick
Quoted 163 lines · Christoph Hellwig
Signed-off-by Christoph Hellwig <[email protected]>include/linux/skbuff.h +0
-17@@ -592,7 +592,6 @@/* * Insert a packet on a list. */ -extern void skb_insert (struct sk_buff *old,struct sk_buff *newsk);static inline void __skb_insert (struct sk_buff *newsk,struct sk_buff *prev,struct sk_buff *next,struct sk_buff_head *list)@@ -1120,22 +1119,6 @@extern void skb_init (void );extern void skb_add_mtu (int mtu); - -struct skb_iter { -/* Iteration functions set these */ -unsigned char *data; -unsigned int len; - -/* Private to iteration */ -unsigned int nextfrag; -struct sk_buff *fraglist; -}; - -/* Keep iterating until skb_iter_next returns false. */ -extern void skb_iter_first (const struct sk_buff *skb,struct skb_iter *i); -extern int skb_iter_next (const struct sk_buff *skb,struct skb_iter *i); -/* Call this if aborting loop before !skb_iter_next */ -extern void skb_iter_abort (const struct sk_buff *skb,struct skb_iter *i);#ifdef CONFIG_NETFILTER static inline void nf_conntrack_put (struct nf_conntrack *nfct)net/core/skbuff.c +0
-90@@ -929,72 +929,7 @@return -EFAULT ; } -/* Keep iterating until skb_iter_next returns false. */ -void skb_iter_first (const struct sk_buff *skb,struct skb_iter *i) -{ - i->len =skb_headlen (skb); - i->data = (unsigned char *)skb->data; - i->nextfrag =0 ; - i->fraglist =NULL ; -} - -int skb_iter_next (const struct sk_buff *skb,struct skb_iter *i) -{ -/* Unmap previous, if not head fragment. */ -if (i->nextfrag) -kunmap_skb_frag (i->data); - -if (i->fraglist) { - fraglist: -/* We're iterating through fraglist. */ -if (i->nextfrag <skb_shinfo (i->fraglist)->nr_frags) { - i->data =kmap_skb_frag (&skb_shinfo (i->fraglist) - ->frags[i->nextfrag]); - i->len =skb_shinfo (i->fraglist)->frags[i->nextfrag] - .size; - i->nextfrag++; -return 1 ; - } -/* Fragments with fragments? Too hard! */ -BUG_ON (skb_shinfo (i->fraglist)->frag_list); - i->fraglist = i->fraglist->next; -if (!i->fraglist) - goto end; - - i->len =skb_headlen (i->fraglist); - i->data = i->fraglist->data; - i->nextfrag =0 ; -return 1 ; - } - -if (i->nextfrag <skb_shinfo (skb)->nr_frags) { - i->data =kmap_skb_frag (&skb_shinfo (skb)->frags[i->nextfrag]); - i->len =skb_shinfo (skb)->frags[i->nextfrag].size; - i->nextfrag++; -return 1 ; - } - - i->fraglist =skb_shinfo (skb)->frag_list; -if (i->fraglist) - goto fraglist; - -end: -/* Bug trap for callers */ - i->data =NULL ; -return 0 ; -} - -void skb_iter_abort (const struct sk_buff *skb,struct skb_iter *i) -{ -/* Unmap previous, if not head fragment. */ -if (i->data && i->nextfrag) -kunmap_skb_frag (i->data); -/* Bug trap for callers */ - i->data =NULL ; -} -/* Checksum skb data. */ -unsigned int skb_checksum (const struct sk_buff *skb,int offset,int len,unsigned int csum) {@@ -1318,25 +1253,6 @@ } -/** -* skb_insert - insert a buffer -* @old: buffer to insert before -* @newsk: buffer to insert -* -* Place a packet before a given packet in a list. The list locks are taken -* and this function is atomic with respect to other list locked calls -* A buffer cannot be placed on two lists at the same time. -*/ - -void skb_insert (struct sk_buff *old,struct sk_buff *newsk) -{ -unsigned long flags; - -spin_lock_irqsave (&old->list->lock, flags); -__skb_insert (newsk, old->prev, old, old->list); -spin_unlock_irqrestore (&old->list->lock, flags); -} -#if 0 /* * Tune the memory allocator for a new MTU size. @@ -1444,7 +1360,6 @@EXPORT_SYMBOL (pskb_expand_head);EXPORT_SYMBOL (skb_checksum);EXPORT_SYMBOL (skb_clone); -EXPORT_SYMBOL (skb_clone_fraglist);EXPORT_SYMBOL (skb_copy);EXPORT_SYMBOL (skb_copy_and_csum_bits);EXPORT_SYMBOL (skb_copy_and_csum_dev);@@ -1456,13 +1371,8 @@EXPORT_SYMBOL (skb_under_panic);EXPORT_SYMBOL (skb_dequeue);EXPORT_SYMBOL (skb_dequeue_tail); -EXPORT_SYMBOL (skb_insert);EXPORT_SYMBOL (skb_queue_purge);EXPORT_SYMBOL (skb_queue_head);EXPORT_SYMBOL (skb_queue_tail);EXPORT_SYMBOL (skb_unlink);EXPORT_SYMBOL (skb_append); -EXPORT_SYMBOL (skb_split); -EXPORT_SYMBOL (skb_iter_first); -EXPORT_SYMBOL (skb_iter_next); -EXPORT_SYMBOL (skb_iter_abort);
Quoted 3 lines · Patrick McHardy
Harald is working on code for pattern-matching inside non-linear skbs for conntrack helpers. This code needs the skb_iter* functions.
Perhaps put it back when the pattern matching code is submitted upstream.
- James
Signature · 2 lines
James Morris <[email protected]>
Quoted 7 lines · James Morris
Quoted 3 lines · Patrick McHardy
Harald is working on code for pattern-matching inside non-linear skbs for conntrack helpers. This code needs the skb_iter* functions.
Perhaps put it back when the pattern matching code is submitted upstream.
And especially put it into some netfilter module instead of bloating the kernel.