1#!/bin/bash 2# SPDX-License-Identifier: GPL-2.0 3 4source ppp_common.sh 5 6# Temporary files for PTY symlinks 7TTY_DIR=$(mktemp -d /tmp/ppp.XXXXXX) 8TTY_SERVER="$TTY_DIR"/server 9TTY_CLIENT="$TTY_DIR"/client 10 11# shellcheck disable=SC2329 12cleanup() { 13 cleanup_all_ns 14 [ -n "$SOCAT_PID" ] && kill_process "$SOCAT_PID" 15 rm -fr "$TTY_DIR" 16} 17 18trap cleanup EXIT 19 20ppp_common_init 21modprobe -q ppp_async 22 23# Create the virtual serial device 24socat -d PTY,link="$TTY_SERVER",rawer PTY,link="$TTY_CLIENT",rawer & 25SOCAT_PID=$! 26 27# Wait for symlinks to be created 28slowwait 5 [ -L "$TTY_SERVER" ] 29 30# Start the PPP Server 31ip netns exec "$NS_SERVER" pppd "$TTY_SERVER" 115200 \ 32 "$IP_SERVER":"$IP_CLIENT" \ 33 local noauth nodefaultroute debug 34 35# Start the PPP Client 36ip netns exec "$NS_CLIENT" pppd "$TTY_CLIENT" 115200 \ 37 local noauth updetach nodefaultroute debug 38 39ppp_test_connectivity 40 41log_test "PPP async" 42 43exit "$EXIT_STATUS" 44