diff --git a/net/sched/Kconfig b/net/sched/Kconfig index f5ab54b1edd3..554248e0fc4c 100644 --- a/net/sched/Kconfig +++ b/net/sched/Kconfig @@ -198,6 +198,7 @@ config NET_SCH_NETEM config NET_SCH_INGRESS tristate "Ingress Qdisc" + depends on NET_CLS_ACT || NETFILTER ---help--- Say Y here if you want to use classifiers for incoming packets. If unsure, say Y. diff --git a/net/sched/sch_ingress.c b/net/sched/sch_ingress.c index c69e7bc7fb6c..b30ca01bdc04 100644 --- a/net/sched/sch_ingress.c +++ b/net/sched/sch_ingress.c @@ -162,19 +162,10 @@ static struct nf_hook_ops ing_ops[] __read_mostly = { static int ingress_init(struct Qdisc *sch, struct rtattr *opt) { - /* Make sure either netfilter or preferably CLS_ACT is - * compiled in */ -#ifndef CONFIG_NET_CLS_ACT -#ifndef CONFIG_NETFILTER - printk("You MUST compile classifier actions into the kernel\n"); - return -EINVAL; -#else - printk("Ingress scheduler: Classifier actions prefered over netfilter\n"); -#endif -#endif - #ifndef CONFIG_NET_CLS_ACT #ifdef CONFIG_NETFILTER + printk("Ingress scheduler: Classifier actions prefered over netfilter\n"); + if (!nf_registered) { if (nf_register_hooks(ing_ops, ARRAY_SIZE(ing_ops)) < 0) { printk("ingress qdisc registration error \n");