diff options
author | Christoph Hellwig <hch@lst.de> | 2006-08-01 01:35:23 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-08-02 16:38:25 -0400 |
commit | 8af2745645243b5e5b031504a643bf2158571dc7 (patch) | |
tree | 32bf05d47473c2b586daee33f343e0eea1bbf943 /include | |
parent | 52499afe40387524e9f46ef9ce4695efccdd2ed9 (diff) |
[NET]: Add netdev_alloc_skb().
Add a dev_alloc_skb variant that takes a struct net_device * paramater.
For now that paramater is unused, but I'll use it to allocate the skb
from node-local memory in a follow-up patch. Also there have been some
other plans mentioned on the list that can use it.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/skbuff.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 4307e764ef0a..b91fbfb7d54c 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
@@ -1104,6 +1104,28 @@ static inline struct sk_buff *dev_alloc_skb(unsigned int length) | |||
1104 | return __dev_alloc_skb(length, GFP_ATOMIC); | 1104 | return __dev_alloc_skb(length, GFP_ATOMIC); |
1105 | } | 1105 | } |
1106 | 1106 | ||
1107 | extern struct sk_buff *__netdev_alloc_skb(struct net_device *dev, | ||
1108 | unsigned int length, gfp_t gfp_mask); | ||
1109 | |||
1110 | /** | ||
1111 | * netdev_alloc_skb - allocate an skbuff for rx on a specific device | ||
1112 | * @dev: network device to receive on | ||
1113 | * @length: length to allocate | ||
1114 | * | ||
1115 | * Allocate a new &sk_buff and assign it a usage count of one. The | ||
1116 | * buffer has unspecified headroom built in. Users should allocate | ||
1117 | * the headroom they think they need without accounting for the | ||
1118 | * built in space. The built in space is used for optimisations. | ||
1119 | * | ||
1120 | * %NULL is returned if there is no free memory. Although this function | ||
1121 | * allocates memory it can be called from an interrupt. | ||
1122 | */ | ||
1123 | static inline struct sk_buff *netdev_alloc_skb(struct net_device *dev, | ||
1124 | unsigned int length) | ||
1125 | { | ||
1126 | return __netdev_alloc_skb(dev, length, GFP_ATOMIC); | ||
1127 | } | ||
1128 | |||
1107 | /** | 1129 | /** |
1108 | * skb_cow - copy header of skb when it is required | 1130 | * skb_cow - copy header of skb when it is required |
1109 | * @skb: buffer to cow | 1131 | * @skb: buffer to cow |