1#!/bin/sh 2# SPDX-License-Identifier: GPL-2.0-or-later 3# Copyright (c) 2019 Petr Vorel <pvorel@suse.cz> 4 5TST_TESTFUNC=do_test 6TST_CNT=2 7 8PATH="$(dirname $0)/../../../../testcases/lib/:$PATH" 9 10TST_NET_SKIP_VARIABLE_INIT=1 11 12# from tst_net_vars.c 13IPV4_NET16_UNUSED="10.23" 14IPV6_NET32_UNUSED="fd00:23" 15 16 17IPV4_DATA=" 180 0|10.23.0.0 190 1|10.23.0.1 201 0|10.23.1.0 211 1|10.23.1.1 221 2|10.23.1.2 232 2|10.23.2.2 241 3|10.23.1.3 253 3|10.23.3.3 261 128|10.23.1.128 27128 128|10.23.128.128 281 254|10.23.1.254 29254 254|10.23.254.254 301 255|10.23.1.255 31255 255|10.23.255.255 321 256|10.23.1.0 33256 256|10.23.0.0 341 257|10.23.1.1 35257 257|10.23.1.1 36 37-c 0|10.23.0.2 38-c 0 lhost|10.23.0.2 39-c 0 rhost|10.23.0.1 40 41-c 1|10.23.0.2 42-c 1 rhost|10.23.0.1 43-c 2|10.23.0.4 44-c 2 rhost|10.23.0.3 45-c 127|10.23.0.254 46-c 127 rhost|10.23.0.253 47-c 128|10.23.1.2 48-c 128 rhost|10.23.1.1 49-c 254|10.23.1.254 50-c 254 rhost|10.23.1.253 51-c 255|10.23.2.2 52-c 255 rhost|10.23.2.1 53 54-c 0 -h1,255|10.23.0.2 55-c 0 -h1,255 rhost|10.23.0.1 56-c 1 -h1,255|10.23.0.2 57-c 1 -h1,255 rhost|10.23.0.1 58-c 127 -h1,255|10.23.0.254 59-c 127 -h1,255 rhost|10.23.0.253 60-c 128 -h1,255|10.23.1.1 61-c 128 -h1,255 rhost|10.23.0.255 62-c 255 -h1,255|10.23.1.255 63-c 255 -h1,255 rhost|10.23.1.254 64-c 256 -h1,255|10.23.2.2 65-c 256 -h1,255 rhost|10.23.2.1 66 67-c1 -h 2,8 -n 2,8|10.23.2.3 68-c1 -h 2,8 -n 2,8 rhost|10.23.2.2 69-c2 -h 2,8 -n 2,8|10.23.2.5 70-c2 -h 2,8 -n 2,8 rhost|10.23.2.4 71 72-c1 -n 22,44|10.23.22.2 73-c1 -n 22,44 rhost|10.23.22.1 74-c2 -n 22,44|10.23.22.4 75-c2 -n 22,44 rhost|10.23.22.3 76" 77 78IPV6_DATA=" 790 0|fd00:23:: 800 1|fd00:23::1 811 0|fd00:23:1:: 821 1|fd00:23:1::1 831 2|fd00:23:1::2 842 2|fd00:23:2::2 851 3|fd00:23:1::3 863 3|fd00:23:3::3 871 32767|fd00:23:1::7fff 8832767 32767|fd00:23:7fff::7fff 891 65534|fd00:23:1::fffe 9065534 65534|fd00:23:fffe::fffe 911 65535|fd00:23:1::ffff 9265535 65535|fd00:23:ffff::ffff 931 65536|fd00:23:1:: 9465536 65536|fd00:23:: 951 65537|fd00:23:1::1 9665537 65537|fd00:23:1::1 97 98-c 0|fd00:23::2 99-c 0 lhost|fd00:23::2 100-c 0 rhost|fd00:23::1 101 102-c 1|fd00:23::2 103-c 1 rhost|fd00:23::1 104-c 2|fd00:23::4 105-c 2 rhost|fd00:23::3 106-c 32767|fd00:23::fffe 107-c 32767 rhost|fd00:23::fffd 108-c 32768|fd00:23:1::2 109-c 32768 rhost|fd00:23:1::1 110-c 65534|fd00:23:1::fffe 111-c 65534 rhost|fd00:23:1::fffd 112-c 65535|fd00:23:2::2 113-c 65535 rhost|fd00:23:2::1 114 115-c 0 -h1,65535|fd00:23::2 116-c 0 -h1,65535 rhost|fd00:23::1 117-c 1 -h1,65535|fd00:23::2 118-c 1 -h1,65535 rhost|fd00:23::1 119-c 32767 -h1,65535|fd00:23::fffe 120-c 32767 -h1,65535 rhost|fd00:23::fffd 121-c 32768 -h1,65535|fd00:23:1::1 122-c 32768 -h1,65535 rhost|fd00:23::ffff 123-c 65535 -h1,65535|fd00:23:1::ffff 124-c 65535 -h1,65535 rhost|fd00:23:1::fffe 125-c 65536 -h1,65535|fd00:23:2::2 126-c 65536 -h1,65535 rhost|fd00:23:2::1 127 128-c1 -h 2,8 -n 2,8|fd00:23:2::3 129-c1 -h 2,8 -n 2,8 rhost|fd00:23:2::2 130-c2 -h 2,8 -n 2,8|fd00:23:2::5 131-c2 -h 2,8 -n 2,8 rhost|fd00:23:2::4 132 133-c1 -n 22,44|fd00:23:16::2 134-c1 -n 22,44 rhost|fd00:23:16::1 135-c2 -n 22,44|fd00:23:16::4 136-c2 -n 22,44 rhost|fd00:23:16::3 137" 138 139test_tst_ipaddr_un() 140{ 141 local data cmd i result 142 local var="$1" 143 144 tst_res TINFO "Testing for IPv${TST_IPVER}, data: \$$var" 145 146 eval data="\$$var" 147 IFS=" 148" 149 for i in $data; do 150 cmd="tst_ipaddr_un $(echo $i | cut -d'|' -f 1)" 151 result="$(echo $i | cut -d'|' -f 2)" 152 tst_res TINFO "testing $cmd" 153 EXPECT_PASS "[ '$(eval $cmd)' = '$result' ]" 154 done 155} 156 157do_test2() 158{ 159 test_tst_ipaddr_un "IPV${TST_IPVER}_DATA" 160} 161 162do_test() 163{ 164 case $1 in 165 1) TST_IPV6= TST_IPVER=4 do_test2;; 166 2) TST_IPV6=6 TST_IPVER=6 do_test2;; 167 esac 168} 169 170. tst_net.sh 171tst_run 172