kernel/modules: relocate teql hotplug from iproute2 to kmod-sched
The link equalizer sch_teql.ko of package kmod-sched relies on a hotplug
script historically included in iproute2's tc package. In previous
discussion [1], consensus was the hotplug script is best located together
with the module in kmod-sched, but this change was deferred at the time.
Relocate the hotplug script now. This change also simplifies adding a tc
variant for minimal size with reduced functionality.
[1] https://github.com/openwrt/openwrt/pull/1627#issuecomment-447923636
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
(cherry picked from commit 863ce4f15f)
This commit is contained in:
committed by
Hauke Mehrtens
parent
e07105303f
commit
0d5e308664
23
package/kernel/linux/files/hotplug-sched-teql.sh
Normal file
23
package/kernel/linux/files/hotplug-sched-teql.sh
Normal file
@@ -0,0 +1,23 @@
|
||||
#!/bin/sh
|
||||
|
||||
. /lib/functions.sh
|
||||
|
||||
if [ "$ACTION" != "ifup" ]; then
|
||||
exit
|
||||
fi
|
||||
|
||||
config_load network
|
||||
|
||||
config_get teql $INTERFACE teql
|
||||
|
||||
if [ "$teql" != "" ]; then
|
||||
logger Adding device $DEVICE to TEQL master $teql
|
||||
insmod sch_teql
|
||||
tc qdisc add dev $DEVICE root $teql
|
||||
|
||||
# The kernel doesn't let us bring it up until it has at least one
|
||||
# slave. So bring it up now, if it isn't already.
|
||||
if ! cat /sys/class/net/$teql/carrier &>/dev/null; then
|
||||
ifup $teql &
|
||||
fi
|
||||
fi
|
||||
@@ -916,6 +916,13 @@ define KernelPackage/sched/description
|
||||
Extra kernel schedulers modules for IP traffic
|
||||
endef
|
||||
|
||||
SCHED_TEQL_HOTPLUG:=hotplug-sched-teql.sh
|
||||
|
||||
define KernelPackage/sched/install
|
||||
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
|
||||
$(INSTALL_DATA) ./files/$(SCHED_TEQL_HOTPLUG) $(1)/etc/hotplug.d/iface/15-teql
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,sched))
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user