+
+define KernelPackage/sched-ctinfo
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=Traffic shaper ctinfo support
+ DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack-extra
+ KCONFIG:=CONFIG_NET_ACT_CTINFO
+ FILES:=$(LINUX_DIR)/net/sched/act_ctinfo.ko
+ AUTOLOAD:=$(call AutoLoad,71, act_ctinfo)
+endef
+$(eval $(call KernelPackage,sched-ctinfo))
+
+
+define KernelPackage/sched-drr
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=Deficit Round Robin scheduler (DRR)
+ DEPENDS:=+kmod-sched-core
+ KCONFIG:=CONFIG_NET_SCH_DRR
+ FILES:=$(LINUX_DIR)/net/sched/sch_drr.ko
+ AUTOLOAD:=$(call AutoProbe,sch_drr)
+endef
+
+define KernelPackage/sched-drr/description
+ DRR algorithm Configuration
+endef
+
+$(eval $(call KernelPackage,sched-drr))
+
+
+define KernelPackage/sched-flower
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=Flower traffic classifier
+ DEPENDS:=+kmod-sched-core
+ KCONFIG:=CONFIG_NET_CLS_FLOWER
+ FILES:=$(LINUX_DIR)/net/sched/cls_flower.ko
+ AUTOLOAD:=$(call AutoProbe, cls_flower)
+endef
+
+define KernelPackage/sched-flower/description
+ Allows to classify packets based on a configurable combination of packet keys and masks.
+endef
+
+$(eval $(call KernelPackage,sched-flower))
+
+
+define KernelPackage/sched-fq-pie
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=Flow Queue Proportional Integral Enhanced (FQ-PIE)
+ DEPENDS:=+kmod-sched-core +kmod-sched-pie
+ KCONFIG:=CONFIG_NET_SCH_FQ_PIE
+ FILES:=$(LINUX_DIR)/net/sched/sch_fq_pie.ko
+ AUTOLOAD:=$(call AutoProbe, sch_fq_pie)
+endef
+
+define KernelPackage/sched-fq-pie/description
+ A queuing discipline that combines Flow Queuing with the PIE AQM.
+endef
+
+$(eval $(call KernelPackage,sched-fq-pie))
+
+
+define KernelPackage/sched-ipset
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=Traffic shaper ipset support
+ DEPENDS:=+kmod-sched-core +kmod-ipt-ipset
+ KCONFIG:= \
+ CONFIG_NET_EMATCH_IPSET
+ FILES:= \
+ $(LINUX_DIR)/net/sched/em_ipset.ko
+ AUTOLOAD:=$(call AutoLoad,72,em_ipset)
+endef
+
+$(eval $(call KernelPackage,sched-ipset))
+
+
+define KernelPackage/sched-mqprio
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=Multi-queue priority scheduler (MQPRIO)
+ DEPENDS:=+kmod-sched-core
+ KCONFIG:=CONFIG_NET_SCH_MQPRIO
+ FILES:=$(LINUX_DIR)/net/sched/sch_mqprio.ko
+ AUTOLOAD:=$(call AutoProbe, sch_mqprio)
+endef
+
+define KernelPackage/sched-mqprio/description
+ This scheduler allows QOS to be offloaded on NICs that have support for offloading QOS schedulers.
+endef
+
+$(eval $(call KernelPackage,sched-mqprio))
+
+
+define KernelPackage/sched-pie
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=Proportional Integral controller-Enhanced AQM (PIE)
+ DEPENDS:=+kmod-sched-core
+ KCONFIG:=CONFIG_NET_SCH_PIE
+ FILES:=$(LINUX_DIR)/net/sched/sch_pie.ko
+ AUTOLOAD:=$(call AutoProbe, sch_pie)
+endef
+
+define KernelPackage/sched-pie/description
+ A control theoretic active queue management scheme.
+endef
+
+$(eval $(call KernelPackage,sched-pie))
+
+
+define KernelPackage/sched-prio
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=Multi Band Priority Queueing (PRIO)
+ DEPENDS:=+kmod-sched-core
+ KCONFIG:=CONFIG_NET_SCH_PRIO
+ FILES:=$(LINUX_DIR)/net/sched/sch_prio.ko
+ AUTOLOAD:=$(call AutoProbe,sch_prio)
+endef
+
+define KernelPackage/sched-prio/description
+ PRIO algorithm Configuration
+endef
+
+$(eval $(call KernelPackage,sched-prio))
+
+
+define KernelPackage/sched-red
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=Random Early Detection (RED)
+ DEPENDS:=+kmod-sched-core
+ KCONFIG:=CONFIG_NET_SCH_RED
+ FILES:=$(LINUX_DIR)/net/sched/sch_red.ko
+ AUTOLOAD:=$(call AutoProbe,sch_red)
+endef
+
+define KernelPackage/sched-red/description
+ Random Early Detection (RED) algorithm Configuration
+endef
+
+$(eval $(call KernelPackage,sched-red))
+
+
+define KernelPackage/bpf-test
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=Test Berkeley Packet Filter functionality
+ KCONFIG:=CONFIG_TEST_BPF
+ FILES:=$(LINUX_DIR)/lib/test_bpf.ko
+endef
+
+$(eval $(call KernelPackage,bpf-test))
+
+
+SCHED_MODULES_EXTRA = sch_codel sch_dsmark sch_gred sch_multiq sch_sfq sch_teql sch_fq act_pedit act_simple act_csum em_cmp em_nbyte em_meta em_text
+SCHED_FILES_EXTRA = $(foreach mod,$(SCHED_MODULES_EXTRA),$(LINUX_DIR)/net/sched/$(mod).ko)
+