summaryrefslogtreecommitdiff
path: root/release/src/linux/linux/net/core/skbuff.c
diff options
context:
space:
mode:
Diffstat (limited to 'release/src/linux/linux/net/core/skbuff.c')
-rw-r--r--release/src/linux/linux/net/core/skbuff.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/release/src/linux/linux/net/core/skbuff.c b/release/src/linux/linux/net/core/skbuff.c
index 57d19374..32476545 100644
--- a/release/src/linux/linux/net/core/skbuff.c
+++ b/release/src/linux/linux/net/core/skbuff.c
@@ -201,6 +201,10 @@ struct sk_buff *alloc_skb(unsigned int size,int gfp_mask)
/* Set up other state */
skb->len = 0;
skb->cloned = 0;
+#if defined(CONFIG_IMQ) || defined (CONFIG_IMQ_MODULE)
+ skb->imq_flags = 0;
+ skb->nf_info = NULL;
+#endif
skb->data_len = 0;
atomic_set(&skb->users, 1);
@@ -248,6 +252,10 @@ static inline void skb_headerinit(void *p, kmem_cache_t *cache,
#ifdef CONFIG_NET_SCHED
skb->tc_index = 0;
#endif
+#if defined(CONFIG_IMQ) || defined(CONFIG_IMQ_MODULE)
+ skb->imq_flags = 0;
+ skb->nf_info = NULL;
+#endif
}
static void skb_drop_fraglist(struct sk_buff *skb)
@@ -397,6 +405,10 @@ struct sk_buff *skb_clone(struct sk_buff *skb, int gfp_mask)
#ifdef CONFIG_NET_SCHED
C(tc_index);
#endif
+#if defined(CONFIG_IMQ) || defined(CONFIG_IMQ_MODULE)
+ C(imq_flags);
+ C(nf_info);
+#endif
atomic_inc(&(skb_shinfo(skb)->dataref));
skb->cloned = 1;
@@ -440,6 +452,10 @@ static void copy_skb_header(struct sk_buff *new, const struct sk_buff *old)
#ifdef CONFIG_NET_SCHED
new->tc_index = old->tc_index;
#endif
+#if defined(CONFIG_IMQ) || defined(CONFIG_IMQ_MODULE)
+ new->imq_flags=old->imq_flags;
+ new->nf_info=old->nf_info;
+#endif
}
/**