:c:type:`sk_buff` is the main networking structure representing a packet.
.. kernel-doc:: include/linux/skbuff.h :doc: Basic sk_buff geometry
:c:member:`sk_buff.users` is a simple refcount allowing multiple entities
to keep a struct sk_buff alive. skbs with a sk_buff.users != 1
are referred
to as shared skbs (see skb_shared()).
skb_clone() allows for fast duplication of skbs. None of the data buffers get copied, but caller gets a new metadata struct (struct sk_buff). &skb_shared_info.refcount indicates the number of skbs pointing at the same packet data (i.e. clones).
.. kernel-doc:: include/linux/skbuff.h :doc: dataref and headerless skbs
.. kernel-doc:: include/linux/skbuff.h :doc: skb checksums