br2684ctl 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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 sendsize
  28. config_get sendsize "$cfg" sendsize
  29. local circuit="$atmdev.$vpi.$vci"
  30. local pid="/var/run/br2684ctl-$circuit.pid"
  31. start-stop-daemon -S -b -x /usr/sbin/br2684ctl -m -p "$pid" -- \
  32. -c "$unit" -e "$encaps" -p "$payload" \
  33. -a "$circuit" ${qos:+-q "$qos"} ${sendsize:+-s "$sendsize"}
  34. }
  35. start() {
  36. insmod br2684 >/dev/null 2>/dev/null
  37. config_load network
  38. config_foreach start_daemon atm-bridge
  39. }
  40. stop() {
  41. local pid
  42. for pid in /var/run/br2684ctl-*.pid; do
  43. if [ -f "$pid" ]; then
  44. service_kill br2684ctl "$pid"
  45. rm -f "$pid"
  46. fi
  47. done
  48. }