MAN sezione 9 - Torna all'indice
MAN PAGE: SKB_UNLINK(9)Contents
__skb_unlink, skb_unlink - remove an sk_buff from its list
#include <linux/skbuff.h>
void __skb_unlink(struct sk_buff *skb, struct sk_buff_head
*list);
void skb_unlink(struct sk_buff *skb);
The skb_unlink function is a wrapper for __skb_unlink.
__skb_unlink removes skb from its sk_buff_head. It decre
ments the list qlen pointer, and cleanly detaches the
sk_buff from its queue. This function should always be
used instead of performing this task manually, as it pro
vides a clean, standardized way of manipulating an
sk_buff_head, and provides interrupt disabling (see NOTES
below.) Most users will not call __skb_unlink directly,
as it requires that two arguments be supplied and does not
provide any interrupt handling. skb_unlink determines the
list from which skb should be detached, and disables
interrupts.
None.
It is important to note the difference between not only
__skb_unlink and skb_unlink, but all the __skb_ functions
and their skb_ counterparts. Essentially, the __skb_
functions are non-atomic, and should only be used with
interrupts disabled. As a convenience, the skb_ functions
are provided, which perform interrupt disable / enable
wrapper functionality in addition to performing their spe
cific tasks.
Linux 1.0+
intro(9), skb_dequeue(9), skb_insert(9),
skb_queue_head(9), skb_queue_tail(9)
/usr/src/linux/net/core/skbuff.c
/usr/src/linux/net/ipv4/af_inet.c
/usr/src/linux/net/ipv4/ip_output.c
/usr/src/linux/net/ipv4/tcp.c
Cyrus Durgin <cider@speakeasy.org>
Linux DDI November 24, 1997 1 |