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)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 5 Nov 2022 21:58:23 +0000 (22:58 +0100)
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>
(cherry picked from commit c3e4a0d99b972b91dd65f535365b9b71fcb541ae)

package/kernel/linux/modules/netsupport.mk

index 380f53db7b183c3c731dd10834095c8b3d3ac9d8..f077947a9232c5d1799fbc394e117c1fe921c25d 100644 (file)
@@ -924,6 +924,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
@@ -954,6 +970,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)
@@ -996,7 +1028,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
@@ -1011,7 +1043,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 \