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