]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blobdiff - include/net/sch_generic.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[mirror_ubuntu-hirsute-kernel.git] / include / net / sch_generic.h
index 135f5a2dd93122dd905557028068a31aeea37cb0..07c179dab4782b2c848595af4d6e86bebc00de39 100644 (file)
@@ -10,6 +10,7 @@
 #include <linux/dynamic_queue_limits.h>
 #include <linux/list.h>
 #include <linux/refcount.h>
+#include <linux/workqueue.h>
 #include <net/gen_stats.h>
 #include <net/rtnetlink.h>
 
@@ -93,7 +94,6 @@ struct Qdisc {
        unsigned long           state;
        struct Qdisc            *next_sched;
        struct sk_buff          *skb_bad_txq;
-       struct rcu_head         rcu_head;
        int                     padded;
        refcount_t              refcnt;
 
@@ -271,6 +271,10 @@ struct tcf_chain {
 
 struct tcf_block {
        struct list_head chain_list;
+       struct net *net;
+       struct Qdisc *q;
+       struct list_head cb_list;
+       struct work_struct work;
 };
 
 static inline void qdisc_cb_private_validate(const struct sk_buff *skb, int sz)
@@ -358,9 +362,6 @@ static inline void sch_tree_unlock(const struct Qdisc *q)
        spin_unlock_bh(qdisc_root_sleeping_lock(q));
 }
 
-#define tcf_tree_lock(tp)      sch_tree_lock((tp)->q)
-#define tcf_tree_unlock(tp)    sch_tree_unlock((tp)->q)
-
 extern struct Qdisc noop_qdisc;
 extern struct Qdisc_ops noop_qdisc_ops;
 extern struct Qdisc_ops pfifo_fast_ops;