net: Cleanup skb cloning by adding SKB_FCLONE_FREE
SKB_FCLONE_UNAVAILABLE has overloaded meaning depending on type of skb. 1: If skb is allocated from head_cache, it indicates fclone is not available. 2: If skb is a companion fclone skb (allocated from fclone_cache), it indicates it is available to be used. To avoid confusion for case 2 above, this patch replaces SKB_FCLONE_UNAVAILABLE with SKB_FCLONE_FREE where appropriate. For fclone companion skbs, this indicates it is free for use. SKB_FCLONE_UNAVAILABLE will now simply indicate skb is from head_cache and cannot / will not have a companion fclone. Signed-off-by: Vijay Subramanian <subramanian.vijay@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
9fab426de7
commit
c8753d55af
@@ -339,9 +339,10 @@ struct skb_shared_info {
|
||||
|
||||
|
||||
enum {
|
||||
SKB_FCLONE_UNAVAILABLE,
|
||||
SKB_FCLONE_ORIG,
|
||||
SKB_FCLONE_CLONE,
|
||||
SKB_FCLONE_UNAVAILABLE, /* skb has no fclone (from head_cache) */
|
||||
SKB_FCLONE_ORIG, /* orig skb (from fclone_cache) */
|
||||
SKB_FCLONE_CLONE, /* companion fclone skb (from fclone_cache) */
|
||||
SKB_FCLONE_FREE, /* this companion fclone skb is available */
|
||||
};
|
||||
|
||||
enum {
|
||||
|
Reference in New Issue
Block a user