03-bridge 530 B

1234567891011121314151617181920212223242526272829303132
  1. #!/bin/sh
  2. [ -x /usr/sbin/brctl ] || exit 0
  3. case "$IF_BRIDGE_PORTS" in
  4. "")
  5. exit 0
  6. ;;
  7. none)
  8. INTERFACES=""
  9. ;;
  10. *)
  11. INTERFACES="$IF_BRIDGE_PORTS"
  12. ;;
  13. esac
  14. brctl addbr $IFACE || exit 1
  15. if [ "$IF_BRIDGE_FD" != "" ]; then
  16. brctl setfd $IFACE $IF_BRIDGE_FD
  17. fi
  18. for IF in $INTERFACES; do
  19. if ! grep -q $IF /proc/net/dev; then
  20. echo "Error: interface '$IF' does not exist!"
  21. brctl delbr $IFACE
  22. exit 1
  23. fi
  24. brctl addif $IFACE $IF
  25. ip link set up dev $IF
  26. done
  27. exit 0