kernel: netsupport: Add FQ-PIE as an optional sched kmod and extract PIE
authorKabuli Chana <newtownBuild@gmail.com>
Sun, 7 Aug 2022 23:05:51 +0000 (17:05 -0600)
committerChristian Marangi <ansuelsmth@gmail.com>
Tue, 13 Sep 2022 20:25:41 +0000 (22:25 +0200)
add Flow Queuing with Proportional Integral controller Enhanced (FQ-PIE) as an
optional kmod in network support and extract sched-pie from kmod-sched to
allow dependency on just kmod-sched-pie (PIE).

Signed-off-by: Kabuli Chana <newtownBuild@gmail.com>
package/kernel/linux/modules/netsupport.mk

index be0347527d18fbd8a203f9f4ce9c862e2f7b128b..9afee41aedf9d3a62de3f6b345d05853b492b998 100644 (file)
@@ -892,6 +892,22 @@ 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
@@ -922,6 +938,22 @@ 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)
@@ -964,7 +996,7 @@ endef
 $(eval $(call KernelPackage,bpf-test))
 
 
-SCHED_MODULES_EXTRA = sch_codel sch_dsmark sch_gred sch_multiq sch_sfq sch_teql sch_fq sch_pie act_pedit act_simple act_csum em_cmp em_nbyte em_meta em_text
+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)
 
 define KernelPackage/sched
@@ -979,7 +1011,6 @@ define KernelPackage/sched
        CONFIG_NET_SCH_SFQ \
        CONFIG_NET_SCH_TEQL \
        CONFIG_NET_SCH_FQ \
-       CONFIG_NET_SCH_PIE \
        CONFIG_NET_ACT_PEDIT \
        CONFIG_NET_ACT_SIMP \
        CONFIG_NET_ACT_CSUM \