Annotation of src/tests/net/net_common.sh, Revision 1.3
1.3 ! ozaki-r 1: # $NetBSD: net_common.sh,v 1.2 2016/11/24 09:03:53 ozaki-r Exp $
1.1 ozaki-r 2: #
3: # Copyright (c) 2016 Internet Initiative Japan Inc.
4: # All rights reserved.
5: #
6: # Redistribution and use in source and binary forms, with or without
7: # modification, are permitted provided that the following conditions
8: # are met:
9: # 1. Redistributions of source code must retain the above copyright
10: # notice, this list of conditions and the following disclaimer.
11: # 2. Redistributions in binary form must reproduce the above copyright
12: # notice, this list of conditions and the following disclaimer in the
13: # documentation and/or other materials provided with the distribution.
14: #
15: # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
16: # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
17: # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18: # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
19: # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20: # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21: # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22: # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23: # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24: # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25: # POSSIBILITY OF SUCH DAMAGE.
26: #
27:
28: #
29: # Common utility functions for tests/net
30: #
31:
1.2 ozaki-r 32: HIJACKING="env LD_PRELOAD=/usr/lib/librumphijack.so RUMPHIJACK=sysctl=yes"
33:
1.1 ozaki-r 34: extract_new_packets()
35: {
36: local bus=$1
37: local old=./.__old
38:
39: if [ ! -f $old ]; then
40: old=/dev/null
41: fi
42:
43: shmif_dumpbus -p - $bus 2>/dev/null| \
44: tcpdump -n -e -r - 2>/dev/null > ./.__new
45: diff -u $old ./.__new |grep '^+' |cut -d '+' -f 2 > ./.__diff
46: mv -f ./.__new ./.__old
47: cat ./.__diff
48: }
49:
1.3 ! ozaki-r 50: check_route()
! 51: {
! 52: local target=$1
! 53: local gw=$2
! 54: local flags=${3:-\.\+}
! 55: local ifname=${4:-\.\+}
! 56:
! 57: target=$(echo $target |sed 's/\./\\./g')
! 58: if [ "$gw" = "" ]; then
! 59: gw=".+"
! 60: else
! 61: gw=$(echo $gw |sed 's/\./\\./g')
! 62: fi
! 63:
! 64: atf_check -s exit:0 -e ignore \
! 65: -o match:"^$target +$gw +$flags +- +- +.+ +$ifname" \
! 66: rump.netstat -rn
! 67: }
! 68:
! 69: check_route_flags()
! 70: {
! 71:
! 72: check_route "$1" "" "$2" ""
! 73: }
! 74:
! 75: check_route_gw()
! 76: {
! 77:
! 78: check_route "$1" "$2" "" ""
! 79: }
! 80:
! 81: check_route_no_entry()
! 82: {
! 83: local target=$(echo $1 |sed 's/\./\\./g')
! 84:
! 85: atf_check -s exit:0 -e ignore -o not-match:"^$target" \
! 86: rump.netstat -rn
! 87: }
CVSweb <webmaster@jp.NetBSD.org>