OUTER_IP_CLIENT="172.16.1.2"
PPPOL2TP_DIR=$(mktemp -d /tmp/pppol2tp.XXXXXX)
+PPPOL2TP_LOG="$PPPOL2TP_DIR/l2tp.log"
# shellcheck disable=SC2329
cleanup() {
cleanup_all_ns
+ [ -n "$SOCAT_PID" ] && kill_process "$SOCAT_PID"
rm -rf "$PPPOL2TP_DIR"
}
ip -netns "$NS_SERVER" address add dev "$VETH_SERVER" "$OUTER_IP_SERVER" peer "$OUTER_IP_CLIENT"
ip -netns "$NS_CLIENT" address add dev "$VETH_CLIENT" "$OUTER_IP_CLIENT" peer "$OUTER_IP_SERVER"
+# Start socat as syslog listener
+socat -v -u UNIX-RECV:/dev/log OPEN:/dev/null > "$PPPOL2TP_LOG" 2>&1 &
+SOCAT_PID=$!
+
# Generate configuration files
cat > "$PPPOL2TP_DIR/l2tp-server.conf" <<EOF
[global]
log_test "PPPoL2TP Recursion"
+# Dump syslog messages if the test failed
+if [ "$EXIT_STATUS" -ne 0 ]; then
+ while read -r _sign _date _time len _from _to
+ do len=${len##*=}
+ read -n "$len" -r LINE
+ echo "$LINE"
+ done < "$PPPOL2TP_LOG"
+fi
+
exit "$EXIT_STATUS"