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