-l tun://10.2.0.1 -r tun://10.2.1.0 \
-n udp \
-n black \
- -y $DEV://00:00:00:00:00:00/0829 $DEV://00:00:00:00:00:00/0839 | \
- awk '{ print "red:", $0 }' &
+ -y $DEV://00:00:00:00:00:00/0829 $DEV://00:00:00:00:00:00/0839 > ulvpn-red.log &
pids="$pids $!"
$@ \
-n tun \
-t udp://10.1.0.1:1234 -u udp://10.1.0.1:1234 \
-x $DEV://00:00:00:00:00:00/0809 $DEV://00:00:00:00:00:00/0819 \
- -n red | \
- awk '{ print "black:", $0 }' &
+ -n red > ulvpn-black.log &
+pids="$pids $!"
+
+tail -f ulvpn-red.log ulvpn-black.log &
pids="$pids $!"
sleep 4
void sig_handler (int sig)
{
- VERBOSE (ulvpn, WARNING, PRINTF ("signal: %d\n", sig));
+ VERBOSE (ulvpn, DEBUG, PRINTF ("signal: %d\n", sig));
switch (sig) {
case SIGHUP:
stat_tun_fd.rx = stat_tun_fd.tx = 0;
printf (" -V: library verbose level [%d..%d] (%d)\n", ERROR, TRACE, GET_VERBOSE_LEVEL (mapec));
printf (" -x: black CM service (%s|%s)\n", cmlocblack, cmremblack);
printf (" -y: red CM service (%s|%s)\n", cmlocred, cmremred);
+ printf ("send signal TRAP to get statistics\n");
+ printf ("send signal HUP to reset statistics\n");
printf ("%s version %s\n", progname, version);
}
/* test: ./test.sh ulvpn.exe */
/* test: ./test-rb.sh ulvpn.exe */
-/* test: ulvpn.exe -v 5 -n black -n red -t udp://\*:1234 -u udp://localhost:1235 > ulvpn.log & pid=$!; sleep 1; echo TEST | nc -Nuq0 10.2.1.1 3000; kill -USR1 $pid; sleep 1; kill -HUP $pid; sleep 1; echo TEST | nc -Nuq0 10.2.1.1 3000; kill -USR1 $pid; sleep 1; kill -TERM $pid; grep 'tun: RX' ulvpn.log | wc -l | xargs test 2 -eq */
+/* test: ulvpn.exe -v 5 -n black -n red -t udp://\*:1234 -u udp://localhost:1235 > ulvpn.log & pid=$!; sleep 1; echo TEST | nc -Nuq0 10.2.1.1 3000; kill -TRAP $pid; sleep 1; kill -HUP $pid; sleep 1; echo TEST | nc -Nuq0 10.2.1.1 3000; kill -TRAP $pid; sleep 1; kill -TERM $pid; grep 'tun: RX' ulvpn.log | wc -l | xargs test 2 -eq */
/* vim: set ts=4 sw=4 si et: */