summaryrefslogtreecommitdiffstats
path: root/include/net/pkt_cls.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/pkt_cls.h')
-rw-r--r--include/net/pkt_cls.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/include/net/pkt_cls.h b/include/net/pkt_cls.h
index 0d3c25e25..4c37d11ed 100644
--- a/include/net/pkt_cls.h
+++ b/include/net/pkt_cls.h
@@ -50,7 +50,7 @@ struct tcf_proto_ops
unsigned long (*get)(struct tcf_proto*, u32 handle);
void (*put)(struct tcf_proto*, unsigned long);
- int (*change)(struct tcf_proto*, u32 handle, struct rtattr **, unsigned long *);
+ int (*change)(struct tcf_proto*, unsigned long, u32 handle, struct rtattr **, unsigned long *);
int (*delete)(struct tcf_proto*, unsigned long);
void (*walk)(struct tcf_proto*, struct tcf_walker *arg);
@@ -77,6 +77,13 @@ extern __inline__ int tc_classify(struct sk_buff *skb, struct tcf_proto *tp, str
return -1;
}
+extern __inline__ unsigned long cls_set_class(unsigned long *clp, unsigned long cl)
+{
+ cl = xchg(clp, cl);
+ synchronize_bh();
+ return cl;
+}
+
extern int register_tcf_proto_ops(struct tcf_proto_ops *ops);
extern int unregister_tcf_proto_ops(struct tcf_proto_ops *ops);