aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/skbuff.h
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@infradead.org>2008-02-03 02:29:41 -0500
committerDavid Woodhouse <dwmw2@infradead.org>2008-02-03 02:30:32 -0500
commitc1f3ee120bb61045b1c0a3ead620d1d65af47130 (patch)
tree908430bf2b47fe8e96ac623ae7ab6dd5698d0938 /include/linux/skbuff.h
parente619a75ff6201b567a539e787aa9af9bc63a3187 (diff)
parent9135f1901ee6449dfe338adf6e40e9c2025b8150 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Diffstat (limited to 'include/linux/skbuff.h')
-rw-r--r--include/linux/skbuff.h19
1 files changed, 13 insertions, 6 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 94e49915a8c0..dfe975a9967e 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -95,6 +95,7 @@
95 95
96struct net_device; 96struct net_device;
97struct scatterlist; 97struct scatterlist;
98struct pipe_inode_info;
98 99
99#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE) 100#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
100struct nf_conntrack { 101struct nf_conntrack {
@@ -107,9 +108,6 @@ struct nf_bridge_info {
107 atomic_t use; 108 atomic_t use;
108 struct net_device *physindev; 109 struct net_device *physindev;
109 struct net_device *physoutdev; 110 struct net_device *physoutdev;
110#if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE)
111 struct net_device *netoutdev;
112#endif
113 unsigned int mask; 111 unsigned int mask;
114 unsigned long data[32 / sizeof(unsigned long)]; 112 unsigned long data[32 / sizeof(unsigned long)];
115}; 113};
@@ -287,6 +285,7 @@ struct sk_buff {
287 __u8 pkt_type:3, 285 __u8 pkt_type:3,
288 fclone:2, 286 fclone:2,
289 ipvs_property:1, 287 ipvs_property:1,
288 peeked:1,
290 nf_trace:1; 289 nf_trace:1;
291 __be16 protocol; 290 __be16 protocol;
292 291
@@ -356,7 +355,6 @@ static inline struct sk_buff *alloc_skb_fclone(unsigned int size,
356 return __alloc_skb(size, priority, 1, -1); 355 return __alloc_skb(size, priority, 1, -1);
357} 356}
358 357
359extern void kfree_skbmem(struct sk_buff *skb);
360extern struct sk_buff *skb_morph(struct sk_buff *dst, struct sk_buff *src); 358extern struct sk_buff *skb_morph(struct sk_buff *dst, struct sk_buff *src);
361extern struct sk_buff *skb_clone(struct sk_buff *skb, 359extern struct sk_buff *skb_clone(struct sk_buff *skb,
362 gfp_t priority); 360 gfp_t priority);
@@ -387,7 +385,9 @@ extern void skb_truesize_bug(struct sk_buff *skb);
387 385
388static inline void skb_truesize_check(struct sk_buff *skb) 386static inline void skb_truesize_check(struct sk_buff *skb)
389{ 387{
390 if (unlikely((int)skb->truesize < sizeof(struct sk_buff) + skb->len)) 388 int len = sizeof(struct sk_buff) + skb->len;
389
390 if (unlikely((int)skb->truesize < len))
391 skb_truesize_bug(skb); 391 skb_truesize_bug(skb);
392} 392}
393 393
@@ -1536,6 +1536,8 @@ static inline int pskb_trim_rcsum(struct sk_buff *skb, unsigned int len)
1536 skb = skb->prev) 1536 skb = skb->prev)
1537 1537
1538 1538
1539extern struct sk_buff *__skb_recv_datagram(struct sock *sk, unsigned flags,
1540 int *peeked, int *err);
1539extern struct sk_buff *skb_recv_datagram(struct sock *sk, unsigned flags, 1541extern struct sk_buff *skb_recv_datagram(struct sock *sk, unsigned flags,
1540 int noblock, int *err); 1542 int noblock, int *err);
1541extern unsigned int datagram_poll(struct file *file, struct socket *sock, 1543extern unsigned int datagram_poll(struct file *file, struct socket *sock,
@@ -1547,7 +1549,7 @@ extern int skb_copy_and_csum_datagram_iovec(struct sk_buff *skb,
1547 int hlen, 1549 int hlen,
1548 struct iovec *iov); 1550 struct iovec *iov);
1549extern void skb_free_datagram(struct sock *sk, struct sk_buff *skb); 1551extern void skb_free_datagram(struct sock *sk, struct sk_buff *skb);
1550extern void skb_kill_datagram(struct sock *sk, struct sk_buff *skb, 1552extern int skb_kill_datagram(struct sock *sk, struct sk_buff *skb,
1551 unsigned int flags); 1553 unsigned int flags);
1552extern __wsum skb_checksum(const struct sk_buff *skb, int offset, 1554extern __wsum skb_checksum(const struct sk_buff *skb, int offset,
1553 int len, __wsum csum); 1555 int len, __wsum csum);
@@ -1558,6 +1560,11 @@ extern int skb_store_bits(struct sk_buff *skb, int offset,
1558extern __wsum skb_copy_and_csum_bits(const struct sk_buff *skb, 1560extern __wsum skb_copy_and_csum_bits(const struct sk_buff *skb,
1559 int offset, u8 *to, int len, 1561 int offset, u8 *to, int len,
1560 __wsum csum); 1562 __wsum csum);
1563extern int skb_splice_bits(struct sk_buff *skb,
1564 unsigned int offset,
1565 struct pipe_inode_info *pipe,
1566 unsigned int len,
1567 unsigned int flags);
1561extern void skb_copy_and_csum_dev(const struct sk_buff *skb, u8 *to); 1568extern void skb_copy_and_csum_dev(const struct sk_buff *skb, u8 *to);
1562extern void skb_split(struct sk_buff *skb, 1569extern void skb_split(struct sk_buff *skb,
1563 struct sk_buff *skb1, const u32 len); 1570 struct sk_buff *skb1, const u32 len);