sqm-scripts: make run.sh ignore spurious incomplete hotplug ifups
During system start up pppoe devices seem to receice ifup events before the interface actually exists. This commit makes sqm's run.sh script test whether the sys files for an interface exist before actually trying to start an SQM instance on an interface. This seems to nicely avoid starting on an not fully established pppoe interface and avoids a number of error messages during startup. In addition, debug logging is disabled. Signed-off-by: Sebastian Moeller <moeller0@gmx.de>
This commit is contained in:
parent
fd62435cd4
commit
1b5afe8f46
3 changed files with 10 additions and 6 deletions
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
|||
|
||||
PKG_NAME:=sqm-scripts
|
||||
PKG_VERSION:=8
|
||||
PKG_RELEASE:=1
|
||||
PKG_RELEASE:=2
|
||||
PKG_LICENSE:=GPLv2
|
||||
|
||||
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
|
||||
|
|
|
@ -1,7 +1,3 @@
|
|||
#!/bin/sh
|
||||
|
||||
# teach SQM to re-enable itself when an interface re-appears
|
||||
logger -t SQM -s "hotplug on interface: ${DEVICE} action: ${ACTION}"
|
||||
|
||||
[ "$ACTION" = ifup ] && /usr/lib/sqm/run.sh interface ${DEVICE}
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ case ${1} in
|
|||
;;
|
||||
interface)
|
||||
START_ON_IF=$2 # only process this interface
|
||||
logger -t SQM -s "Re/starting sqm on interface ${START_ON_IF}"
|
||||
logger -t SQM -s "Trying to re-start SQM on interface ${START_ON_IF}"
|
||||
# TODO if $2 is empty just bail...
|
||||
if [ -z ${START_ON_IF} ] ;
|
||||
then
|
||||
|
@ -108,6 +108,14 @@ run_simple_qos() {
|
|||
logger -t SQM -s "${0} SQM qdiscs on ${IFACE} removed"
|
||||
return 0
|
||||
fi
|
||||
# in case of spurious hotplug events, try double check whether the interface is really up
|
||||
if [ ! -d /sys/class/net/${IFACE} ] ;
|
||||
then
|
||||
echo "${IFACE} does currently not exist, not even trying to start SQM on nothing." > /dev/kmsg
|
||||
logger -t SQM -s "${IFACE} does currently not exist, not even trying to start SQM on nothing."
|
||||
return 0
|
||||
fi
|
||||
|
||||
logger -t SQM -s "${0} Queue Setup Script: ${SCRIPT}"
|
||||
[ -x "$SCRIPT" ] && { $SCRIPT ; touch ${ACTIVE_STATE_FILE_FQN}; }
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue