summaryrefslogtreecommitdiff
path: root/package/base-files/extra/etc/network/if-pre-up.d/02-bridge
blob: 766084de1d041e74dda4daccaff9977e3d03bf1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/bin/sh

if [ ! -x /usr/sbin/brctl ]
then
  exit 0
fi

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