1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #! /bin/sh
- # PROVIDE: cjdroute
- # REQUIRE: networking
- # KEYWORD: shutdown
- # Add the following line to /etc/rc.conf to enable cjdroute:
- # cjdroute_enable="YES"
- . /etc/rc.subr
- name="cjdroute"
- rcvar="cjdroute_enable"
- load_rc_config $name
- : ${cjdroute_config:=/usr/local/etc/cjdroute.conf}
- command="/usr/local/bin/cjdroute"
- command_args=" < ${cjdroute_config}"
- start_cmd="${name}_start"
- stop_cmd="${name}_stop"
- test ! -d /var/run/cjdroute/ && mkdir /var/run/cjdroute/
- if_cjd="$(cat /usr/local/etc/cjdroute.conf | egrep -o '"tunDevice": "t[a,u][p,n][0-9]{1,2}"' | egrep -o 't[a,u][p,n][0-9]{1,2}')"
- cjdroute_start() {
- test ! -f /usr/local/etc/cjdroute.conf && (
- logger -s -t cjdroute "Generate a configuration in /usr/local/etc/cjdroute.conf"
- exit 1
- )
- if [ "$if_cjd" = "" ]; then logger -s -t cjdroute "Tunnel adapter not found. Specify adapter name in cjdroute.conf."; exit 1; fi
- /sbin/ifconfig $if_cjd >/dev/null 2>&1
- if [ "$?" = 0 ] ; then ifconfig $if_cjd destroy; fi
- /sbin/ifconfig $if_cjd create || logger -s -t cjdroute "Failed to create ${if_cjd} adapter"
- /usr/local/bin/cjdroute < /usr/local/etc/cjdroute.conf &
- /sbin/route -6 add fc00::/8 -iface $if_cjd
- }
- cjdroute_stop() {
- logger -s -t cjdroute "Stopping cjdroute"
- if [ "$rc_pid" != "" ]; then
- kill -TERM $rc_pid ; fi
- /sbin/ifconfig $if_cjd >/dev/null 1>/dev/null 2>dev/null
- if [ "$?" = 0 ]; then /sbin/ifconfig $if_cjd destroy || logger -s -t cjdroute "Failed to destroy $if_cjd adapter"; fi
- }
- load_rc_config $name
- : ${cjdroute_enable:=no}
- run_rc_command "$1"
|