[NET]: Uninline the sk_stream_alloc_pskb
[safe/jmp/linux-2.6] / include / net / pkt_cls.h
index 880eb7b..f285de6 100644 (file)
@@ -2,6 +2,7 @@
 #define __NET_PKT_CLS_H
 
 #include <linux/pkt_cls.h>
+#include <net/net_namespace.h>
 #include <net/sch_generic.h>
 #include <net/act_api.h>
 
@@ -65,8 +66,6 @@ struct tcf_exts
 {
 #ifdef CONFIG_NET_CLS_ACT
        struct tc_action *action;
-#elif defined CONFIG_NET_CLS_POLICE
-       struct tcf_police *police;
 #endif
 };
 
@@ -91,8 +90,6 @@ tcf_exts_is_predicative(struct tcf_exts *exts)
 {
 #ifdef CONFIG_NET_CLS_ACT
        return !!exts->action;
-#elif defined CONFIG_NET_CLS_POLICE
-       return !!exts->police;
 #else
        return 0;
 #endif
@@ -129,11 +126,7 @@ tcf_exts_exec(struct sk_buff *skb, struct tcf_exts *exts,
 #ifdef CONFIG_NET_CLS_ACT
        if (exts->action)
                return tcf_action_exec(skb, exts->action, res);
-#elif defined CONFIG_NET_CLS_POLICE
-       if (exts->police)
-               return tcf_police(skb, exts->police);
 #endif
-
        return 0;
 }
 
@@ -306,6 +299,8 @@ static inline int tcf_em_tree_match(struct sk_buff *skb,
                return 1;
 }
 
+#define MODULE_ALIAS_TCF_EMATCH(kind)  MODULE_ALIAS("ematch-kind-" __stringify(kind))
+
 #else /* CONFIG_NET_EMATCH */
 
 struct tcf_ematch_tree
@@ -328,7 +323,7 @@ static inline unsigned char * tcf_get_base_ptr(struct sk_buff *skb, int layer)
                case TCF_LAYER_NETWORK:
                        return skb_network_header(skb);
                case TCF_LAYER_TRANSPORT:
-                       return skb->h.raw;
+                       return skb_transport_header(skb);
        }
 
        return NULL;
@@ -337,7 +332,7 @@ static inline unsigned char * tcf_get_base_ptr(struct sk_buff *skb, int layer)
 static inline int tcf_valid_offset(const struct sk_buff *skb,
                                   const unsigned char *ptr, const int len)
 {
-       return unlikely((ptr + len) < skb->tail && ptr > skb->head);
+       return unlikely((ptr + len) < skb_tail_pointer(skb) && ptr > skb->head);
 }
 
 #ifdef CONFIG_NET_CLS_IND
@@ -357,7 +352,7 @@ tcf_match_indev(struct sk_buff *skb, char *indev)
        if (indev[0]) {
                if  (!skb->iif)
                        return 0;
-               dev = __dev_get_by_index(skb->iif);
+               dev = __dev_get_by_index(&init_net, skb->iif);
                if (!dev || strcmp(indev, dev->name))
                        return 0;
        }