All tc ematch modules, including those in kmod-sched-core and kmod-sched,
use cls_basic as a core dependency. Relocate cls_basic from kmod-sched to
kmod-sched-core to avoid requiring kmod-sched unnecessarily.
This change is also backwards compatible since any past tc ematch users
will have had to install both kmod-sched-core and kmod-sched anyway.
Add the matchall kernel module cls_matchall introduced in kernel 4.8. The
matchall classifier matches every packet and allows the user to apply
actions on it. It is a simpler, more efficient replacement for the common
but cryptic tc classifier idiom "u32 match u32 0 0".
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
SCHED_MODULES = $(patsubst $(LINUX_DIR)/net/sched/%.ko,%,$(wildcard $(LINUX_DIR)/net/sched/*.ko))
SCHED_MODULES = $(patsubst $(LINUX_DIR)/net/sched/%.ko,%,$(wildcard $(LINUX_DIR)/net/sched/*.ko))
-SCHED_MODULES_CORE = sch_ingress sch_fq_codel sch_hfsc sch_htb sch_tbf cls_fw cls_route cls_flow cls_tcindex cls_u32 em_u32 act_mirred act_skbedit
+SCHED_MODULES_CORE = sch_ingress sch_fq_codel sch_hfsc sch_htb sch_tbf cls_basic cls_fw cls_route cls_flow cls_tcindex cls_u32 em_u32 act_mirred act_skbedit cls_matchall
SCHED_MODULES_FILTER = $(SCHED_MODULES_CORE) act_connmark sch_netem
SCHED_MODULES_EXTRA = $(filter-out $(SCHED_MODULES_FILTER),$(SCHED_MODULES))
SCHED_FILES = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(filter $(SCHED_MODULES_CORE),$(SCHED_MODULES)))
SCHED_MODULES_FILTER = $(SCHED_MODULES_CORE) act_connmark sch_netem
SCHED_MODULES_EXTRA = $(filter-out $(SCHED_MODULES_FILTER),$(SCHED_MODULES))
SCHED_FILES = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(filter $(SCHED_MODULES_CORE),$(SCHED_MODULES)))
define KernelPackage/sched-core
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=Traffic schedulers
define KernelPackage/sched-core
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=Traffic schedulers
KCONFIG:= \
CONFIG_NET_SCHED=y \
CONFIG_NET_SCH_HFSC \
KCONFIG:= \
CONFIG_NET_SCHED=y \
CONFIG_NET_SCH_HFSC \
CONFIG_NET_SCH_FQ_CODEL \
CONFIG_NET_CLS=y \
CONFIG_NET_CLS_ACT=y \
CONFIG_NET_SCH_FQ_CODEL \
CONFIG_NET_CLS=y \
CONFIG_NET_CLS_ACT=y \
CONFIG_NET_CLS_FLOW \
CONFIG_NET_CLS_FW \
CONFIG_NET_CLS_ROUTE4 \
CONFIG_NET_CLS_FLOW \
CONFIG_NET_CLS_FW \
CONFIG_NET_CLS_ROUTE4 \
CONFIG_NET_CLS_U32 \
CONFIG_NET_ACT_MIRRED \
CONFIG_NET_ACT_SKBEDIT \
CONFIG_NET_CLS_U32 \
CONFIG_NET_ACT_MIRRED \
CONFIG_NET_ACT_SKBEDIT \
+ CONFIG_NET_CLS_MATCHALL \
CONFIG_NET_EMATCH=y \
CONFIG_NET_EMATCH_U32
FILES:=$(SCHED_FILES)
CONFIG_NET_EMATCH=y \
CONFIG_NET_EMATCH_U32
FILES:=$(SCHED_FILES)
CONFIG_NET_SCH_TEQL \
CONFIG_NET_SCH_FQ \
CONFIG_NET_SCH_PIE \
CONFIG_NET_SCH_TEQL \
CONFIG_NET_SCH_FQ \
CONFIG_NET_SCH_PIE \
CONFIG_NET_ACT_POLICE \
CONFIG_NET_ACT_IPT \
CONFIG_NET_EMATCH_CMP \
CONFIG_NET_ACT_POLICE \
CONFIG_NET_ACT_IPT \
CONFIG_NET_EMATCH_CMP \