diff options
Diffstat (limited to 'net/core/skbuff.c')
-rw-r--r-- | net/core/skbuff.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index d236f02c6467..71487b915d67 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c | |||
@@ -256,6 +256,29 @@ nodata: | |||
256 | goto out; | 256 | goto out; |
257 | } | 257 | } |
258 | 258 | ||
259 | /** | ||
260 | * __netdev_alloc_skb - allocate an skbuff for rx on a specific device | ||
261 | * @dev: network device to receive on | ||
262 | * @length: length to allocate | ||
263 | * @gfp_mask: get_free_pages mask, passed to alloc_skb | ||
264 | * | ||
265 | * Allocate a new &sk_buff and assign it a usage count of one. The | ||
266 | * buffer has unspecified headroom built in. Users should allocate | ||
267 | * the headroom they think they need without accounting for the | ||
268 | * built in space. The built in space is used for optimisations. | ||
269 | * | ||
270 | * %NULL is returned if there is no free memory. | ||
271 | */ | ||
272 | struct sk_buff *__netdev_alloc_skb(struct net_device *dev, | ||
273 | unsigned int length, gfp_t gfp_mask) | ||
274 | { | ||
275 | struct sk_buff *skb; | ||
276 | |||
277 | skb = alloc_skb(length + NET_SKB_PAD, gfp_mask); | ||
278 | if (likely(skb)) | ||
279 | skb_reserve(skb, NET_SKB_PAD); | ||
280 | return skb; | ||
281 | } | ||
259 | 282 | ||
260 | static void skb_drop_list(struct sk_buff **listp) | 283 | static void skb_drop_list(struct sk_buff **listp) |
261 | { | 284 | { |
@@ -2048,6 +2071,7 @@ EXPORT_SYMBOL(__kfree_skb); | |||
2048 | EXPORT_SYMBOL(kfree_skb); | 2071 | EXPORT_SYMBOL(kfree_skb); |
2049 | EXPORT_SYMBOL(__pskb_pull_tail); | 2072 | EXPORT_SYMBOL(__pskb_pull_tail); |
2050 | EXPORT_SYMBOL(__alloc_skb); | 2073 | EXPORT_SYMBOL(__alloc_skb); |
2074 | EXPORT_SYMBOL(__netdev_alloc_skb); | ||
2051 | EXPORT_SYMBOL(pskb_copy); | 2075 | EXPORT_SYMBOL(pskb_copy); |
2052 | EXPORT_SYMBOL(pskb_expand_head); | 2076 | EXPORT_SYMBOL(pskb_expand_head); |
2053 | EXPORT_SYMBOL(skb_checksum); | 2077 | EXPORT_SYMBOL(skb_checksum); |