br2684ctl 999 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #!/bin/sh /etc/rc.common
  2. START=50
  3. start_daemon() {
  4. local cfg="$1"
  5. local atmdev
  6. config_get atmdev "$cfg" atmdev 0
  7. local unit
  8. config_get unit "$cfg" unit 0
  9. local vpi
  10. config_get vpi "$cfg" vpi 8
  11. local vci
  12. config_get vci "$cfg" vci 35
  13. local encaps
  14. config_get encaps "$cfg" encaps
  15. case "$encaps" in
  16. 1|vc) encaps=1;;
  17. *) encaps=0;;
  18. esac
  19. local payload
  20. config_get payload "$cfg" payload
  21. case "$payload" in
  22. 0|routed) payload=0;;
  23. *) payload=1;;
  24. esac
  25. local qos
  26. config_get qos "$cfg" qos
  27. local circuit="$atmdev.$vpi.$vci"
  28. local pid="/var/run/br2684ctl-$circuit.pid"
  29. start-stop-daemon -S -b -x /usr/sbin/br2684ctl -m -p "$pid" -- \
  30. -c "$unit" -e "$encaps" -p "$payload" \
  31. -a "$circuit" ${qos:+-q "$qos"}
  32. }
  33. start() {
  34. insmod br2684 >/dev/null 2>/dev/null
  35. config_load network
  36. config_foreach start_daemon atm-bridge
  37. }
  38. stop() {
  39. local pid
  40. for pid in /var/run/br2684ctl-*.pid; do
  41. if [ -f "$pid" ]; then
  42. service_kill br2684ctl "$pid"
  43. rm -f "$pid"
  44. fi
  45. done
  46. }