switch.sh 631 B

123456789101112131415161718192021222324252627282930313233
  1. #!/bin/sh
  2. # Copyright (C) 2006 OpenWrt.org
  3. setup_switch_vlan() {
  4. DIR="/proc/switch/$CONFIG_SECTION/vlan/$1"
  5. [ -d "$DIR" ] || return 0
  6. config_get ports "$CONFIG_SECTION" "vlan$1"
  7. echo "$ports" > "$DIR/ports"
  8. }
  9. setup_switch() {
  10. config_cb() {
  11. case "$1" in
  12. switch)
  13. [ -n "$2" -a -d "/proc/switch/$2" ] && {
  14. echo 1 > "/proc/switch/$2/reset"
  15. echo 1 > "/proc/switch/$2/enable"
  16. echo 1 > "/proc/switch/$2/enable_vlan"
  17. option_cb() {
  18. case "$1" in
  19. vlan*) setup_switch_vlan "${1##vlan}";;
  20. esac
  21. }
  22. }
  23. ;;
  24. *)
  25. option_cb() { return 0; }
  26. ;;
  27. esac
  28. }
  29. config_load network
  30. }