diff options
author | David Woodhouse <dwmw2@infradead.org> | 2008-02-03 02:29:41 -0500 |
---|---|---|
committer | David Woodhouse <dwmw2@infradead.org> | 2008-02-03 02:30:32 -0500 |
commit | c1f3ee120bb61045b1c0a3ead620d1d65af47130 (patch) | |
tree | 908430bf2b47fe8e96ac623ae7ab6dd5698d0938 /include/linux/skbuff.h | |
parent | e619a75ff6201b567a539e787aa9af9bc63a3187 (diff) | |
parent | 9135f1901ee6449dfe338adf6e40e9c2025b8150 (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.h | 19 |
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 | ||
96 | struct net_device; | 96 | struct net_device; |
97 | struct scatterlist; | 97 | struct scatterlist; |
98 | struct 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) |
100 | struct nf_conntrack { | 101 | struct 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 | ||
359 | extern void kfree_skbmem(struct sk_buff *skb); | ||
360 | extern struct sk_buff *skb_morph(struct sk_buff *dst, struct sk_buff *src); | 358 | extern struct sk_buff *skb_morph(struct sk_buff *dst, struct sk_buff *src); |
361 | extern struct sk_buff *skb_clone(struct sk_buff *skb, | 359 | extern 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 | ||
388 | static inline void skb_truesize_check(struct sk_buff *skb) | 386 | static 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 | ||
1539 | extern struct sk_buff *__skb_recv_datagram(struct sock *sk, unsigned flags, | ||
1540 | int *peeked, int *err); | ||
1539 | extern struct sk_buff *skb_recv_datagram(struct sock *sk, unsigned flags, | 1541 | extern struct sk_buff *skb_recv_datagram(struct sock *sk, unsigned flags, |
1540 | int noblock, int *err); | 1542 | int noblock, int *err); |
1541 | extern unsigned int datagram_poll(struct file *file, struct socket *sock, | 1543 | extern 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); |
1549 | extern void skb_free_datagram(struct sock *sk, struct sk_buff *skb); | 1551 | extern void skb_free_datagram(struct sock *sk, struct sk_buff *skb); |
1550 | extern void skb_kill_datagram(struct sock *sk, struct sk_buff *skb, | 1552 | extern int skb_kill_datagram(struct sock *sk, struct sk_buff *skb, |
1551 | unsigned int flags); | 1553 | unsigned int flags); |
1552 | extern __wsum skb_checksum(const struct sk_buff *skb, int offset, | 1554 | extern __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, | |||
1558 | extern __wsum skb_copy_and_csum_bits(const struct sk_buff *skb, | 1560 | extern __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); |
1563 | extern 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); | ||
1561 | extern void skb_copy_and_csum_dev(const struct sk_buff *skb, u8 *to); | 1568 | extern void skb_copy_and_csum_dev(const struct sk_buff *skb, u8 *to); |
1562 | extern void skb_split(struct sk_buff *skb, | 1569 | extern void skb_split(struct sk_buff *skb, |
1563 | struct sk_buff *skb1, const u32 len); | 1570 | struct sk_buff *skb1, const u32 len); |