1# $OpenBSD: Makefile,v 1.6 2020/12/17 00:51:12 bluhm Exp $ 2 3# Copyright (c) 2019 Alexander Bluhm <bluhm@openbsd.org> 4# 5# Permission to use, copy, modify, and distribute this software for any 6# purpose with or without fee is hereby granted, provided that the above 7# copyright notice and this permission notice appear in all copies. 8# 9# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 17# test ifconfig address configuration for ethernet and point-to-point 18 19IFCONFIG ?= ${SUDO} ${KTRACE} /sbin/ifconfig 20IFADDR = ${SUDO} ${KTRACE} ./ifaddr 21 22ETHER_IF ?= vether99 23ETHER_ADDR ?= 10.188.254.74 24ETHER_ADDR6 ?= fdd7:e83e:66bc:254::74 25ETHER_NET = ${ETHER_ADDR:C/\.[0-9][0-9]*$//} 26ETHER_NET6 = ${ETHER_ADDR6:C/::[0-9a-f:]*$/::/} 27PPP_IF ?= tun99 28PPP_ADDR ?= 10.188.253.74 29PPP_ADDR6 ?= fdd7:e83e:66bc:253::74 30PPP_DEST ?= 10.188.253.75 31PPP_DEST6 ?= fdd7:e83e:66bc:253::75 32PPP_NET = ${PPP_ADDR:C/\.[0-9][0-9]*$//} 33PPP_NET6 = ${PPP_ADDR6:C/::[0-9a-f:]*$/::/} 34 35PROG = ifaddr 36 37CLEANFILES = ifconfig.out ktrace.out 38 39### ether 40 41REGRESS_TARGETS += run-ether-addr 42run-ether-addr: 43 ${IFCONFIG} ${ETHER_IF} ${ETHER_ADDR} 44 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 45 grep 'inet ${ETHER_ADDR} ' ifconfig.out 46 47REGRESS_TARGETS += run-ether-inet 48run-ether-inet: 49 ${IFCONFIG} ${ETHER_IF} inet ${ETHER_ADDR} 50 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 51 grep 'inet ${ETHER_ADDR} ' ifconfig.out 52 53REGRESS_TARGETS += run-ether-netmask 54run-ether-netmask: 55 ${IFCONFIG} ${ETHER_IF} ${ETHER_ADDR} netmask 255.255.255.0 56 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 57 grep 'inet ${ETHER_ADDR} netmask 0xffffff00 ' ifconfig.out 58 59REGRESS_TARGETS += run-ether-contiguous-netmask 60run-ether-contiguous-netmask: 61 ${IFCONFIG} ${ETHER_IF} ${ETHER_ADDR} netmask 255.255.255.0 62 ${IFCONFIG} ${ETHER_IF} ${ETHER_ADDR} delete 63 ! ${IFCONFIG} ${ETHER_IF} ${ETHER_ADDR} netmask 255.255.255.64 64 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 65 ! grep 'inet ${ETHER_ADDR} ' ifconfig.out 66 67REGRESS_TARGETS += run-ether-len 68run-ether-len: 69 ${IFCONFIG} ${ETHER_IF} ${ETHER_ADDR}/24 70 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 71 grep 'inet ${ETHER_ADDR} netmask 0xffffff00 ' ifconfig.out 72 73REGRESS_TARGETS += run-ether-prefixlen 74run-ether-prefixlen: 75 ${IFCONFIG} ${ETHER_IF} ${ETHER_ADDR} prefixlen 24 76 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 77 grep 'inet ${ETHER_ADDR} netmask 0xffffff00 ' ifconfig.out 78 79REGRESS_TARGETS += run-ether-hexmask 80run-ether-hexmask: 81 ${IFCONFIG} ${ETHER_IF} ${ETHER_ADDR} netmask 0xffffff00 82 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 83 grep 'inet ${ETHER_ADDR} netmask 0xffffff00 ' ifconfig.out 84 85REGRESS_TARGETS += run-ether-broadcast 86run-ether-broadcast: 87 ${IFCONFIG} ${ETHER_IF} ${ETHER_ADDR}/24 88 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 89 grep 'inet ${ETHER_ADDR} .* broadcast ${ETHER_NET}.255$$' ifconfig.out 90 91REGRESS_TARGETS += run-ether-replace 92run-ether-replace: 93 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.1/24 94 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.2/24 95 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 96 ! grep 'inet ${ETHER_NET}.1 ' ifconfig.out 97 grep 'inet ${ETHER_NET}.2 ' ifconfig.out 98 99REGRESS_TARGETS += run-ether-duplicate 100run-ether-duplicate: 101 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.1/24 102 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.1/24 103 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 104 grep 'inet ${ETHER_NET}.1 ' ifconfig.out 105 grep -c 'inet ' ifconfig.out | grep -q 1 106 107REGRESS_TARGETS += run-ether-host 108run-ether-host: 109 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.1/24 110 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.1/32 111 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 112 grep 'inet ${ETHER_NET}.1 netmask 0xffffffff$$' ifconfig.out 113 grep -c 'inet ' ifconfig.out | grep -q 1 114 115REGRESS_TARGETS += run-ether-alias 116run-ether-alias: 117 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.1/24 118 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.2/24 alias 119 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 120 grep 'inet ${ETHER_NET}.1 ' ifconfig.out 121 grep 'inet ${ETHER_NET}.2 ' ifconfig.out 122 123REGRESS_TARGETS += run-ether-alias-duplicate 124run-ether-alias-duplicate: 125 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.1/24 126 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.1/24 alias 127 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 128 grep 'inet ${ETHER_NET}.1 ' ifconfig.out 129 grep -c 'inet ' ifconfig.out | grep -q 1 130 131REGRESS_TARGETS += run-ether-replace-first 132run-ether-replace-first: 133 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.1/24 134 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.2/24 alias 135 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.3/24 136 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 137 ! grep 'inet ${ETHER_NET}.1 ' ifconfig.out 138 grep 'inet ${ETHER_NET}.2 ' ifconfig.out 139 grep 'inet ${ETHER_NET}.3 ' ifconfig.out 140 141REGRESS_TARGETS += run-ether-alias-host 142run-ether-alias-host: 143 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.1/24 144 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.1/32 alias 145 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 146 grep 'inet ${ETHER_NET}.1 netmask 0xffffffff$$' ifconfig.out 147 grep -c 'inet ' ifconfig.out | grep -q 1 148 149REGRESS_TARGETS += run-ether-change-netmask 150run-ether-change-netmask: 151 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.1/24 152 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.2/24 alias 153 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.1/32 154 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 155 grep 'inet ${ETHER_NET}.1 netmask 0xffffffff$$' ifconfig.out 156 grep 'inet ${ETHER_NET}.2 ' ifconfig.out 157 grep -c 'inet ' ifconfig.out | grep -q 2 158 159REGRESS_TARGETS += run-ether-delete-netmask 160run-ether-delete-netmask: 161 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.1/24 162 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.2/24 alias 163 # XXX ifconfig deletes .1 and changes .2 netmask 164 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.2/32 165 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 166 ! grep 'inet ${ETHER_NET}.1 ' ifconfig.out 167 grep 'inet ${ETHER_NET}.2 netmask 0xffffffff$$' ifconfig.out 168 grep -c 'inet ' ifconfig.out | grep -q 1 169 170REGRESS_TARGETS += run-ether-alias-netmask 171run-ether-alias-netmask: 172 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.1/24 173 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.2/24 alias 174 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.2/32 alias 175 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 176 grep 'inet ${ETHER_NET}.1 ' ifconfig.out 177 grep 'inet ${ETHER_NET}.2 netmask 0xffffffff$$' ifconfig.out 178 grep -c 'inet ${ETHER_NET}.2 ' ifconfig.out | grep -q 1 179 180REGRESS_TARGETS += run-ether-delete 181run-ether-delete: 182 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.1/24 183 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.1 delete 184 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 185 ! grep 'inet ' ifconfig.out 186 187REGRESS_TARGETS += run-ether-delete-first 188run-ether-delete-first: 189 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.1/24 190 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.2/24 alias 191 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.1 delete 192 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 193 ! grep 'inet ${ETHER_NET}.1 ' ifconfig.out 194 grep 'inet ${ETHER_NET}.2 ' ifconfig.out 195 196REGRESS_TARGETS += run-ether-delete-second 197run-ether-delete-second: 198 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.1/24 199 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.2/24 alias 200 ${IFCONFIG} ${ETHER_IF} ${ETHER_NET}.2 delete 201 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 202 grep 'inet ${ETHER_NET}.1 ' ifconfig.out 203 ! grep 'inet ${ETHER_NET}.2 ' ifconfig.out 204 205### ppp 206 207REGRESS_TARGETS += run-ppp-addr 208run-ppp-addr: 209 ${IFCONFIG} ${PPP_IF} ${PPP_ADDR} 210 /sbin/ifconfig ${PPP_IF} >ifconfig.out 211 grep 'inet ${PPP_ADDR} ' ifconfig.out 212 213REGRESS_TARGETS += run-ppp-inet 214run-ppp-inet: 215 ${IFCONFIG} ${PPP_IF} inet ${PPP_ADDR} 216 /sbin/ifconfig ${PPP_IF} >ifconfig.out 217 grep 'inet ${PPP_ADDR} ' ifconfig.out 218 219REGRESS_TARGETS += run-ppp-netmask 220run-ppp-netmask: 221 ${IFCONFIG} ${PPP_IF} ${PPP_ADDR} netmask 255.255.255.0 222 /sbin/ifconfig ${PPP_IF} >ifconfig.out 223 grep 'inet ${PPP_ADDR} .* netmask 0xffffff00$$' ifconfig.out 224 225REGRESS_TARGETS += run-ppp-len 226run-ppp-len: 227 ${IFCONFIG} ${PPP_IF} ${PPP_ADDR}/24 228 /sbin/ifconfig ${PPP_IF} >ifconfig.out 229 grep 'inet ${PPP_ADDR} .* netmask 0xffffff00$$' ifconfig.out 230 231REGRESS_TARGETS += run-ppp-prefixlen 232run-ppp-prefixlen: 233 ${IFCONFIG} ${PPP_IF} ${PPP_ADDR} prefixlen 24 234 /sbin/ifconfig ${PPP_IF} >ifconfig.out 235 grep 'inet ${PPP_ADDR} .* netmask 0xffffff00$$' ifconfig.out 236 237REGRESS_TARGETS += run-ppp-destination 238run-ppp-destination: 239 ${IFCONFIG} ${PPP_IF} ${PPP_ADDR}/24 ${PPP_DEST} 240 /sbin/ifconfig ${PPP_IF} >ifconfig.out 241 grep 'inet ${PPP_ADDR} --> ${PPP_DEST} ' ifconfig.out 242 243REGRESS_TARGETS += run-ppp-replace 244run-ppp-replace: 245 ${IFCONFIG} ${PPP_IF} ${PPP_NET}.1/24 ${PPP_DEST} 246 ${IFCONFIG} ${PPP_IF} ${PPP_NET}.2/24 ${PPP_DEST} 247 /sbin/ifconfig ${PPP_IF} >ifconfig.out 248 grep 'inet ${PPP_NET}.2 --> ${PPP_DEST} ' ifconfig.out 249 ! grep 'inet ${PPP_NET}.1 --> ${PPP_DEST} ' ifconfig.out 250 251REGRESS_TARGETS += run-ppp-alias 252run-ppp-alias: 253 ${IFCONFIG} ${PPP_IF} ${PPP_NET}.1/24 ${PPP_DEST} 254 ${IFCONFIG} ${PPP_IF} ${PPP_NET}.2/24 ${PPP_DEST} alias 255 /sbin/ifconfig ${PPP_IF} >ifconfig.out 256 grep 'inet ${PPP_NET}.1 --> ${PPP_DEST} ' ifconfig.out 257 grep 'inet ${PPP_NET}.2 --> ${PPP_DEST} ' ifconfig.out 258 259### ifaddr 260 261REGRESS_TARGETS += run-ether-ifaddr-set 262run-ether-ifaddr-set: 263 ${IFADDR} ${ETHER_IF} ${ETHER_ADDR} 264 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 265 grep 'inet ${ETHER_ADDR} ' ifconfig.out 266 267REGRESS_TARGETS += run-ether-ifaddr-get 268run-ether-ifaddr-get: 269 ${IFADDR} ${ETHER_IF} ${ETHER_ADDR} 270 ${KTRACE} ./ifaddr ${ETHER_IF} >ifconfig.out 271 grep 'inet ${ETHER_ADDR} ' ifconfig.out 272 273REGRESS_TARGETS += run-ether-ifaddr-netmask 274run-ether-ifaddr-netmask: 275 ${IFADDR} ${ETHER_IF} ${ETHER_ADDR} netmask 255.255.255.0 276 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 277 grep 'inet ${ETHER_ADDR} netmask 0xffffff00 ' ifconfig.out 278 279REGRESS_TARGETS += run-ether-ifaddr-contiguous-netmask 280run-ether-ifaddr-contiguous-netmask: 281 ${IFADDR} ${ETHER_IF} ${ETHER_ADDR} netmask 255.255.255.0 282 ${IFADDR} ${ETHER_IF} ${ETHER_ADDR} delete 283 ! ${IFADDR} ${ETHER_IF} ${ETHER_ADDR} netmask 255.255.255.64 284 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 285 ! grep 'inet ${ETHER_ADDR} netmask 0xffffff' ifconfig.out 286 287REGRESS_TARGETS += run-ether-ifaddr-prefixlen 288run-ether-ifaddr-prefixlen: 289 ${IFADDR} ${ETHER_IF} ${ETHER_ADDR}/24 290 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 291 grep 'inet ${ETHER_ADDR} netmask 0xffffff00 ' ifconfig.out 292 293REGRESS_TARGETS += run-ppp-ifaddr-destination 294run-ppp-ifaddr-destination: 295 ${IFADDR} ${PPP_IF} ${PPP_ADDR} ${PPP_DEST} 296 /sbin/ifconfig ${PPP_IF} >ifconfig.out 297 grep 'inet ${PPP_ADDR} --> ${PPP_DEST} ' ifconfig.out 298 299REGRESS_TARGETS += run-ether-ifaddr-broadcast 300run-ether-ifaddr-broadcast: 301 ${IFADDR} ${ETHER_IF} ${ETHER_ADDR} broadcast ${ETHER_NET}.255 302 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 303 grep 'inet ${ETHER_ADDR} .* broadcast ${ETHER_NET}.255$$' ifconfig.out 304 305REGRESS_TARGETS += run-ether-ifaddr-alias 306run-ether-ifaddr-alias: 307 ${IFADDR} ${ETHER_IF} ${ETHER_NET}.1/24 308 ${IFADDR} ${ETHER_IF} ${ETHER_NET}.2/24 alias 309 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 310 grep 'inet ${ETHER_NET}.1 ' ifconfig.out 311 grep 'inet ${ETHER_NET}.2 ' ifconfig.out 312 313REGRESS_TARGETS += run-ether-ifaddr-change-netmask 314run-ether-ifaddr-change-netmask: 315 ${IFADDR} ${ETHER_IF} ${ETHER_NET}.1/24 316 ${IFADDR} ${ETHER_IF} ${ETHER_NET}.2/24 alias 317 ${IFADDR} ${ETHER_IF} netmask 255.255.255.255 318 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 319 grep 'inet ${ETHER_NET}.1 netmask 0xffffffff ' ifconfig.out 320 grep 'inet ${ETHER_NET}.2 netmask 0xffffff00 ' ifconfig.out 321 322REGRESS_TARGETS += run-ppp-ifaddr-change-destination 323run-ppp-ifaddr-change-destination: 324 ${IFADDR} ${PPP_IF} ${PPP_NET}.1 ${PPP_NET}.11 325 ${IFADDR} ${PPP_IF} ${PPP_NET}.2 ${PPP_NET}.12 alias 326 ${IFADDR} ${PPP_IF} ipdst ${PPP_NET}.13 327 /sbin/ifconfig ${PPP_IF} >ifconfig.out 328 grep 'inet ${PPP_NET}.1 --> ${PPP_NET}.13 ' ifconfig.out 329 grep 'inet ${PPP_NET}.2 --> ${PPP_NET}.12 ' ifconfig.out 330 331REGRESS_TARGETS += run-ether-ifaddr-change-broadcast 332run-ether-ifaddr-change-broadcast: 333 ${IFADDR} ${ETHER_IF} ${ETHER_NET}.1/24 broadcast ${ETHER_NET}.255 334 ${IFADDR} ${ETHER_IF} ${ETHER_NET}.2/24 broadcast ${ETHER_NET}.255 alias 335 ${IFADDR} ${ETHER_IF} broadcast 255.255.255.255 336 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 337 grep 'inet ${ETHER_NET}.1 .* broadcast 255.255.255.255$$' ifconfig.out 338 grep 'inet ${ETHER_NET}.2 .* broadcast ${ETHER_NET}.255$$' ifconfig.out 339 340REGRESS_TARGETS += run-ether-ifaddr-duplicate 341run-ether-ifaddr-duplicate: 342 ${IFADDR} ${ETHER_IF} ${ETHER_NET}.1/24 343 ${IFADDR} ${ETHER_IF} ${ETHER_NET}.2/16 alias 344 # XXX replace the first address and create two identical addresses 345 ${IFADDR} ${ETHER_IF} ${ETHER_NET}.2/24 346 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 347 ! grep 'inet ${ETHER_NET}.1 ' ifconfig.out 348 grep 'inet ${ETHER_NET}.2 netmask 0xffffff00 ' ifconfig.out 349 grep -c 'inet ' ifconfig.out | grep -q 2 350 351### ether-inet6 352 353REGRESS_TARGETS += run-ether-inet6-eui64 354run-ether-inet6-eui64: 355 ${IFCONFIG} ${ETHER_IF} inet6 eui64 356 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 357 grep 'inet6 fe80::[0-9a-f:]*ff:fe[0-9a-f:]*%${ETHER_IF} ' ifconfig.out 358 359REGRESS_TARGETS += run-ether-inet6-addr 360run-ether-inet6-addr: 361 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_ADDR6} 362 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 363 grep 'inet6 ${ETHER_ADDR6} ' ifconfig.out 364 # setting an address creates eui64 automatically 365 grep 'inet6 fe80::[0-9a-f:]*ff:fe[0-9a-f:]*%${ETHER_IF} ' ifconfig.out 366 367REGRESS_TARGETS += run-ether-inet6-netmask 368run-ether-inet6-netmask: 369 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_ADDR6}\ 370 netmask ffff:ffff:ffff:ffff:ffff:: 371 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 372 grep 'inet6 ${ETHER_ADDR6} prefixlen 80 ' ifconfig.out 373 374REGRESS_TARGETS += run-ether-inet6-contiguous-netmask 375run-ether-inet6-contiguous-netmask: 376 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_ADDR6}\ 377 netmask ffff:ffff:ffff:ffff:ffff:: 378 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_ADDR6} delete 379 ! ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_ADDR6}\ 380 netmask ffff:ffff:ffff:ffff:ffff:4000:: 381 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 382 ! grep 'inet6 ${ETHER_ADDR6} ' ifconfig.out 383 384REGRESS_TARGETS += run-ether-inet6-contiguous-gap 385run-ether-inet6-contiguous-gap: 386 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_ADDR6} netmask ffff:: 387 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_ADDR6} delete 388 ! ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_ADDR6} netmask ffff::ff00:8 389 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 390 ! grep 'inet6 ${ETHER_ADDR6} ' ifconfig.out 391 392REGRESS_TARGETS += run-ether-inet6-len 393run-ether-inet6-len: 394 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_ADDR6}/80 395 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 396 grep 'inet6 ${ETHER_ADDR6} prefixlen 80 ' ifconfig.out 397 398REGRESS_TARGETS += run-ether-inet6-prefixlen 399run-ether-inet6-prefixlen: 400 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_ADDR6} prefixlen 80 401 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 402 grep 'inet6 ${ETHER_ADDR6} prefixlen 80 ' ifconfig.out 403 404REGRESS_TARGETS += run-ether-inet6-noreplace 405run-ether-inet6-noreplace: 406 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}1 407 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}2 408 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 409 grep 'inet6 ${ETHER_NET6}1 ' ifconfig.out 410 grep 'inet6 ${ETHER_NET6}2 ' ifconfig.out 411 412REGRESS_TARGETS += run-ether-inet6-duplicate 413run-ether-inet6-duplicate: 414 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}1 415 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}1 416 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 417 grep 'inet6 ${ETHER_NET6}1 ' ifconfig.out 418 grep -c 'inet6 ${ETHER_NET6}' ifconfig.out | grep -q 1 419 420REGRESS_TARGETS += run-ether-inet6-host 421run-ether-inet6-host: 422 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}1/128 423 # changing netmask of an exisintg address is not allowed 424 ! ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}1/64 425 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 426 grep 'inet6 ${ETHER_NET6}1 prefixlen 128 ' ifconfig.out 427 grep -c 'inet6 ${ETHER_NET6}' ifconfig.out | grep -q 1 428 429REGRESS_TARGETS += run-ether-inet6-alias 430run-ether-inet6-alias: 431 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}1 432 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}2 alias 433 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 434 grep 'inet6 ${ETHER_NET6}1 ' ifconfig.out 435 grep 'inet6 ${ETHER_NET6}2 ' ifconfig.out 436 437REGRESS_TARGETS += run-ether-inet6-delete 438run-ether-inet6-delete: 439 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}1 440 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}1 delete 441 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 442 ! grep 'inet6 ${ETHER_NET6}' ifconfig.out 443 444REGRESS_TARGETS += run-ether-inet6-delete-first 445run-ether-inet6-delete-first: 446 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}1 447 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}2 alias 448 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}1 delete 449 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 450 ! grep 'inet6 ${ETHER_NET6}1 ' ifconfig.out 451 grep 'inet6 ${ETHER_NET6}2 ' ifconfig.out 452 453REGRESS_TARGETS += run-ether-inet6-delete-second 454run-ether-inet6-delete-second: 455 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}1 456 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}2 alias 457 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}2 delete 458 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 459 grep 'inet6 ${ETHER_NET6}1 ' ifconfig.out 460 ! grep 'inet6 ${ETHER_NET6}2 ' ifconfig.out 461 462### ppp-inet6 463 464REGRESS_TARGETS += run-ppp-inet6-eui64 465run-ppp-inet6-eui64: 466 ${IFCONFIG} ${PPP_IF} inet6 eui64 467 /sbin/ifconfig ${PPP_IF} >ifconfig.out 468 grep 'inet6 fe80::[0-9a-f:]*ff:fe[0-9a-f:]*%${PPP_IF} ' ifconfig.out 469 470REGRESS_TARGETS += run-ppp-inet6-addr 471run-ppp-inet6-addr: 472 ${IFCONFIG} ${PPP_IF} inet6 ${PPP_ADDR6} 473 /sbin/ifconfig ${PPP_IF} >ifconfig.out 474 grep 'inet6 ${PPP_ADDR6} ' ifconfig.out 475 # setting an address creates eui64 automatically 476 grep 'inet6 fe80::[0-9a-f:]*ff:fe[0-9a-f:]*%${PPP_IF} ' ifconfig.out 477 478REGRESS_TARGETS += run-ppp-inet6-len 479run-ppp-inet6-len: 480 ${IFCONFIG} ${PPP_IF} inet6 ${PPP_ADDR6}/80 481 /sbin/ifconfig ${PPP_IF} >ifconfig.out 482 grep 'inet6 ${PPP_ADDR6} .* prefixlen 80 ' ifconfig.out 483 484REGRESS_TARGETS += run-ppp-inet6-destination 485run-ppp-inet6-destination: 486 ${IFCONFIG} ${PPP_IF} inet6 ${PPP_ADDR6} ${PPP_DEST6} 487 /sbin/ifconfig ${PPP_IF} >ifconfig.out 488 grep 'inet6 ${PPP_ADDR6} --> ${PPP_DEST6} ' ifconfig.out 489 490REGRESS_TARGETS += run-ppp-inet6-noreplace 491run-ppp-inet6-noreplace: 492 ${IFCONFIG} ${PPP_IF} inet6 ${PPP_NET6}1 ${PPP_DEST6} 493 ${IFCONFIG} ${PPP_IF} inet6 ${PPP_NET6}2 ${PPP_DEST6} 494 /sbin/ifconfig ${PPP_IF} >ifconfig.out 495 grep 'inet6 ${PPP_NET6}1 --> ${PPP_DEST6} ' ifconfig.out 496 grep 'inet6 ${PPP_NET6}2 --> ${PPP_DEST6} ' ifconfig.out 497 498REGRESS_TARGETS += run-ppp-inet6-alias 499run-ppp-inet6-alias: 500 ${IFCONFIG} ${PPP_IF} inet6 ${PPP_NET6}1 ${PPP_DEST6} 501 ${IFCONFIG} ${PPP_IF} inet6 ${PPP_NET6}2 ${PPP_DEST6} alias 502 /sbin/ifconfig ${PPP_IF} >ifconfig.out 503 grep 'inet6 ${PPP_NET6}1 --> ${PPP_DEST6} ' ifconfig.out 504 grep 'inet6 ${PPP_NET6}2 --> ${PPP_DEST6} ' ifconfig.out 505 506### setup cleanup 507 508REGRESS_ROOT_TARGETS = ${REGRESS_TARGETS} 509 510${REGRESS_TARGETS:Mrun-*-ifaddr-*}: ifaddr 511 512${REGRESS_TARGETS:Mrun-ether-*}: setup-ether 513setup-ether: 514 ${SUDO} /sbin/ifconfig ${ETHER_IF} destroy 2>/dev/null || true 515 ${SUDO} /sbin/ifconfig ${ETHER_IF} create 516 517${REGRESS_TARGETS:Mrun-ppp-*}: setup-ppp 518setup-ppp: 519 ${SUDO} /sbin/ifconfig ${PPP_IF} destroy 2>/dev/null || true 520 ${SUDO} /sbin/ifconfig ${PPP_IF} create 521 522REGRESS_CLEANUP = cleanup 523cleanup: 524 ${SUDO} /sbin/ifconfig ${ETHER_IF} destroy || true 525 ${SUDO} /sbin/ifconfig ${PPP_IF} destroy || true 526 527### check 528 529check: check-targets 530 531check-targets: 532 # REGRESS_TARGETS must not contain duplicates, prevent copy paste error 533 ! echo ${REGRESS_TARGETS} | tr ' ' '\n' | sort | uniq -d | grep . 534 535.include <bsd.regress.mk> 536