diff options
Diffstat (limited to 'include/net/pkt_cls.h')
-rw-r--r-- | include/net/pkt_cls.h | 9 |
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); |