START	sbin/ifconfig	2024-05-25T03:51:33Z

==== run-ether-addr ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 10.188.254.74
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet 10.188.254.74 ' ifconfig.out
	inet 10.188.254.74 netmask 0xff000000 broadcast 10.255.255.255

==== run-ether-inet ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 inet 10.188.254.74
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet 10.188.254.74 ' ifconfig.out
	inet 10.188.254.74 netmask 0xff000000 broadcast 10.255.255.255

==== run-ether-netmask ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 10.188.254.74 netmask 255.255.255.0
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet 10.188.254.74 netmask 0xffffff00 ' ifconfig.out
	inet 10.188.254.74 netmask 0xffffff00 broadcast 10.188.254.255

==== run-ether-contiguous-netmask ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 10.188.254.74 netmask 255.255.255.0
/sbin/ifconfig vether99 10.188.254.74 delete
!   /sbin/ifconfig vether99 10.188.254.74 netmask 255.255.255.64
ifconfig: 255.255.255.64: non-contiguous mask
/sbin/ifconfig vether99 >ifconfig.out
! grep 'inet 10.188.254.74 ' ifconfig.out

==== run-ether-len ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 10.188.254.74/24
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet 10.188.254.74 netmask 0xffffff00 ' ifconfig.out
	inet 10.188.254.74 netmask 0xffffff00 broadcast 10.188.254.255

==== run-ether-prefixlen ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 10.188.254.74 prefixlen 24
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet 10.188.254.74 netmask 0xffffff00 ' ifconfig.out
	inet 10.188.254.74 netmask 0xffffff00 broadcast 10.188.254.255

==== run-ether-hexmask ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 10.188.254.74 netmask 0xffffff00
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet 10.188.254.74 netmask 0xffffff00 ' ifconfig.out
	inet 10.188.254.74 netmask 0xffffff00 broadcast 10.188.254.255

==== run-ether-broadcast ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 10.188.254.74/24
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet 10.188.254.74 .* broadcast 10.188.254.255$' ifconfig.out
	inet 10.188.254.74 netmask 0xffffff00 broadcast 10.188.254.255

==== run-ether-replace ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 10.188.254.1/24
/sbin/ifconfig vether99 10.188.254.2/24
/sbin/ifconfig vether99 >ifconfig.out
! grep 'inet 10.188.254.1 ' ifconfig.out
grep 'inet 10.188.254.2 ' ifconfig.out
	inet 10.188.254.2 netmask 0xffffff00 broadcast 10.188.254.255

==== run-ether-duplicate ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 10.188.254.1/24
/sbin/ifconfig vether99 10.188.254.1/24
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet 10.188.254.1 ' ifconfig.out
	inet 10.188.254.1 netmask 0xffffff00 broadcast 10.188.254.255
grep -c 'inet ' ifconfig.out | grep -q 1

==== run-ether-host ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 10.188.254.1/24
/sbin/ifconfig vether99 10.188.254.1/32
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet 10.188.254.1 netmask 0xffffffff$' ifconfig.out
	inet 10.188.254.1 netmask 0xffffffff
grep -c 'inet ' ifconfig.out | grep -q 1

==== run-ether-alias ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 10.188.254.1/24
/sbin/ifconfig vether99 10.188.254.2/24 alias
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet 10.188.254.1 ' ifconfig.out
	inet 10.188.254.1 netmask 0xffffff00 broadcast 10.188.254.255
grep 'inet 10.188.254.2 ' ifconfig.out
	inet 10.188.254.2 netmask 0xffffff00 broadcast 10.188.254.255

==== run-ether-alias-duplicate ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 10.188.254.1/24
/sbin/ifconfig vether99 10.188.254.1/24 alias
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet 10.188.254.1 ' ifconfig.out
	inet 10.188.254.1 netmask 0xffffff00 broadcast 10.188.254.255
grep -c 'inet ' ifconfig.out | grep -q 1

==== run-ether-replace-first ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 10.188.254.1/24
/sbin/ifconfig vether99 10.188.254.2/24 alias
/sbin/ifconfig vether99 10.188.254.3/24
/sbin/ifconfig vether99 >ifconfig.out
! grep 'inet 10.188.254.1 ' ifconfig.out
grep 'inet 10.188.254.2 ' ifconfig.out
	inet 10.188.254.2 netmask 0xffffff00 broadcast 10.188.254.255
grep 'inet 10.188.254.3 ' ifconfig.out
	inet 10.188.254.3 netmask 0xffffff00 broadcast 10.188.254.255

==== run-ether-alias-host ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 10.188.254.1/24
/sbin/ifconfig vether99 10.188.254.1/32 alias
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet 10.188.254.1 netmask 0xffffffff$' ifconfig.out
	inet 10.188.254.1 netmask 0xffffffff
grep -c 'inet ' ifconfig.out | grep -q 1

==== run-ether-change-netmask ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 10.188.254.1/24
/sbin/ifconfig vether99 10.188.254.2/24 alias
/sbin/ifconfig vether99 10.188.254.1/32
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet 10.188.254.1 netmask 0xffffffff$' ifconfig.out
	inet 10.188.254.1 netmask 0xffffffff
grep 'inet 10.188.254.2 ' ifconfig.out
	inet 10.188.254.2 netmask 0xffffff00 broadcast 10.188.254.255
grep -c 'inet ' ifconfig.out | grep -q 2

==== run-ether-delete-netmask ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 10.188.254.1/24
/sbin/ifconfig vether99 10.188.254.2/24 alias
# XXX ifconfig deletes .1 and changes .2 netmask
/sbin/ifconfig vether99 10.188.254.2/32
/sbin/ifconfig vether99 >ifconfig.out
! grep 'inet 10.188.254.1 ' ifconfig.out
grep 'inet 10.188.254.2 netmask 0xffffffff$' ifconfig.out
	inet 10.188.254.2 netmask 0xffffffff
grep -c 'inet ' ifconfig.out | grep -q 1

==== run-ether-alias-netmask ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 10.188.254.1/24
/sbin/ifconfig vether99 10.188.254.2/24 alias
/sbin/ifconfig vether99 10.188.254.2/32 alias
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet 10.188.254.1 ' ifconfig.out
	inet 10.188.254.1 netmask 0xffffff00 broadcast 10.188.254.255
grep 'inet 10.188.254.2 netmask 0xffffffff$' ifconfig.out
	inet 10.188.254.2 netmask 0xffffffff
grep -c 'inet 10.188.254.2 ' ifconfig.out | grep -q 1

==== run-ether-delete ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 10.188.254.1/24
/sbin/ifconfig vether99 10.188.254.1 delete
/sbin/ifconfig vether99 >ifconfig.out
! grep 'inet ' ifconfig.out

==== run-ether-delete-first ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 10.188.254.1/24
/sbin/ifconfig vether99 10.188.254.2/24 alias
/sbin/ifconfig vether99 10.188.254.1 delete
/sbin/ifconfig vether99 >ifconfig.out
! grep 'inet 10.188.254.1 ' ifconfig.out
grep 'inet 10.188.254.2 ' ifconfig.out
	inet 10.188.254.2 netmask 0xffffff00 broadcast 10.188.254.255

==== run-ether-delete-second ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 10.188.254.1/24
/sbin/ifconfig vether99 10.188.254.2/24 alias
/sbin/ifconfig vether99 10.188.254.2 delete
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet 10.188.254.1 ' ifconfig.out
	inet 10.188.254.1 netmask 0xffffff00 broadcast 10.188.254.255
! grep 'inet 10.188.254.2 ' ifconfig.out

==== run-ppp-addr ====
/sbin/ifconfig tun99 destroy 2>/dev/null || true
/sbin/ifconfig tun99 create
/sbin/ifconfig tun99 10.188.253.74
/sbin/ifconfig tun99 >ifconfig.out
grep 'inet 10.188.253.74 ' ifconfig.out
	inet 10.188.253.74 --> 0.0.0.0 netmask 0xff000000

==== run-ppp-inet ====
/sbin/ifconfig tun99 destroy 2>/dev/null || true
/sbin/ifconfig tun99 create
/sbin/ifconfig tun99 inet 10.188.253.74
/sbin/ifconfig tun99 >ifconfig.out
grep 'inet 10.188.253.74 ' ifconfig.out
	inet 10.188.253.74 --> 0.0.0.0 netmask 0xff000000

==== run-ppp-netmask ====
/sbin/ifconfig tun99 destroy 2>/dev/null || true
/sbin/ifconfig tun99 create
/sbin/ifconfig tun99 10.188.253.74 netmask 255.255.255.0
/sbin/ifconfig tun99 >ifconfig.out
grep 'inet 10.188.253.74 .* netmask 0xffffff00$' ifconfig.out
	inet 10.188.253.74 --> 0.0.0.0 netmask 0xffffff00

==== run-ppp-len ====
/sbin/ifconfig tun99 destroy 2>/dev/null || true
/sbin/ifconfig tun99 create
/sbin/ifconfig tun99 10.188.253.74/24
/sbin/ifconfig tun99 >ifconfig.out
grep 'inet 10.188.253.74 .* netmask 0xffffff00$' ifconfig.out
	inet 10.188.253.74 --> 0.0.0.0 netmask 0xffffff00

==== run-ppp-prefixlen ====
/sbin/ifconfig tun99 destroy 2>/dev/null || true
/sbin/ifconfig tun99 create
/sbin/ifconfig tun99 10.188.253.74 prefixlen 24
/sbin/ifconfig tun99 >ifconfig.out
grep 'inet 10.188.253.74 .* netmask 0xffffff00$' ifconfig.out
	inet 10.188.253.74 --> 0.0.0.0 netmask 0xffffff00

==== run-ppp-destination ====
/sbin/ifconfig tun99 destroy 2>/dev/null || true
/sbin/ifconfig tun99 create
/sbin/ifconfig tun99 10.188.253.74/24 10.188.253.75
/sbin/ifconfig tun99 >ifconfig.out
grep 'inet 10.188.253.74 --> 10.188.253.75 ' ifconfig.out
	inet 10.188.253.74 --> 10.188.253.75 netmask 0xffffff00

==== run-ppp-replace ====
/sbin/ifconfig tun99 destroy 2>/dev/null || true
/sbin/ifconfig tun99 create
/sbin/ifconfig tun99 10.188.253.1/24 10.188.253.75
/sbin/ifconfig tun99 10.188.253.2/24 10.188.253.75
/sbin/ifconfig tun99 >ifconfig.out
grep 'inet 10.188.253.2 --> 10.188.253.75 ' ifconfig.out
	inet 10.188.253.2 --> 10.188.253.75 netmask 0xffffff00
! grep 'inet 10.188.253.1 --> 10.188.253.75 ' ifconfig.out

==== run-ppp-alias ====
/sbin/ifconfig tun99 destroy 2>/dev/null || true
/sbin/ifconfig tun99 create
/sbin/ifconfig tun99 10.188.253.1/24 10.188.253.75
/sbin/ifconfig tun99 10.188.253.2/24 10.188.253.75 alias
/sbin/ifconfig tun99 >ifconfig.out
grep 'inet 10.188.253.1 --> 10.188.253.75 ' ifconfig.out
	inet 10.188.253.1 --> 10.188.253.75 netmask 0xffffff00
grep 'inet 10.188.253.2 --> 10.188.253.75 ' ifconfig.out
	inet 10.188.253.2 --> 10.188.253.75 netmask 0xffffff00

==== run-ether-ifaddr-set ====
cc -O2 -pipe   -MD -MP  -c /usr/src/regress/sbin/ifconfig/ifaddr.c
cc   -o ifaddr ifaddr.o 
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
./ifaddr vether99 10.188.254.74
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet 10.188.254.74 ' ifconfig.out
	inet 10.188.254.74 netmask 0xff000000 broadcast 10.255.255.255

==== run-ether-ifaddr-get ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
./ifaddr vether99 10.188.254.74
./ifaddr vether99 >ifconfig.out
grep 'inet 10.188.254.74 ' ifconfig.out
	inet 10.188.254.74 netmask 0xff000000 broadcast 10.255.255.255

==== run-ether-ifaddr-netmask ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
./ifaddr vether99 10.188.254.74 netmask 255.255.255.0
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet 10.188.254.74 netmask 0xffffff00 ' ifconfig.out
	inet 10.188.254.74 netmask 0xffffff00 broadcast 10.255.255.255

==== run-ether-ifaddr-contiguous-netmask ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
./ifaddr vether99 10.188.254.74 netmask 255.255.255.0
./ifaddr vether99 10.188.254.74 delete
!   ./ifaddr vether99 10.188.254.74 netmask 255.255.255.64
ifaddr: SIOCSIFNETMASK: Invalid argument
/sbin/ifconfig vether99 >ifconfig.out
! grep 'inet 10.188.254.74 netmask 0xffffff' ifconfig.out

==== run-ether-ifaddr-prefixlen ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
./ifaddr vether99 10.188.254.74/24
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet 10.188.254.74 netmask 0xffffff00 ' ifconfig.out
	inet 10.188.254.74 netmask 0xffffff00 broadcast 10.255.255.255

==== run-ppp-ifaddr-destination ====
/sbin/ifconfig tun99 destroy 2>/dev/null || true
/sbin/ifconfig tun99 create
./ifaddr tun99 10.188.253.74 10.188.253.75
/sbin/ifconfig tun99 >ifconfig.out
grep 'inet 10.188.253.74 --> 10.188.253.75 ' ifconfig.out
	inet 10.188.253.74 --> 10.188.253.75 netmask 0xff000000

==== run-ether-ifaddr-broadcast ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
./ifaddr vether99 10.188.254.74 broadcast 10.188.254.255
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet 10.188.254.74 .* broadcast 10.188.254.255$' ifconfig.out
	inet 10.188.254.74 netmask 0xff000000 broadcast 10.188.254.255

==== run-ether-ifaddr-alias ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
./ifaddr vether99 10.188.254.1/24
./ifaddr vether99 10.188.254.2/24 alias
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet 10.188.254.1 ' ifconfig.out
	inet 10.188.254.1 netmask 0xffffff00 broadcast 10.255.255.255
grep 'inet 10.188.254.2 ' ifconfig.out
	inet 10.188.254.2 netmask 0xffffff00 broadcast 10.188.254.255

==== run-ether-ifaddr-change-netmask ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
./ifaddr vether99 10.188.254.1/24
./ifaddr vether99 10.188.254.2/24 alias
./ifaddr vether99 netmask 255.255.255.255
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet 10.188.254.1 netmask 0xffffffff ' ifconfig.out
	inet 10.188.254.1 netmask 0xffffffff broadcast 10.255.255.255
grep 'inet 10.188.254.2 netmask 0xffffff00 ' ifconfig.out
	inet 10.188.254.2 netmask 0xffffff00 broadcast 10.188.254.255

==== run-ppp-ifaddr-change-destination ====
/sbin/ifconfig tun99 destroy 2>/dev/null || true
/sbin/ifconfig tun99 create
./ifaddr tun99 10.188.253.1 10.188.253.11
./ifaddr tun99 10.188.253.2 10.188.253.12 alias
./ifaddr tun99 ipdst 10.188.253.13
/sbin/ifconfig tun99 >ifconfig.out
grep 'inet 10.188.253.1 --> 10.188.253.13 ' ifconfig.out
	inet 10.188.253.1 --> 10.188.253.13 netmask 0xff000000
grep 'inet 10.188.253.2 --> 10.188.253.12 ' ifconfig.out
	inet 10.188.253.2 --> 10.188.253.12 netmask 0xff000000

==== run-ether-ifaddr-change-broadcast ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
./ifaddr vether99 10.188.254.1/24 broadcast 10.188.254.255
./ifaddr vether99 10.188.254.2/24 broadcast 10.188.254.255 alias
./ifaddr vether99 broadcast 255.255.255.255
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet 10.188.254.1 .* broadcast 255.255.255.255$' ifconfig.out
	inet 10.188.254.1 netmask 0xffffff00 broadcast 255.255.255.255
grep 'inet 10.188.254.2 .* broadcast 10.188.254.255$' ifconfig.out
	inet 10.188.254.2 netmask 0xffffff00 broadcast 10.188.254.255

==== run-ether-ifaddr-duplicate ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
./ifaddr vether99 10.188.254.1/24
./ifaddr vether99 10.188.254.2/16 alias
# XXX replace the first address and create two identical addresses
./ifaddr vether99 10.188.254.2/24
/sbin/ifconfig vether99 >ifconfig.out
! grep 'inet 10.188.254.1 ' ifconfig.out
grep 'inet 10.188.254.2 netmask 0xffffff00 ' ifconfig.out
	inet 10.188.254.2 netmask 0xffffff00 broadcast 10.188.255.255
	inet 10.188.254.2 netmask 0xffffff00 broadcast 10.188.255.255
grep -c 'inet ' ifconfig.out | grep -q 2

==== run-ether-inet6-eui64 ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 inet6 eui64
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet6 fe80::[0-9a-f:]*ff:fe[0-9a-f:]*%vether99 ' ifconfig.out
	inet6 fe80::fce1:baff:fedf:820e%vether99 prefixlen 64 scopeid 0x2f

==== run-ether-inet6-addr ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 inet6 fdd7:e83e:66bc:254::74
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet6 fdd7:e83e:66bc:254::74 ' ifconfig.out
	inet6 fdd7:e83e:66bc:254::74 prefixlen 64 tentative
# setting an address creates eui64 automatically
grep 'inet6 fe80::[0-9a-f:]*ff:fe[0-9a-f:]*%vether99 ' ifconfig.out
	inet6 fe80::fce1:baff:fed0:6003%vether99 prefixlen 64 scopeid 0x30

==== run-ether-inet6-netmask ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 inet6 fdd7:e83e:66bc:254::74 netmask ffff:ffff:ffff:ffff:ffff::
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet6 fdd7:e83e:66bc:254::74 prefixlen 80 ' ifconfig.out
	inet6 fdd7:e83e:66bc:254::74 prefixlen 80 tentative

==== run-ether-inet6-contiguous-netmask ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 inet6 fdd7:e83e:66bc:254::74 netmask ffff:ffff:ffff:ffff:ffff::
/sbin/ifconfig vether99 inet6 fdd7:e83e:66bc:254::74 delete
!   /sbin/ifconfig vether99 inet6 fdd7:e83e:66bc:254::74 netmask ffff:ffff:ffff:ffff:ffff:4000::
ifconfig: SIOCAIFADDR: Invalid argument
/sbin/ifconfig vether99 >ifconfig.out
! grep 'inet6 fdd7:e83e:66bc:254::74 ' ifconfig.out

==== run-ether-inet6-contiguous-gap ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 inet6 fdd7:e83e:66bc:254::74 netmask ffff::
/sbin/ifconfig vether99 inet6 fdd7:e83e:66bc:254::74 delete
!   /sbin/ifconfig vether99 inet6 fdd7:e83e:66bc:254::74 netmask ffff::ff00:8
ifconfig: SIOCAIFADDR: Invalid argument
/sbin/ifconfig vether99 >ifconfig.out
! grep 'inet6 fdd7:e83e:66bc:254::74 ' ifconfig.out

==== run-ether-inet6-len ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 inet6 fdd7:e83e:66bc:254::74/80
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet6 fdd7:e83e:66bc:254::74 prefixlen 80 ' ifconfig.out
	inet6 fdd7:e83e:66bc:254::74 prefixlen 80 tentative

==== run-ether-inet6-prefixlen ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 inet6 fdd7:e83e:66bc:254::74 prefixlen 80
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet6 fdd7:e83e:66bc:254::74 prefixlen 80 ' ifconfig.out
	inet6 fdd7:e83e:66bc:254::74 prefixlen 80 tentative

==== run-ether-inet6-noreplace ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 inet6 fdd7:e83e:66bc:254::1
/sbin/ifconfig vether99 inet6 fdd7:e83e:66bc:254::2
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet6 fdd7:e83e:66bc:254::1 ' ifconfig.out
	inet6 fdd7:e83e:66bc:254::1 prefixlen 64 tentative
grep 'inet6 fdd7:e83e:66bc:254::2 ' ifconfig.out
	inet6 fdd7:e83e:66bc:254::2 prefixlen 64 tentative

==== run-ether-inet6-duplicate ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 inet6 fdd7:e83e:66bc:254::1
/sbin/ifconfig vether99 inet6 fdd7:e83e:66bc:254::1
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet6 fdd7:e83e:66bc:254::1 ' ifconfig.out
	inet6 fdd7:e83e:66bc:254::1 prefixlen 64 tentative
grep -c 'inet6 fdd7:e83e:66bc:254::' ifconfig.out | grep -q 1

==== run-ether-inet6-host ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 inet6 fdd7:e83e:66bc:254::1/128
# changing netmask of an exisintg address is not allowed
!   /sbin/ifconfig vether99 inet6 fdd7:e83e:66bc:254::1/64
ifconfig: SIOCAIFADDR: Invalid argument
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet6 fdd7:e83e:66bc:254::1 prefixlen 128 ' ifconfig.out
	inet6 fdd7:e83e:66bc:254::1 prefixlen 128 tentative
grep -c 'inet6 fdd7:e83e:66bc:254::' ifconfig.out | grep -q 1

==== run-ether-inet6-alias ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 inet6 fdd7:e83e:66bc:254::1
/sbin/ifconfig vether99 inet6 fdd7:e83e:66bc:254::2 alias
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet6 fdd7:e83e:66bc:254::1 ' ifconfig.out
	inet6 fdd7:e83e:66bc:254::1 prefixlen 64 tentative
grep 'inet6 fdd7:e83e:66bc:254::2 ' ifconfig.out
	inet6 fdd7:e83e:66bc:254::2 prefixlen 64 tentative

==== run-ether-inet6-delete ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 inet6 fdd7:e83e:66bc:254::1
/sbin/ifconfig vether99 inet6 fdd7:e83e:66bc:254::1 delete
/sbin/ifconfig vether99 >ifconfig.out
! grep 'inet6 fdd7:e83e:66bc:254::' ifconfig.out

==== run-ether-inet6-delete-first ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 inet6 fdd7:e83e:66bc:254::1
/sbin/ifconfig vether99 inet6 fdd7:e83e:66bc:254::2 alias
/sbin/ifconfig vether99 inet6 fdd7:e83e:66bc:254::1 delete
/sbin/ifconfig vether99 >ifconfig.out
! grep 'inet6 fdd7:e83e:66bc:254::1 ' ifconfig.out
grep 'inet6 fdd7:e83e:66bc:254::2 ' ifconfig.out
	inet6 fdd7:e83e:66bc:254::2 prefixlen 64 tentative

==== run-ether-inet6-delete-second ====
/sbin/ifconfig vether99 destroy 2>/dev/null || true
/sbin/ifconfig vether99 create
/sbin/ifconfig vether99 inet6 fdd7:e83e:66bc:254::1
/sbin/ifconfig vether99 inet6 fdd7:e83e:66bc:254::2 alias
/sbin/ifconfig vether99 inet6 fdd7:e83e:66bc:254::2 delete
/sbin/ifconfig vether99 >ifconfig.out
grep 'inet6 fdd7:e83e:66bc:254::1 ' ifconfig.out
	inet6 fdd7:e83e:66bc:254::1 prefixlen 64 tentative
! grep 'inet6 fdd7:e83e:66bc:254::2 ' ifconfig.out

==== run-ppp-inet6-eui64 ====
/sbin/ifconfig tun99 destroy 2>/dev/null || true
/sbin/ifconfig tun99 create
/sbin/ifconfig tun99 inet6 eui64
/sbin/ifconfig tun99 >ifconfig.out
grep 'inet6 fe80::[0-9a-f:]*ff:fe[0-9a-f:]*%tun99 ' ifconfig.out
	inet6 fe80::2e09:4dff:fe00:4b7%tun99 -->  prefixlen 64 scopeid 0x3d

==== run-ppp-inet6-addr ====
/sbin/ifconfig tun99 destroy 2>/dev/null || true
/sbin/ifconfig tun99 create
/sbin/ifconfig tun99 inet6 fdd7:e83e:66bc:253::74
/sbin/ifconfig tun99 >ifconfig.out
grep 'inet6 fdd7:e83e:66bc:253::74 ' ifconfig.out
	inet6 fdd7:e83e:66bc:253::74 -->  prefixlen 64 tentative
# setting an address creates eui64 automatically
grep 'inet6 fe80::[0-9a-f:]*ff:fe[0-9a-f:]*%tun99 ' ifconfig.out
	inet6 fe80::2e09:4dff:fe00:4b7%tun99 -->  prefixlen 64 scopeid 0x3e

==== run-ppp-inet6-len ====
/sbin/ifconfig tun99 destroy 2>/dev/null || true
/sbin/ifconfig tun99 create
/sbin/ifconfig tun99 inet6 fdd7:e83e:66bc:253::74/80
/sbin/ifconfig tun99 >ifconfig.out
grep 'inet6 fdd7:e83e:66bc:253::74 .* prefixlen 80 ' ifconfig.out
	inet6 fdd7:e83e:66bc:253::74 -->  prefixlen 80 tentative

==== run-ppp-inet6-destination ====
/sbin/ifconfig tun99 destroy 2>/dev/null || true
/sbin/ifconfig tun99 create
/sbin/ifconfig tun99 inet6 fdd7:e83e:66bc:253::74 fdd7:e83e:66bc:253::75
/sbin/ifconfig tun99 >ifconfig.out
grep 'inet6 fdd7:e83e:66bc:253::74 --> fdd7:e83e:66bc:253::75 ' ifconfig.out
	inet6 fdd7:e83e:66bc:253::74 --> fdd7:e83e:66bc:253::75 prefixlen 128 tentative

==== run-ppp-inet6-noreplace ====
/sbin/ifconfig tun99 destroy 2>/dev/null || true
/sbin/ifconfig tun99 create
/sbin/ifconfig tun99 inet6 fdd7:e83e:66bc:253::1 fdd7:e83e:66bc:253::75
/sbin/ifconfig tun99 inet6 fdd7:e83e:66bc:253::2 fdd7:e83e:66bc:253::75
/sbin/ifconfig tun99 >ifconfig.out
grep 'inet6 fdd7:e83e:66bc:253::1 --> fdd7:e83e:66bc:253::75 ' ifconfig.out
	inet6 fdd7:e83e:66bc:253::1 --> fdd7:e83e:66bc:253::75 prefixlen 128 tentative
grep 'inet6 fdd7:e83e:66bc:253::2 --> fdd7:e83e:66bc:253::75 ' ifconfig.out
	inet6 fdd7:e83e:66bc:253::2 --> fdd7:e83e:66bc:253::75 prefixlen 128 tentative

==== run-ppp-inet6-alias ====
/sbin/ifconfig tun99 destroy 2>/dev/null || true
/sbin/ifconfig tun99 create
/sbin/ifconfig tun99 inet6 fdd7:e83e:66bc:253::1 fdd7:e83e:66bc:253::75
/sbin/ifconfig tun99 inet6 fdd7:e83e:66bc:253::2 fdd7:e83e:66bc:253::75 alias
/sbin/ifconfig tun99 >ifconfig.out
grep 'inet6 fdd7:e83e:66bc:253::1 --> fdd7:e83e:66bc:253::75 ' ifconfig.out
	inet6 fdd7:e83e:66bc:253::1 --> fdd7:e83e:66bc:253::75 prefixlen 128 tentative
grep 'inet6 fdd7:e83e:66bc:253::2 --> fdd7:e83e:66bc:253::75 ' ifconfig.out
	inet6 fdd7:e83e:66bc:253::2 --> fdd7:e83e:66bc:253::75 prefixlen 128 tentative

==== cleanup ====
/sbin/ifconfig vether99 destroy || true
/sbin/ifconfig tun99 destroy || true

PASS	sbin/ifconfig	Duration 0m15.56s