tools/testing/selftests/net/ppp/ppp_async.sh

Source file repositories/reference/linux-study-clean/tools/testing/selftests/net/ppp/ppp_async.sh

File Facts

System
Linux kernel
Corpus path
tools/testing/selftests/net/ppp/ppp_async.sh
Extension
.sh
Size
903 bytes
Lines
44
Domain
Support Tooling And Documentation
Bucket
tools
Inferred role
Support Tooling And Documentation: tools
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

#!/bin/bash
# SPDX-License-Identifier: GPL-2.0

source ppp_common.sh

# Temporary files for PTY symlinks
TTY_DIR=$(mktemp -d /tmp/ppp.XXXXXX)
TTY_SERVER="$TTY_DIR"/server
TTY_CLIENT="$TTY_DIR"/client

# shellcheck disable=SC2329
cleanup() {
	cleanup_all_ns
	[ -n "$SOCAT_PID" ] && kill_process "$SOCAT_PID"
	rm -fr "$TTY_DIR"
}

trap cleanup EXIT

ppp_common_init
modprobe -q ppp_async

# Create the virtual serial device
socat -d PTY,link="$TTY_SERVER",rawer PTY,link="$TTY_CLIENT",rawer &
SOCAT_PID=$!

# Wait for symlinks to be created
slowwait 5 [ -L "$TTY_SERVER" ]

# Start the PPP Server
ip netns exec "$NS_SERVER" pppd "$TTY_SERVER" 115200 \
	"$IP_SERVER":"$IP_CLIENT" \
	local noauth nodefaultroute debug

# Start the PPP Client
ip netns exec "$NS_CLIENT" pppd "$TTY_CLIENT" 115200 \
	local noauth updetach nodefaultroute debug

ppp_test_connectivity

log_test "PPP async"

exit "$EXIT_STATUS"

Annotation

Implementation Notes