xref: /linux/tools/testing/selftests/net/packetdrill/ksft_runner.sh (revision 62a0e2fa40c5c06742b8b4997ba5095a3ec28503)
18a405552SWillem de Bruijn#!/bin/bash
28a405552SWillem de Bruijn# SPDX-License-Identifier: GPL-2.0
38a405552SWillem de Bruijn
48a405552SWillem de Bruijnsource "$(dirname $(realpath $0))/../../kselftest/ktap_helpers.sh"
58a405552SWillem de Bruijn
68a405552SWillem de Bruijnreadonly ipv4_args=('--ip_version=ipv4 '
78a405552SWillem de Bruijn		    '--local_ip=192.168.0.1 '
88a405552SWillem de Bruijn		    '--gateway_ip=192.168.0.1 '
98a405552SWillem de Bruijn		    '--netmask_ip=255.255.0.0 '
108a405552SWillem de Bruijn		    '--remote_ip=192.0.2.1 '
118a405552SWillem de Bruijn		    '-D CMSG_LEVEL_IP=SOL_IP '
128a405552SWillem de Bruijn		    '-D CMSG_TYPE_RECVERR=IP_RECVERR ')
138a405552SWillem de Bruijn
148a405552SWillem de Bruijnreadonly ipv6_args=('--ip_version=ipv6 '
158a405552SWillem de Bruijn		    '--mtu=1520 '
168a405552SWillem de Bruijn		    '--local_ip=fd3d:0a0b:17d6::1 '
178a405552SWillem de Bruijn		    '--gateway_ip=fd3d:0a0b:17d6:8888::1 '
188a405552SWillem de Bruijn		    '--remote_ip=fd3d:fa7b:d17d::1 '
198a405552SWillem de Bruijn		    '-D CMSG_LEVEL_IP=SOL_IPV6 '
208a405552SWillem de Bruijn		    '-D CMSG_TYPE_RECVERR=IPV6_RECVERR ')
218a405552SWillem de Bruijn
228a405552SWillem de Bruijnif [ $# -ne 1 ]; then
238a405552SWillem de Bruijn	ktap_exit_fail_msg "usage: $0 <script>"
248a405552SWillem de Bruijn	exit "$KSFT_FAIL"
258a405552SWillem de Bruijnfi
268a405552SWillem de Bruijnscript="$1"
278a405552SWillem de Bruijn
288a405552SWillem de Bruijnif [ -z "$(which packetdrill)" ]; then
298a405552SWillem de Bruijn	ktap_skip_all "packetdrill not found in PATH"
308a405552SWillem de Bruijn	exit "$KSFT_SKIP"
318a405552SWillem de Bruijnfi
328a405552SWillem de Bruijn
33*72ef0755SWillem de Bruijndeclare -a optargs
34*72ef0755SWillem de Bruijnif [[ -n "${KSFT_MACHINE_SLOW}" ]]; then
35*72ef0755SWillem de Bruijn	optargs+=('--tolerance_usecs=14000')
36*72ef0755SWillem de Bruijnfi
37*72ef0755SWillem de Bruijn
388a405552SWillem de Bruijnktap_print_header
398a405552SWillem de Bruijnktap_set_plan 2
408a405552SWillem de Bruijn
41*72ef0755SWillem de Bruijnunshare -n packetdrill ${ipv4_args[@]} ${optargs[@]} $(basename $script) > /dev/null \
428a405552SWillem de Bruijn	&& ktap_test_pass "ipv4" || ktap_test_fail "ipv4"
43*72ef0755SWillem de Bruijnunshare -n packetdrill ${ipv6_args[@]} ${optargs[@]} $(basename $script) > /dev/null \
448a405552SWillem de Bruijn	&& ktap_test_pass "ipv6" || ktap_test_fail "ipv6"
458a405552SWillem de Bruijn
468a405552SWillem de Bruijnktap_finished
47