From 8d7b67dcc1e0f49d11bb98614dc1aad30ddfb4a1 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Tue, 29 Dec 2009 22:25:14 +0100 Subject: make vlan configuration work with ifup/ifdown --- .../extra/etc/network/if-pre-up.d/03-bridge | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100755 package/base-files/extra/etc/network/if-pre-up.d/03-bridge (limited to 'package/base-files/extra/etc/network/if-pre-up.d/03-bridge') diff --git a/package/base-files/extra/etc/network/if-pre-up.d/03-bridge b/package/base-files/extra/etc/network/if-pre-up.d/03-bridge new file mode 100755 index 000000000..41ddb2b58 --- /dev/null +++ b/package/base-files/extra/etc/network/if-pre-up.d/03-bridge @@ -0,0 +1,29 @@ +#!/bin/sh + +[ -x /usr/sbin/brctl ] || exit 0 + +case "$IF_BRIDGE_PORTS" in + "") + exit 0 + ;; + none) + INTERFACES="" + ;; + *) + INTERFACES="$IF_BRIDGE_PORTS" + ;; +esac + +brctl addbr $IFACE || exit 1 + +for IF in $INTERFACES; do + if ! grep -q $IF /proc/net/dev; then + echo "Error: interface '$IF' does not exist!" + brctl delbr $IFACE + exit 1 + fi + brctl addif $IFACE $IF + ip link set up dev $IF +done + +exit 0 -- cgit v1.2.3