xref: /linux/tools/testing/selftests/net/packetdrill/ksft_runner.sh (revision 8a405552fd3b1eefe186e724343e88790f6be832)
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