1# $OpenBSD: Makefile,v 1.7 2024/10/19 07:10:55 anton 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 294# XXX uses unsupported SIOCSIFDSTADDR ioctl command. 295REGRESS_EXPECTED_FAILURES += run-ppp-ifaddr-destination 296run-ppp-ifaddr-destination: 297 ${IFADDR} ${PPP_IF} ${PPP_ADDR} ${PPP_DEST} 298 /sbin/ifconfig ${PPP_IF} >ifconfig.out 299 grep 'inet ${PPP_ADDR} --> ${PPP_DEST} ' ifconfig.out 300 301REGRESS_TARGETS += run-ether-ifaddr-broadcast 302run-ether-ifaddr-broadcast: 303 ${IFADDR} ${ETHER_IF} ${ETHER_ADDR} broadcast ${ETHER_NET}.255 304 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 305 grep 'inet ${ETHER_ADDR} .* broadcast ${ETHER_NET}.255$$' ifconfig.out 306 307REGRESS_TARGETS += run-ether-ifaddr-alias 308run-ether-ifaddr-alias: 309 ${IFADDR} ${ETHER_IF} ${ETHER_NET}.1/24 310 ${IFADDR} ${ETHER_IF} ${ETHER_NET}.2/24 alias 311 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 312 grep 'inet ${ETHER_NET}.1 ' ifconfig.out 313 grep 'inet ${ETHER_NET}.2 ' ifconfig.out 314 315REGRESS_TARGETS += run-ether-ifaddr-change-netmask 316run-ether-ifaddr-change-netmask: 317 ${IFADDR} ${ETHER_IF} ${ETHER_NET}.1/24 318 ${IFADDR} ${ETHER_IF} ${ETHER_NET}.2/24 alias 319 ${IFADDR} ${ETHER_IF} netmask 255.255.255.255 320 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 321 grep 'inet ${ETHER_NET}.1 netmask 0xffffffff ' ifconfig.out 322 grep 'inet ${ETHER_NET}.2 netmask 0xffffff00 ' ifconfig.out 323 324REGRESS_TARGETS += run-ppp-ifaddr-change-destination 325# XXX uses unsupported SIOCSIFDSTADDR ioctl command. 326REGRESS_EXPECTED_FAILURES += run-ppp-ifaddr-change-destination 327run-ppp-ifaddr-change-destination: 328 ${IFADDR} ${PPP_IF} ${PPP_NET}.1 ${PPP_NET}.11 329 ${IFADDR} ${PPP_IF} ${PPP_NET}.2 ${PPP_NET}.12 alias 330 ${IFADDR} ${PPP_IF} ipdst ${PPP_NET}.13 331 /sbin/ifconfig ${PPP_IF} >ifconfig.out 332 grep 'inet ${PPP_NET}.1 --> ${PPP_NET}.13 ' ifconfig.out 333 grep 'inet ${PPP_NET}.2 --> ${PPP_NET}.12 ' ifconfig.out 334 335REGRESS_TARGETS += run-ether-ifaddr-change-broadcast 336run-ether-ifaddr-change-broadcast: 337 ${IFADDR} ${ETHER_IF} ${ETHER_NET}.1/24 broadcast ${ETHER_NET}.255 338 ${IFADDR} ${ETHER_IF} ${ETHER_NET}.2/24 broadcast ${ETHER_NET}.255 alias 339 ${IFADDR} ${ETHER_IF} broadcast 255.255.255.255 340 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 341 grep 'inet ${ETHER_NET}.1 .* broadcast 255.255.255.255$$' ifconfig.out 342 grep 'inet ${ETHER_NET}.2 .* broadcast ${ETHER_NET}.255$$' ifconfig.out 343 344REGRESS_TARGETS += run-ether-ifaddr-duplicate 345run-ether-ifaddr-duplicate: 346 ${IFADDR} ${ETHER_IF} ${ETHER_NET}.1/24 347 ${IFADDR} ${ETHER_IF} ${ETHER_NET}.2/16 alias 348 # XXX replace the first address and create two identical addresses 349 ${IFADDR} ${ETHER_IF} ${ETHER_NET}.2/24 350 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 351 ! grep 'inet ${ETHER_NET}.1 ' ifconfig.out 352 grep 'inet ${ETHER_NET}.2 netmask 0xffffff00 ' ifconfig.out 353 grep -c 'inet ' ifconfig.out | grep -q 2 354 355### ether-inet6 356 357REGRESS_TARGETS += run-ether-inet6-eui64 358run-ether-inet6-eui64: 359 ${IFCONFIG} ${ETHER_IF} inet6 eui64 360 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 361 grep 'inet6 fe80::[0-9a-f:]*ff:fe[0-9a-f:]*%${ETHER_IF} ' ifconfig.out 362 363REGRESS_TARGETS += run-ether-inet6-addr 364run-ether-inet6-addr: 365 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_ADDR6} 366 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 367 grep 'inet6 ${ETHER_ADDR6} ' ifconfig.out 368 # setting an address creates eui64 automatically 369 grep 'inet6 fe80::[0-9a-f:]*ff:fe[0-9a-f:]*%${ETHER_IF} ' ifconfig.out 370 371REGRESS_TARGETS += run-ether-inet6-netmask 372run-ether-inet6-netmask: 373 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_ADDR6}\ 374 netmask ffff:ffff:ffff:ffff:ffff:: 375 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 376 grep 'inet6 ${ETHER_ADDR6} prefixlen 80 ' ifconfig.out 377 378REGRESS_TARGETS += run-ether-inet6-contiguous-netmask 379run-ether-inet6-contiguous-netmask: 380 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_ADDR6}\ 381 netmask ffff:ffff:ffff:ffff:ffff:: 382 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_ADDR6} delete 383 ! ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_ADDR6}\ 384 netmask ffff:ffff:ffff:ffff:ffff:4000:: 385 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 386 ! grep 'inet6 ${ETHER_ADDR6} ' ifconfig.out 387 388REGRESS_TARGETS += run-ether-inet6-contiguous-gap 389run-ether-inet6-contiguous-gap: 390 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_ADDR6} netmask ffff:: 391 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_ADDR6} delete 392 ! ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_ADDR6} netmask ffff::ff00:8 393 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 394 ! grep 'inet6 ${ETHER_ADDR6} ' ifconfig.out 395 396REGRESS_TARGETS += run-ether-inet6-len 397run-ether-inet6-len: 398 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_ADDR6}/80 399 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 400 grep 'inet6 ${ETHER_ADDR6} prefixlen 80 ' ifconfig.out 401 402REGRESS_TARGETS += run-ether-inet6-prefixlen 403run-ether-inet6-prefixlen: 404 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_ADDR6} prefixlen 80 405 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 406 grep 'inet6 ${ETHER_ADDR6} prefixlen 80 ' ifconfig.out 407 408REGRESS_TARGETS += run-ether-inet6-noreplace 409run-ether-inet6-noreplace: 410 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}1 411 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}2 412 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 413 grep 'inet6 ${ETHER_NET6}1 ' ifconfig.out 414 grep 'inet6 ${ETHER_NET6}2 ' ifconfig.out 415 416REGRESS_TARGETS += run-ether-inet6-duplicate 417run-ether-inet6-duplicate: 418 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}1 419 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}1 420 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 421 grep 'inet6 ${ETHER_NET6}1 ' ifconfig.out 422 grep -c 'inet6 ${ETHER_NET6}' ifconfig.out | grep -q 1 423 424REGRESS_TARGETS += run-ether-inet6-host 425run-ether-inet6-host: 426 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}1/128 427 # changing netmask of an exisintg address is not allowed 428 ! ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}1/64 429 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 430 grep 'inet6 ${ETHER_NET6}1 prefixlen 128 ' ifconfig.out 431 grep -c 'inet6 ${ETHER_NET6}' ifconfig.out | grep -q 1 432 433REGRESS_TARGETS += run-ether-inet6-alias 434run-ether-inet6-alias: 435 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}1 436 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}2 alias 437 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 438 grep 'inet6 ${ETHER_NET6}1 ' ifconfig.out 439 grep 'inet6 ${ETHER_NET6}2 ' ifconfig.out 440 441REGRESS_TARGETS += run-ether-inet6-delete 442run-ether-inet6-delete: 443 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}1 444 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}1 delete 445 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 446 ! grep 'inet6 ${ETHER_NET6}' ifconfig.out 447 448REGRESS_TARGETS += run-ether-inet6-delete-first 449run-ether-inet6-delete-first: 450 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}1 451 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}2 alias 452 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}1 delete 453 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 454 ! grep 'inet6 ${ETHER_NET6}1 ' ifconfig.out 455 grep 'inet6 ${ETHER_NET6}2 ' ifconfig.out 456 457REGRESS_TARGETS += run-ether-inet6-delete-second 458run-ether-inet6-delete-second: 459 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}1 460 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}2 alias 461 ${IFCONFIG} ${ETHER_IF} inet6 ${ETHER_NET6}2 delete 462 /sbin/ifconfig ${ETHER_IF} >ifconfig.out 463 grep 'inet6 ${ETHER_NET6}1 ' ifconfig.out 464 ! grep 'inet6 ${ETHER_NET6}2 ' ifconfig.out 465 466### ppp-inet6 467 468REGRESS_TARGETS += run-ppp-inet6-eui64 469run-ppp-inet6-eui64: 470 ${IFCONFIG} ${PPP_IF} inet6 eui64 471 /sbin/ifconfig ${PPP_IF} >ifconfig.out 472 grep 'inet6 fe80::[0-9a-f:]*ff:fe[0-9a-f:]*%${PPP_IF} ' ifconfig.out 473 474REGRESS_TARGETS += run-ppp-inet6-addr 475run-ppp-inet6-addr: 476 ${IFCONFIG} ${PPP_IF} inet6 ${PPP_ADDR6} 477 /sbin/ifconfig ${PPP_IF} >ifconfig.out 478 grep 'inet6 ${PPP_ADDR6} ' ifconfig.out 479 # setting an address creates eui64 automatically 480 grep 'inet6 fe80::[0-9a-f:]*ff:fe[0-9a-f:]*%${PPP_IF} ' ifconfig.out 481 482REGRESS_TARGETS += run-ppp-inet6-len 483run-ppp-inet6-len: 484 ${IFCONFIG} ${PPP_IF} inet6 ${PPP_ADDR6}/80 485 /sbin/ifconfig ${PPP_IF} >ifconfig.out 486 grep 'inet6 ${PPP_ADDR6} .* prefixlen 80 ' ifconfig.out 487 488REGRESS_TARGETS += run-ppp-inet6-destination 489run-ppp-inet6-destination: 490 ${IFCONFIG} ${PPP_IF} inet6 ${PPP_ADDR6} ${PPP_DEST6} 491 /sbin/ifconfig ${PPP_IF} >ifconfig.out 492 grep 'inet6 ${PPP_ADDR6} --> ${PPP_DEST6} ' ifconfig.out 493 494REGRESS_TARGETS += run-ppp-inet6-noreplace 495run-ppp-inet6-noreplace: 496 ${IFCONFIG} ${PPP_IF} inet6 ${PPP_NET6}1 ${PPP_DEST6} 497 ${IFCONFIG} ${PPP_IF} inet6 ${PPP_NET6}2 ${PPP_DEST6} 498 /sbin/ifconfig ${PPP_IF} >ifconfig.out 499 grep 'inet6 ${PPP_NET6}1 --> ${PPP_DEST6} ' ifconfig.out 500 grep 'inet6 ${PPP_NET6}2 --> ${PPP_DEST6} ' ifconfig.out 501 502REGRESS_TARGETS += run-ppp-inet6-alias 503run-ppp-inet6-alias: 504 ${IFCONFIG} ${PPP_IF} inet6 ${PPP_NET6}1 ${PPP_DEST6} 505 ${IFCONFIG} ${PPP_IF} inet6 ${PPP_NET6}2 ${PPP_DEST6} alias 506 /sbin/ifconfig ${PPP_IF} >ifconfig.out 507 grep 'inet6 ${PPP_NET6}1 --> ${PPP_DEST6} ' ifconfig.out 508 grep 'inet6 ${PPP_NET6}2 --> ${PPP_DEST6} ' ifconfig.out 509 510### setup cleanup 511 512REGRESS_ROOT_TARGETS = ${REGRESS_TARGETS} 513 514${REGRESS_TARGETS:Mrun-*-ifaddr-*}: ifaddr 515 516${REGRESS_TARGETS:Mrun-ether-*}: setup-ether 517setup-ether: 518 ${SUDO} /sbin/ifconfig ${ETHER_IF} destroy 2>/dev/null || true 519 ${SUDO} /sbin/ifconfig ${ETHER_IF} create 520 521${REGRESS_TARGETS:Mrun-ppp-*}: setup-ppp 522setup-ppp: 523 ${SUDO} /sbin/ifconfig ${PPP_IF} destroy 2>/dev/null || true 524 ${SUDO} /sbin/ifconfig ${PPP_IF} create 525 526REGRESS_CLEANUP = cleanup 527cleanup: 528 ${SUDO} /sbin/ifconfig ${ETHER_IF} destroy || true 529 ${SUDO} /sbin/ifconfig ${PPP_IF} destroy || true 530 531### check 532 533check: check-targets 534 535check-targets: 536 # REGRESS_TARGETS must not contain duplicates, prevent copy paste error 537 ! echo ${REGRESS_TARGETS} | tr ' ' '\n' | sort | uniq -d | grep . 538 539.include <bsd.regress.mk> 540