1*8a405552SWillem de Bruijn#!/bin/bash 2*8a405552SWillem de Bruijn# SPDX-License-Identifier: GPL-2.0 3*8a405552SWillem de Bruijn 4*8a405552SWillem de Bruijnsource "$(dirname $(realpath $0))/../../kselftest/ktap_helpers.sh" 5*8a405552SWillem de Bruijn 6*8a405552SWillem de Bruijnreadonly ipv4_args=('--ip_version=ipv4 ' 7*8a405552SWillem de Bruijn '--local_ip=192.168.0.1 ' 8*8a405552SWillem de Bruijn '--gateway_ip=192.168.0.1 ' 9*8a405552SWillem de Bruijn '--netmask_ip=255.255.0.0 ' 10*8a405552SWillem de Bruijn '--remote_ip=192.0.2.1 ' 11*8a405552SWillem de Bruijn '-D CMSG_LEVEL_IP=SOL_IP ' 12*8a405552SWillem de Bruijn '-D CMSG_TYPE_RECVERR=IP_RECVERR ') 13*8a405552SWillem de Bruijn 14*8a405552SWillem de Bruijnreadonly ipv6_args=('--ip_version=ipv6 ' 15*8a405552SWillem de Bruijn '--mtu=1520 ' 16*8a405552SWillem de Bruijn '--local_ip=fd3d:0a0b:17d6::1 ' 17*8a405552SWillem de Bruijn '--gateway_ip=fd3d:0a0b:17d6:8888::1 ' 18*8a405552SWillem de Bruijn '--remote_ip=fd3d:fa7b:d17d::1 ' 19*8a405552SWillem de Bruijn '-D CMSG_LEVEL_IP=SOL_IPV6 ' 20*8a405552SWillem de Bruijn '-D CMSG_TYPE_RECVERR=IPV6_RECVERR ') 21*8a405552SWillem de Bruijn 22*8a405552SWillem de Bruijnif [ $# -ne 1 ]; then 23*8a405552SWillem de Bruijn ktap_exit_fail_msg "usage: $0 <script>" 24*8a405552SWillem de Bruijn exit "$KSFT_FAIL" 25*8a405552SWillem de Bruijnfi 26*8a405552SWillem de Bruijnscript="$1" 27*8a405552SWillem de Bruijn 28*8a405552SWillem de Bruijnif [ -z "$(which packetdrill)" ]; then 29*8a405552SWillem de Bruijn ktap_skip_all "packetdrill not found in PATH" 30*8a405552SWillem de Bruijn exit "$KSFT_SKIP" 31*8a405552SWillem de Bruijnfi 32*8a405552SWillem de Bruijn 33*8a405552SWillem de Bruijnktap_print_header 34*8a405552SWillem de Bruijnktap_set_plan 2 35*8a405552SWillem de Bruijn 36*8a405552SWillem de Bruijnpacketdrill ${ipv4_args[@]} $(basename $script) > /dev/null \ 37*8a405552SWillem de Bruijn && ktap_test_pass "ipv4" || ktap_test_fail "ipv4" 38*8a405552SWillem de Bruijnpacketdrill ${ipv6_args[@]} $(basename $script) > /dev/null \ 39*8a405552SWillem de Bruijn && ktap_test_pass "ipv6" || ktap_test_fail "ipv6" 40*8a405552SWillem de Bruijn 41*8a405552SWillem de Bruijnktap_finished 42