From a3ce874ed1e5a8f24ad356a2f4381676e6cf77fd Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Mon, 16 Apr 2012 15:04:42 +0000 Subject: [PATCH] iproute2: Add hotplug script to add slave devices to TEQL master Resolves https://dev.openwrt.org/ticket/11192 Signed-off-by: David Woodhouse git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31311 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/iproute2/Makefile | 4 +++- package/iproute2/files/30-teql | 23 +++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 package/iproute2/files/30-teql diff --git a/package/iproute2/Makefile b/package/iproute2/Makefile index 3b442583ed..0a2f411533 100644 --- a/package/iproute2/Makefile +++ b/package/iproute2/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=iproute2 PKG_VERSION:=3.2.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://kernel.org/pub/linux/utils/net/iproute2/ @@ -96,6 +96,8 @@ endef define Package/tc/install $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_BUILD_DIR)/tc/tc $(1)/usr/sbin/ + $(INSTALL_DIR) $(1)/etc/hotplug.d/iface + $(INSTALL_BIN) ./files/30-teql $(1)/etc/hotplug.d/iface/ endef define Package/genl/install diff --git a/package/iproute2/files/30-teql b/package/iproute2/files/30-teql new file mode 100644 index 0000000000..231c09fa7b --- /dev/null +++ b/package/iproute2/files/30-teql @@ -0,0 +1,23 @@ +#!/bin/sh + +. /etc/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