summaryrefslogtreecommitdiffstats
path: root/include/linux/skbuff.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/skbuff.h')
-rw-r--r--include/linux/skbuff.h20
1 files changed, 10 insertions, 10 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 9e9b338b6..ee6c79970 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -96,7 +96,9 @@ struct sk_buff {
unsigned char *tail; /* Tail pointer */
unsigned char *end; /* End pointer */
void (*destructor)(struct sk_buff *); /* Destruct function */
-
+#ifdef CONFIG_IP_FIREWALL
+ __u32 fwmark; /* Label made by fwchains, used by pktsched */
+#endif
#if defined(CONFIG_SHAPER) || defined(CONFIG_SHAPER_MODULE)
__u32 shapelatency; /* Latency on frame */
__u32 shapeclock; /* Time it should go out */
@@ -149,6 +151,8 @@ extern int skb_headroom(struct sk_buff *skb);
extern int skb_tailroom(struct sk_buff *skb);
extern void skb_reserve(struct sk_buff *skb, unsigned int len);
extern void skb_trim(struct sk_buff *skb, unsigned int len);
+extern void skb_over_panic(struct sk_buff *skb, int len, void *here);
+extern void skb_under_panic(struct sk_buff *skb, int len, void *here);
/* Internal */
extern __inline__ atomic_t *skb_datarefp(struct sk_buff *skb)
@@ -435,10 +439,6 @@ extern __inline__ struct sk_buff *skb_dequeue_tail(struct sk_buff_head *list)
return result;
}
-
-extern const char skb_put_errstr[];
-extern const char skb_push_errstr[];
-
/*
* Add data to an sk_buff
*/
@@ -450,9 +450,9 @@ extern __inline__ unsigned char *skb_put(struct sk_buff *skb, unsigned int len)
skb->len+=len;
if(skb->tail>skb->end)
{
- __label__ here;
- panic(skb_put_errstr,&&here,len);
-here: ;
+ __label__ here;
+ skb_over_panic(skb, len, &&here);
+here: ;
}
return tmp;
}
@@ -464,8 +464,8 @@ extern __inline__ unsigned char *skb_push(struct sk_buff *skb, unsigned int len)
if(skb->data<skb->head)
{
__label__ here;
- panic(skb_push_errstr, &&here,len);
-here: ;
+ skb_under_panic(skb, len, &&here);
+here: ;
}
return skb->data;
}