xref: /netbsd-src/tests/rump/rumpnet/t_shmif.sh (revision 2d9724251132acb5890b4723cba15d1d6a35e8c9)
1*2d972425Sgson#	$NetBSD: t_shmif.sh,v 1.5 2020/09/09 09:17:14 gson Exp $
2bbc76361Spooka#
3bbc76361Spooka# Copyright (c) 2011 The NetBSD Foundation, Inc.
4bbc76361Spooka# All rights reserved.
5bbc76361Spooka#
6bbc76361Spooka# Redistribution and use in source and binary forms, with or without
7bbc76361Spooka# modification, are permitted provided that the following conditions
8bbc76361Spooka# are met:
9bbc76361Spooka# 1. Redistributions of source code must retain the above copyright
10bbc76361Spooka#    notice, this list of conditions and the following disclaimer.
11bbc76361Spooka# 2. Redistributions in binary form must reproduce the above copyright
12bbc76361Spooka#    notice, this list of conditions and the following disclaimer in the
13bbc76361Spooka#    documentation and/or other materials provided with the distribution.
14bbc76361Spooka#
15bbc76361Spooka# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
16bbc76361Spooka# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
17bbc76361Spooka# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18bbc76361Spooka# PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
19bbc76361Spooka# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20bbc76361Spooka# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21bbc76361Spooka# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22bbc76361Spooka# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23bbc76361Spooka# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24bbc76361Spooka# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25bbc76361Spooka# POSSIBILITY OF SUCH DAMAGE.
26bbc76361Spooka#
27bbc76361Spooka
28bbc76361Spookaatf_test_case crossping cleanup
29bbc76361Spooka
308b99c7c8SpookaNKERN=8
318b99c7c8Spooka
32bbc76361Spookacrossping_head()
33bbc76361Spooka{
348b99c7c8Spooka	atf_set "descr" "run $NKERN rump kernels on one shmif bus and crossping"
35bbc76361Spooka}
36bbc76361Spooka
37bbc76361Spookastartserver()
38bbc76361Spooka{
39bbc76361Spooka
40bbc76361Spooka	export RUMP_SERVER=unix://sock${1}
41bbc76361Spooka	atf_check -s exit:0 rump_server -lrumpnet -lrumpnet_net \
4248e354a3Sbad	    -lrumpnet_netinet -lrumpnet_shmif ${RUMP_SERVER}
43bbc76361Spooka	atf_check -s exit:0 rump.ifconfig shmif0 create
44bbc76361Spooka	atf_check -s exit:0 rump.ifconfig shmif0 linkstr shmbus
45bbc76361Spooka	atf_check -s exit:0 rump.ifconfig shmif0 inet 1.1.1.${1}
46bbc76361Spooka}
47bbc76361Spooka
48bbc76361Spookapingothers()
49bbc76361Spooka{
50bbc76361Spooka
51bbc76361Spooka}
52bbc76361Spooka
53bbc76361Spookacrossping_body()
54bbc76361Spooka{
55bbc76361Spooka
568b99c7c8Spooka	for x in `jot ${NKERN}` ; do startserver $x ; done
578b99c7c8Spooka	for x in `jot ${NKERN}`
58bbc76361Spooka	do
59bbc76361Spooka		export RUMP_SERVER=unix://sock${x}
608b99c7c8Spooka		for y in `jot ${NKERN}`
61bbc76361Spooka		do
62bbc76361Spooka			[ ${y} -eq ${x} ] && continue
63bbc76361Spooka			atf_check -s exit:0 -o ignore -e ignore \
64*2d972425Sgson			    rump.ping -n -c 1 1.1.1.${y}
65bbc76361Spooka		done
66bbc76361Spooka	done
67bbc76361Spooka}
68bbc76361Spooka
69bbc76361Spookacrossping_cleanup()
70bbc76361Spooka{
71bbc76361Spooka
728b99c7c8Spooka	for x in `jot ${NKERN}` ; do RUMP_SERVER=unix://sock${x} rump.halt ;done
73bbc76361Spooka	:
74bbc76361Spooka}
75bbc76361Spooka
76bbc76361Spookaatf_init_test_cases()
77bbc76361Spooka{
78bbc76361Spooka
79bbc76361Spooka	atf_add_test_case crossping
80bbc76361Spooka}
81