Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[sfrench/cifs-2.6.git] / net / sched / sch_api.c
index cfdbfa18a95eb01deceecdad56be7de07547db2a..43b94c7b69bdb0d25d10a79c05e789a2388888da 100644 (file)
@@ -163,7 +163,7 @@ int register_qdisc(struct Qdisc_ops *qops)
                if (!(cops->get && cops->put && cops->walk && cops->leaf))
                        goto out_einval;
 
-               if (cops->tcf_chain && !(cops->bind_tcf && cops->unbind_tcf))
+               if (cops->tcf_block && !(cops->bind_tcf && cops->unbind_tcf))
                        goto out_einval;
        }
 
@@ -1879,54 +1879,6 @@ done:
        return skb->len;
 }
 
-/* Main classifier routine: scans classifier chain attached
- * to this qdisc, (optionally) tests for protocol and asks
- * specific classifiers.
- */
-int tc_classify(struct sk_buff *skb, const struct tcf_proto *tp,
-               struct tcf_result *res, bool compat_mode)
-{
-       __be16 protocol = tc_skb_protocol(skb);
-#ifdef CONFIG_NET_CLS_ACT
-       const int max_reclassify_loop = 4;
-       const struct tcf_proto *old_tp = tp;
-       int limit = 0;
-
-reclassify:
-#endif
-       for (; tp; tp = rcu_dereference_bh(tp->next)) {
-               int err;
-
-               if (tp->protocol != protocol &&
-                   tp->protocol != htons(ETH_P_ALL))
-                       continue;
-
-               err = tp->classify(skb, tp, res);
-#ifdef CONFIG_NET_CLS_ACT
-               if (unlikely(err == TC_ACT_RECLASSIFY && !compat_mode))
-                       goto reset;
-#endif
-               if (err >= 0)
-                       return err;
-       }
-
-       return TC_ACT_UNSPEC; /* signal: continue lookup */
-#ifdef CONFIG_NET_CLS_ACT
-reset:
-       if (unlikely(limit++ >= max_reclassify_loop)) {
-               net_notice_ratelimited("%s: reclassify loop, rule prio %u, protocol %02x\n",
-                                      tp->q->ops->id, tp->prio & 0xffff,
-                                      ntohs(tp->protocol));
-               return TC_ACT_SHOT;
-       }
-
-       tp = old_tp;
-       protocol = tc_skb_protocol(skb);
-       goto reclassify;
-#endif
-}
-EXPORT_SYMBOL(tc_classify);
-
 #ifdef CONFIG_PROC_FS
 static int psched_show(struct seq_file *seq, void *v)
 {