[BACK]Return to net_common.sh CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / tests / net

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>