| #!/bin/bash | |
| # SPDX-License-Identifier: GPL-2.0 | |
| # shellcheck disable=SC2153 | |
| source ../lib.sh | |
| IP_SERVER="192.168.200.1" | |
| IP_CLIENT="192.168.200.2" | |
| ppp_common_init() { | |
| # Package requirements | |
| require_command socat | |
| require_command pppd | |
| require_command iperf3 | |
| # Check for root privileges | |
| if [ "$(id -u)" -ne 0 ];then | |
| echo "SKIP: Need root privileges" | |
| exit "$ksft_skip" | |
| fi | |
| # Namespaces | |
| setup_ns NS_SERVER NS_CLIENT | |
| } | |
| ppp_check_addr() { | |
| dev=$1 | |
| addr=$2 | |
| ns=$3 | |
| ip -netns "$ns" -4 addr show dev "$dev" 2>/dev/null | grep -q "$addr" | |
| return $? | |
| } | |
| ppp_test_connectivity() { | |
| slowwait 10 ppp_check_addr "ppp0" "$IP_CLIENT" "$NS_CLIENT" | |
| ip netns exec "$NS_CLIENT" ping -c 3 "$IP_SERVER" | |
| check_err $? | |
| ip netns exec "$NS_SERVER" iperf3 -s -1 -D | |
| wait_local_port_listen "$NS_SERVER" 5201 tcp | |
| ip netns exec "$NS_CLIENT" iperf3 -c "$IP_SERVER" -Z -t 2 | |
| check_err $? | |
| } |