netns xfrm: fix "ip xfrm state|policy count" misreport
[safe/jmp/linux-2.6] / net / sched / sch_tbf.c
index a2f93c0..8fb8107 100644 (file)
@@ -236,7 +236,6 @@ static int tbf_change(struct Qdisc* sch, struct nlattr *opt)
        struct tc_tbf_qopt *qopt;
        struct qdisc_rate_table *rtab = NULL;
        struct qdisc_rate_table *ptab = NULL;
-       struct qdisc_rate_table *tmp;
        struct Qdisc *child = NULL;
        int max_size,n;
 
@@ -295,13 +294,9 @@ static int tbf_change(struct Qdisc* sch, struct nlattr *opt)
        q->tokens = q->buffer;
        q->ptokens = q->mtu;
 
-       tmp = q->R_tab;
-       q->R_tab = rtab;
-       rtab = tmp;
+       swap(q->R_tab, rtab);
+       swap(q->P_tab, ptab);
 
-       tmp = q->P_tab;
-       q->P_tab = ptab;
-       ptab = tmp;
        sch_tree_unlock(sch);
        err = 0;
 done:
@@ -373,9 +368,6 @@ static int tbf_dump_class(struct Qdisc *sch, unsigned long cl,
 {
        struct tbf_sched_data *q = qdisc_priv(sch);
 
-       if (cl != 1)    /* only one class */
-               return -ENOENT;
-
        tcm->tcm_handle |= TC_H_MIN(1);
        tcm->tcm_info = q->qdisc->handle;
 
@@ -415,17 +407,6 @@ static void tbf_put(struct Qdisc *sch, unsigned long arg)
 {
 }
 
-static int tbf_change_class(struct Qdisc *sch, u32 classid, u32 parentid,
-                           struct nlattr **tca, unsigned long *arg)
-{
-       return -ENOSYS;
-}
-
-static int tbf_delete(struct Qdisc *sch, unsigned long arg)
-{
-       return -ENOSYS;
-}
-
 static void tbf_walk(struct Qdisc *sch, struct qdisc_walker *walker)
 {
        if (!walker->stop) {
@@ -438,21 +419,13 @@ static void tbf_walk(struct Qdisc *sch, struct qdisc_walker *walker)
        }
 }
 
-static struct tcf_proto **tbf_find_tcf(struct Qdisc *sch, unsigned long cl)
-{
-       return NULL;
-}
-
 static const struct Qdisc_class_ops tbf_class_ops =
 {
        .graft          =       tbf_graft,
        .leaf           =       tbf_leaf,
        .get            =       tbf_get,
        .put            =       tbf_put,
-       .change         =       tbf_change_class,
-       .delete         =       tbf_delete,
        .walk           =       tbf_walk,
-       .tcf_chain      =       tbf_find_tcf,
        .dump           =       tbf_dump_class,
 };