START	sys/net/pf_divert	2025-03-12T04:55:23Z


true
ssh -t ot2  true
Pseudo-terminal will not be allocated because stdin is not a terminal.
route -n delete -inet -host 10.188.81.188 2>/dev/null
delete host 10.188.81.188: not in table
*** Error 1 in target '.BEGIN' (ignored)
route -n add -inet -host 10.188.81.188 10.188.81.22
add host 10.188.81.188: gateway 10.188.81.22
route -n delete -inet6 -host fdd7:e83e:66bc:81::188 2>/dev/null
delete host fdd7:e83e:66bc:81::188: not in table
*** Error 1 in target '.BEGIN' (ignored)
route -n add -inet6 -host fdd7:e83e:66bc:81::188 fdd7:e83e:66bc:81::22
add host fdd7:e83e:66bc:81::188: gateway fdd7:e83e:66bc:81::22
==== run-inet-args-tcp-to ====
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.22 ot2  /usr/src/regress/sys/net/pf_divert/args-tcp-to.pl
    0m01.08s real     0m00.19s user     0m00.06s system

==== run-inet6-args-tcp-to ====
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::22 ot2  /usr/src/regress/sys/net/pf_divert/args-tcp-to.pl
    0m01.03s real     0m00.12s user     0m00.09s system

==== run-inet-args-tcp-reply ====
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.22 ot2  /usr/src/regress/sys/net/pf_divert/args-tcp-reply.pl
    0m01.15s real     0m00.15s user     0m00.07s system

==== run-inet6-args-tcp-reply ====
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::22 ot2  /usr/src/regress/sys/net/pf_divert/args-tcp-reply.pl
    0m01.13s real     0m00.15s user     0m00.04s system

==== run-inet-args-udp-to ====
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.22 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-to.pl
    0m01.04s real     0m00.14s user     0m00.05s system

==== run-inet6-args-udp-to ====
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::22 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-to.pl
    0m01.03s real     0m00.14s user     0m00.06s system

==== run-inet-args-udp-reply ====
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.22 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-reply.pl
    0m01.14s real     0m00.14s user     0m00.05s system

==== run-inet6-args-udp-reply ====
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::22 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-reply.pl
    0m01.14s real     0m00.19s user     0m00.03s system

==== run-inet-args-udp-reply-to ====
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.22 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-reply-to.pl
    0m01.15s real     0m00.16s user     0m00.02s system

==== run-inet6-args-udp-reply-to ====
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::22 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-reply-to.pl
    0m01.14s real     0m00.16s user     0m00.03s system

==== run-inet-args-rip-to ====
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.22 ot2  /usr/src/regress/sys/net/pf_divert/args-rip-to.pl
    0m01.04s real     0m00.16s user     0m00.04s system

==== run-inet6-args-rip-to ====
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::22 ot2  /usr/src/regress/sys/net/pf_divert/args-rip-to.pl
    0m01.03s real     0m00.16s user     0m00.05s system

==== run-inet-args-rip-reply ====
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.22 ot2  /usr/src/regress/sys/net/pf_divert/args-rip-reply.pl
    0m01.14s real     0m00.14s user     0m00.06s system

==== run-inet6-args-rip-reply ====
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::22 ot2  /usr/src/regress/sys/net/pf_divert/args-rip-reply.pl
    0m01.14s real     0m00.15s user     0m00.06s system

==== run-inet-args-rip-reply-to ====
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.22 ot2  /usr/src/regress/sys/net/pf_divert/args-rip-reply-to.pl
    0m01.14s real     0m00.17s user     0m00.05s system

==== run-inet6-args-rip-reply-to ====
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::22 ot2  /usr/src/regress/sys/net/pf_divert/args-rip-reply-to.pl
    0m01.14s real     0m00.11s user     0m00.08s system

==== run-inet-args-icmp-to ====
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.22 ot2  /usr/src/regress/sys/net/pf_divert/args-icmp-to.pl
    0m01.04s real     0m00.11s user     0m00.10s system

==== run-inet6-args-icmp-to ====
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::22 ot2  /usr/src/regress/sys/net/pf_divert/args-icmp-to.pl
    0m01.04s real     0m00.14s user     0m00.07s system

==== run-inet-args-icmp-reply-to ====
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.22 ot2  /usr/src/regress/sys/net/pf_divert/args-icmp-reply-to.pl
    0m01.02s real     0m00.13s user     0m00.04s system

==== run-inet6-args-icmp-reply-to ====
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::22 ot2  /usr/src/regress/sys/net/pf_divert/args-icmp-reply-to.pl
    0m01.02s real     0m00.17s user     0m00.03s system

==== run-inet-args-icmp-reply-reuse ====
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.22 ot2  /usr/src/regress/sys/net/pf_divert/args-icmp-reply-reuse.pl
    0m01.03s real     0m00.12s user     0m00.08s system

==== run-inet6-args-icmp-reply-reuse ====
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::22 ot2  /usr/src/regress/sys/net/pf_divert/args-icmp-reply-reuse.pl
    0m01.03s real     0m00.13s user     0m00.06s system

==== run-inet-reuse-tcp-to-to ====
# create state with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.188 ot2  /usr/src/regress/sys/net/pf_divert/args-tcp-to.pl
    0m01.03s real     0m00.16s user     0m00.04s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# drop client tcp socket still in time wait to allow reuse
# to avoid SYN retransmit, kill local tcp state that will be reused
pfctl -k key -k 'tcp 10.188.81.21:'`cat server.port`' -> 10.188.81.188:'`cat client.port`''
killed 1 states
# tcp socket is in time wait so state must still exist
ssh ot2  pfctl -ss |  egrep 'all tcp 10.188.81.188:?\[?'`cat client.port`'\]? .. 10.188.81.21:?\[?'`cat server.port`'\]? '
all tcp 10.188.81.188:13298 <- 10.188.81.21:32010       FIN_WAIT_2:FIN_WAIT_2
ssh ot2  tcpdrop  10.188.81.188 `cat client.port`  10.188.81.21 `cat server.port`
10.188.81.188:13298 10.188.81.21:32010 dropped
# divert-to state disappeared when the tcp socket was dropped
ssh ot2  pfctl -ss | !  egrep 'all tcp 10.188.81.188:?\[?'`cat client.port`'\]? .. 10.188.81.21:?\[?'`cat server.port`'\]? '
# divert-to state has disappeared as tcp socket is always connected
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
# create state again with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet  10.188.81.21 10.188.81.188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-tcp-to.pl
    0m01.05s real     0m00.19s user     0m00.04s system
# dropping the server tcp socket in time wait must remove the state
ssh ot2  pfctl -ss |  egrep 'all tcp 10.188.81.188:?\[?'`cat server.port`'\]? .. 10.188.81.21:?\[?'`cat client.port`'\]? '
all tcp 10.188.81.188:32010 <- 10.188.81.21:13298       FIN_WAIT_2:FIN_WAIT_2
ssh ot2  tcpdrop  10.188.81.188 `cat server.port`  10.188.81.21 `cat client.port`
10.188.81.188:32010 10.188.81.21:13298 dropped
ssh ot2  pfctl -ss | !  egrep 'all tcp 10.188.81.188:?\[?'`cat server.port`'\]? .. 10.188.81.21:?\[?'`cat client.port`'\]? '
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '

==== run-inet6-reuse-tcp-to-to ====
# create state with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  /usr/src/regress/sys/net/pf_divert/args-tcp-to.pl
    0m01.04s real     0m00.15s user     0m00.05s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# drop client tcp socket still in time wait to allow reuse
# to avoid SYN retransmit, kill local tcp state that will be reused
pfctl -k key -k 'tcp fdd7:e83e:66bc:81::21['`cat server.port`'] -> fdd7:e83e:66bc:81::188['`cat client.port`']'
killed 1 states
# tcp socket is in time wait so state must still exist
ssh ot2  pfctl -ss |  egrep 'all tcp fdd7:e83e:66bc:81::188:?\[?'`cat client.port`'\]? .. fdd7:e83e:66bc:81::21:?\[?'`cat server.port`'\]? '
all tcp fdd7:e83e:66bc:81::188[7976] <- fdd7:e83e:66bc:81::21[16494]       FIN_WAIT_2:FIN_WAIT_2
ssh ot2  tcpdrop  fdd7:e83e:66bc:81::188 `cat client.port`  fdd7:e83e:66bc:81::21 `cat server.port`
[fdd7:e83e:66bc:81::188]:7976 [fdd7:e83e:66bc:81::21]:16494 dropped
# divert-to state disappeared when the tcp socket was dropped
ssh ot2  pfctl -ss | !  egrep 'all tcp fdd7:e83e:66bc:81::188:?\[?'`cat client.port`'\]? .. fdd7:e83e:66bc:81::21:?\[?'`cat server.port`'\]? '
# divert-to state has disappeared as tcp socket is always connected
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
# create state again with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-tcp-to.pl
    0m01.05s real     0m00.10s user     0m00.05s system
# dropping the server tcp socket in time wait must remove the state
ssh ot2  pfctl -ss |  egrep 'all tcp fdd7:e83e:66bc:81::188:?\[?'`cat server.port`'\]? .. fdd7:e83e:66bc:81::21:?\[?'`cat client.port`'\]? '
all tcp fdd7:e83e:66bc:81::188[16494] <- fdd7:e83e:66bc:81::21[7976]       FIN_WAIT_2:FIN_WAIT_2
ssh ot2  tcpdrop  fdd7:e83e:66bc:81::188 `cat server.port`  fdd7:e83e:66bc:81::21 `cat client.port`
[fdd7:e83e:66bc:81::188]:16494 [fdd7:e83e:66bc:81::21]:7976 dropped
ssh ot2  pfctl -ss | !  egrep 'all tcp fdd7:e83e:66bc:81::188:?\[?'`cat server.port`'\]? .. fdd7:e83e:66bc:81::21:?\[?'`cat client.port`'\]? '
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '

==== run-inet-reuse-tcp-to-reply ====
# create state with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.188 ot2  /usr/src/regress/sys/net/pf_divert/args-tcp-to.pl
    0m01.04s real     0m00.14s user     0m00.07s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# drop client tcp socket still in time wait to allow reuse
# to avoid SYN retransmit, kill local tcp state that will be reused
pfctl -k key -k 'tcp 10.188.81.21:'`cat server.port`' -> 10.188.81.188:'`cat client.port`''
killed 1 states
# tcp socket is in time wait so state must still exist
ssh ot2  pfctl -ss |  egrep 'all tcp 10.188.81.188:?\[?'`cat client.port`'\]? .. 10.188.81.21:?\[?'`cat server.port`'\]? '
all tcp 10.188.81.188:31664 <- 10.188.81.21:23780       FIN_WAIT_2:FIN_WAIT_2
ssh ot2  tcpdrop  10.188.81.188 `cat client.port`  10.188.81.21 `cat server.port`
10.188.81.188:31664 10.188.81.21:23780 dropped
# divert-to state disappeared when the tcp socket was dropped
ssh ot2  pfctl -ss | !  egrep 'all tcp 10.188.81.188:?\[?'`cat client.port`'\]? .. 10.188.81.21:?\[?'`cat server.port`'\]? '
# divert-to state has disappeared as tcp socket is always connected
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
# create state again with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet  10.188.81.21 10.188.81.188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-tcp-reply.pl
    0m01.26s real     0m00.15s user     0m00.06s system
# drop client tcp socket still in time wait to clean up
tcpdrop  10.188.81.21 `cat server.port`  10.188.81.188 `cat client.port`
10.188.81.21:23780 10.188.81.188:31664 dropped
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '

==== run-inet6-reuse-tcp-to-reply ====
# create state with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  /usr/src/regress/sys/net/pf_divert/args-tcp-to.pl
    0m01.04s real     0m00.16s user     0m00.06s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# drop client tcp socket still in time wait to allow reuse
# to avoid SYN retransmit, kill local tcp state that will be reused
pfctl -k key -k 'tcp fdd7:e83e:66bc:81::21['`cat server.port`'] -> fdd7:e83e:66bc:81::188['`cat client.port`']'
killed 1 states
# tcp socket is in time wait so state must still exist
ssh ot2  pfctl -ss |  egrep 'all tcp fdd7:e83e:66bc:81::188:?\[?'`cat client.port`'\]? .. fdd7:e83e:66bc:81::21:?\[?'`cat server.port`'\]? '
all tcp fdd7:e83e:66bc:81::188[12393] <- fdd7:e83e:66bc:81::21[6704]       FIN_WAIT_2:FIN_WAIT_2
ssh ot2  tcpdrop  fdd7:e83e:66bc:81::188 `cat client.port`  fdd7:e83e:66bc:81::21 `cat server.port`
[fdd7:e83e:66bc:81::188]:12393 [fdd7:e83e:66bc:81::21]:6704 dropped
# divert-to state disappeared when the tcp socket was dropped
ssh ot2  pfctl -ss | !  egrep 'all tcp fdd7:e83e:66bc:81::188:?\[?'`cat client.port`'\]? .. fdd7:e83e:66bc:81::21:?\[?'`cat server.port`'\]? '
# divert-to state has disappeared as tcp socket is always connected
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
# create state again with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-tcp-reply.pl
    0m01.15s real     0m00.15s user     0m00.06s system
# drop client tcp socket still in time wait to clean up
tcpdrop  fdd7:e83e:66bc:81::21 `cat server.port`  fdd7:e83e:66bc:81::188 `cat client.port`
[fdd7:e83e:66bc:81::21]:6704 [fdd7:e83e:66bc:81::188]:12393 dropped
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '

==== run-inet-reuse-tcp-reply-to ====
# create state with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.188 ot2  /usr/src/regress/sys/net/pf_divert/args-tcp-reply.pl
    0m01.14s real     0m00.11s user     0m00.12s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# drop client tcp socket still in time wait to allow reuse
tcpdrop  10.188.81.21 `cat client.port`  10.188.81.188 `cat server.port`
10.188.81.21:15735 10.188.81.188:47406 dropped
# to avoid SYN retransmit, kill local tcp state that will be reused
pfctl -k key -k 'tcp 10.188.81.21:'`cat client.port`' <- 10.188.81.188:'`cat server.port`''
killed 1 states
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
# create state again with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet  10.188.81.21 10.188.81.188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-tcp-to.pl
    0m01.05s real     0m00.12s user     0m00.03s system
# dropping the server tcp socket in time wait must remove the state
ssh ot2  pfctl -ss |  egrep 'all tcp 10.188.81.188:?\[?'`cat server.port`'\]? .. 10.188.81.21:?\[?'`cat client.port`'\]? '
all tcp 10.188.81.188:47406 <- 10.188.81.21:15735       FIN_WAIT_2:FIN_WAIT_2
ssh ot2  tcpdrop  10.188.81.188 `cat server.port`  10.188.81.21 `cat client.port`
10.188.81.188:47406 10.188.81.21:15735 dropped
ssh ot2  pfctl -ss | !  egrep 'all tcp 10.188.81.188:?\[?'`cat server.port`'\]? .. 10.188.81.21:?\[?'`cat client.port`'\]? '
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '

==== run-inet6-reuse-tcp-reply-to ====
# create state with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  /usr/src/regress/sys/net/pf_divert/args-tcp-reply.pl
    0m01.14s real     0m00.15s user     0m00.04s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# drop client tcp socket still in time wait to allow reuse
tcpdrop  fdd7:e83e:66bc:81::21 `cat client.port`  fdd7:e83e:66bc:81::188 `cat server.port`
[fdd7:e83e:66bc:81::21]:28534 [fdd7:e83e:66bc:81::188]:28893 dropped
# to avoid SYN retransmit, kill local tcp state that will be reused
pfctl -k key -k 'tcp fdd7:e83e:66bc:81::21['`cat client.port`'] <- fdd7:e83e:66bc:81::188['`cat server.port`']'
killed 1 states
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
# create state again with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-tcp-to.pl
    0m01.05s real     0m00.08s user     0m00.07s system
# dropping the server tcp socket in time wait must remove the state
ssh ot2  pfctl -ss |  egrep 'all tcp fdd7:e83e:66bc:81::188:?\[?'`cat server.port`'\]? .. fdd7:e83e:66bc:81::21:?\[?'`cat client.port`'\]? '
all tcp fdd7:e83e:66bc:81::188[28893] <- fdd7:e83e:66bc:81::21[28534]       FIN_WAIT_2:FIN_WAIT_2
ssh ot2  tcpdrop  fdd7:e83e:66bc:81::188 `cat server.port`  fdd7:e83e:66bc:81::21 `cat client.port`
[fdd7:e83e:66bc:81::188]:28893 [fdd7:e83e:66bc:81::21]:28534 dropped
ssh ot2  pfctl -ss | !  egrep 'all tcp fdd7:e83e:66bc:81::188:?\[?'`cat server.port`'\]? .. fdd7:e83e:66bc:81::21:?\[?'`cat client.port`'\]? '
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '

==== run-inet-reuse-tcp-reply-reply ====
# create state with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.188 ot2  /usr/src/regress/sys/net/pf_divert/args-tcp-reply.pl
    0m01.14s real     0m00.18s user     0m00.03s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# drop client tcp socket still in time wait to allow reuse
tcpdrop  10.188.81.21 `cat client.port`  10.188.81.188 `cat server.port`
10.188.81.21:35776 10.188.81.188:31978 dropped
# to avoid SYN retransmit, kill local tcp state that will be reused
pfctl -k key -k 'tcp 10.188.81.21:'`cat client.port`' <- 10.188.81.188:'`cat server.port`''
killed 1 states
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
# create state again with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet  10.188.81.21 10.188.81.188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-tcp-reply.pl
    0m01.26s real     0m00.18s user     0m00.05s system
# drop client tcp socket still in time wait to clean up
tcpdrop  10.188.81.21 `cat server.port`  10.188.81.188 `cat client.port`
10.188.81.21:31978 10.188.81.188:35776 dropped
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '

==== run-inet6-reuse-tcp-reply-reply ====
# create state with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  /usr/src/regress/sys/net/pf_divert/args-tcp-reply.pl
    0m01.14s real     0m00.18s user     0m00.06s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# drop client tcp socket still in time wait to allow reuse
tcpdrop  fdd7:e83e:66bc:81::21 `cat client.port`  fdd7:e83e:66bc:81::188 `cat server.port`
[fdd7:e83e:66bc:81::21]:38267 [fdd7:e83e:66bc:81::188]:23980 dropped
# to avoid SYN retransmit, kill local tcp state that will be reused
pfctl -k key -k 'tcp fdd7:e83e:66bc:81::21['`cat client.port`'] <- fdd7:e83e:66bc:81::188['`cat server.port`']'
killed 1 states
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
# create state again with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-tcp-reply.pl
    0m01.27s real     0m00.14s user     0m00.06s system
# drop client tcp socket still in time wait to clean up
tcpdrop  fdd7:e83e:66bc:81::21 `cat server.port`  fdd7:e83e:66bc:81::188 `cat client.port`
[fdd7:e83e:66bc:81::21]:23980 [fdd7:e83e:66bc:81::188]:38267 dropped
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '

==== run-inet-reuse-udp-to-to ====
# create state with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.188 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-to.pl
    0m01.03s real     0m00.15s user     0m00.06s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-to state still exists as the socket is unconnected
ssh ot2  pfctl -ss |   egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
all udp 10.188.81.188:18489 <- 10.188.81.21:8228       NO_TRAFFIC:SINGLE
# create state again with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet  10.188.81.21 10.188.81.188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-udp-to.pl
    0m01.05s real     0m00.12s user     0m00.07s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss |   egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
all udp 10.188.81.188:18489 <- 10.188.81.21:8228       NO_TRAFFIC:SINGLE
all udp 10.188.81.188:8228 <- 10.188.81.21:18489       NO_TRAFFIC:SINGLE

==== run-inet6-reuse-udp-to-to ====
# create state with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-to.pl
    0m01.04s real     0m00.15s user     0m00.07s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-to state still exists as the socket is unconnected
ssh ot2  pfctl -ss |   egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
all udp fdd7:e83e:66bc:81::188[28069] <- fdd7:e83e:66bc:81::21[26122]       NO_TRAFFIC:SINGLE
# create state again with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-udp-to.pl
    0m01.04s real     0m00.14s user     0m00.07s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss |   egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
all udp fdd7:e83e:66bc:81::188[28069] <- fdd7:e83e:66bc:81::21[26122]       NO_TRAFFIC:SINGLE
all udp fdd7:e83e:66bc:81::188[26122] <- fdd7:e83e:66bc:81::21[28069]       NO_TRAFFIC:SINGLE

==== run-inet-reuse-udp-to-reply ====
# create state with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.188 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-to.pl
    0m01.04s real     0m00.17s user     0m00.06s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-to state still exists as the socket is unconnected
ssh ot2  pfctl -ss |   egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
all udp 10.188.81.188:5003 <- 10.188.81.21:26835       NO_TRAFFIC:SINGLE
# create state again with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet  10.188.81.21 10.188.81.188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-udp-reply.pl
    0m01.15s real     0m00.14s user     0m00.05s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '

==== run-inet6-reuse-udp-to-reply ====
# create state with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-to.pl
    0m01.04s real     0m00.15s user     0m00.06s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-to state still exists as the socket is unconnected
ssh ot2  pfctl -ss |   egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
all udp fdd7:e83e:66bc:81::188[30405] <- fdd7:e83e:66bc:81::21[26854]       NO_TRAFFIC:SINGLE
# create state again with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-udp-reply.pl
    0m01.15s real     0m00.18s user     0m00.04s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '

==== run-inet-reuse-udp-to-reply-to ====
# create state with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.188 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-to.pl
    0m01.03s real     0m00.15s user     0m00.05s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-to state still exists as the socket is unconnected
ssh ot2  pfctl -ss |   egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
all udp 10.188.81.188:6484 <- 10.188.81.21:23949       NO_TRAFFIC:SINGLE
# create state again with reply-to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet  10.188.81.21 10.188.81.188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-udp-reply-to.pl
    0m01.26s real     0m00.18s user     0m00.04s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '

==== run-inet6-reuse-udp-to-reply-to ====
# create state with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-to.pl
    0m01.04s real     0m00.17s user     0m00.05s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-to state still exists as the socket is unconnected
ssh ot2  pfctl -ss |   egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
all udp fdd7:e83e:66bc:81::188[4336] <- fdd7:e83e:66bc:81::21[29599]       NO_TRAFFIC:SINGLE
# create state again with reply-to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-udp-reply-to.pl
    0m01.26s real     0m00.14s user     0m00.06s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '

==== run-inet-reuse-udp-reply-to ====
# create state with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.188 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-reply.pl
    0m01.14s real     0m00.13s user     0m00.07s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
# create state again with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet  10.188.81.21 10.188.81.188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-udp-to.pl
    0m01.05s real     0m00.18s user     0m00.06s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss |   egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
all udp 10.188.81.188:38220 <- 10.188.81.21:10145       NO_TRAFFIC:SINGLE

==== run-inet6-reuse-udp-reply-to ====
# create state with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-reply.pl
    0m01.14s real     0m00.11s user     0m00.10s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
# create state again with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-udp-to.pl
    0m01.04s real     0m00.14s user     0m00.06s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss |   egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
all udp fdd7:e83e:66bc:81::188[10383] <- fdd7:e83e:66bc:81::21[31443]       NO_TRAFFIC:SINGLE

==== run-inet-reuse-udp-reply-reply ====
# create state with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.188 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-reply.pl
    0m01.14s real     0m00.18s user     0m00.02s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
# create state again with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet  10.188.81.21 10.188.81.188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-udp-reply.pl
    0m01.15s real     0m00.13s user     0m00.07s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '

==== run-inet6-reuse-udp-reply-reply ====
# create state with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-reply.pl
    0m01.14s real     0m00.15s user     0m00.07s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
# create state again with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-udp-reply.pl
    0m01.15s real     0m00.13s user     0m00.07s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '

==== run-inet-reuse-udp-reply-reply-to ====
# create state with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.188 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-reply.pl
    0m01.14s real     0m00.16s user     0m00.03s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
# create state again with reply-to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet  10.188.81.21 10.188.81.188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-udp-reply-to.pl
    0m01.15s real     0m00.16s user     0m00.04s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '

==== run-inet6-reuse-udp-reply-reply-to ====
# create state with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-reply.pl
    0m01.14s real     0m00.14s user     0m00.09s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
# create state again with reply-to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-udp-reply-to.pl
    0m01.15s real     0m00.13s user     0m00.06s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '

==== run-inet-reuse-udp-reply-to-to ====
# create state with reply-to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.188 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-reply-to.pl
    0m01.14s real     0m00.16s user     0m00.03s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
# create state again with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet  10.188.81.21 10.188.81.188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-udp-to.pl
    0m01.04s real     0m00.14s user     0m00.05s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss |   egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
all udp 10.188.81.188:40157 <- 10.188.81.21:4568       NO_TRAFFIC:SINGLE

==== run-inet6-reuse-udp-reply-to-to ====
# create state with reply-to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-reply-to.pl
    0m01.14s real     0m00.13s user     0m00.06s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
# create state again with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-udp-to.pl
    0m01.04s real     0m00.14s user     0m00.07s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss |   egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
all udp fdd7:e83e:66bc:81::188[46930] <- fdd7:e83e:66bc:81::21[32883]       NO_TRAFFIC:SINGLE

==== run-inet-reuse-udp-reply-to-reply ====
# create state with reply-to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.188 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-reply-to.pl
    0m01.14s real     0m00.17s user     0m00.05s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
# create state again with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet  10.188.81.21 10.188.81.188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-udp-reply.pl
    0m01.15s real     0m00.17s user     0m00.03s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '

==== run-inet6-reuse-udp-reply-to-reply ====
# create state with reply-to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-reply-to.pl
    0m01.14s real     0m00.12s user     0m00.09s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
# create state again with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-udp-reply.pl
    0m01.15s real     0m00.12s user     0m00.07s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '

==== run-inet-reuse-udp-reply-to-reply-to ====
# create state with reply-to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.188 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-reply-to.pl
    0m01.14s real     0m00.17s user     0m00.05s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
# create state again with reply-to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet  10.188.81.21 10.188.81.188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-udp-reply-to.pl
    0m01.15s real     0m00.15s user     0m00.08s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '

==== run-inet6-reuse-udp-reply-to-reply-to ====
# create state with reply-to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-reply-to.pl
    0m01.14s real     0m00.18s user     0m00.03s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
# create state again with reply-to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-udp-reply-to.pl
    0m01.26s real     0m00.15s user     0m00.04s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '

==== run-inet-reuse-rip-to-to ====
# create state with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.188 ot2  /usr/src/regress/sys/net/pf_divert/args-rip-to.pl
    0m01.03s real     0m00.13s user     0m00.07s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-to state still exists as the socket is unconnected
ssh ot2  pfctl -ss |   egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
all 254 10.188.81.188 <- 10.188.81.21       NO_TRAFFIC:SINGLE
# create state again with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet  10.188.81.21 10.188.81.188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-rip-to.pl
    0m01.05s real     0m00.11s user     0m00.05s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss |   egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
all 254 10.188.81.188 <- 10.188.81.21       NO_TRAFFIC:SINGLE

==== run-inet6-reuse-rip-to-to ====
# create state with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  /usr/src/regress/sys/net/pf_divert/args-rip-to.pl
    0m01.03s real     0m00.15s user     0m00.05s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-to state still exists as the socket is unconnected
ssh ot2  pfctl -ss |   egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
all 254 fdd7:e83e:66bc:81::188 <- fdd7:e83e:66bc:81::21       NO_TRAFFIC:SINGLE
# create state again with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-rip-to.pl
    0m01.05s real     0m00.16s user     0m00.05s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss |   egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
all 254 fdd7:e83e:66bc:81::188 <- fdd7:e83e:66bc:81::21       NO_TRAFFIC:SINGLE

==== run-inet-reuse-rip-to-reply ====
# create state with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.188 ot2  /usr/src/regress/sys/net/pf_divert/args-rip-to.pl
    0m01.04s real     0m00.15s user     0m00.06s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-to state still exists as the socket is unconnected
ssh ot2  pfctl -ss |   egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
all 254 10.188.81.188 <- 10.188.81.21       NO_TRAFFIC:SINGLE
# create state again with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet  10.188.81.21 10.188.81.188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-rip-reply.pl
    0m01.15s real     0m00.14s user     0m00.09s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '

==== run-inet6-reuse-rip-to-reply ====
# create state with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  /usr/src/regress/sys/net/pf_divert/args-rip-to.pl
    0m01.04s real     0m00.16s user     0m00.05s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-to state still exists as the socket is unconnected
ssh ot2  pfctl -ss |   egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
all 254 fdd7:e83e:66bc:81::188 <- fdd7:e83e:66bc:81::21       NO_TRAFFIC:SINGLE
# create state again with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-rip-reply.pl
    0m01.15s real     0m00.16s user     0m00.04s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '

==== run-inet-reuse-rip-to-reply-to ====
rip to before reply is broken, it does not remove the state.
DISABLED

==== run-inet6-reuse-rip-to-reply-to ====
rip to before reply is broken, it does not remove the state.
DISABLED

==== run-inet-reuse-rip-reply-to ====
# create state with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.188 ot2  /usr/src/regress/sys/net/pf_divert/args-rip-reply.pl
    0m01.14s real     0m00.13s user     0m00.07s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
# create state again with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet  10.188.81.21 10.188.81.188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-rip-to.pl
    0m01.05s real     0m00.15s user     0m00.04s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss |   egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
all 254 10.188.81.188 <- 10.188.81.21       NO_TRAFFIC:SINGLE

==== run-inet6-reuse-rip-reply-to ====
# create state with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  /usr/src/regress/sys/net/pf_divert/args-rip-reply.pl
    0m01.14s real     0m00.14s user     0m00.06s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
# create state again with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-rip-to.pl
    0m01.05s real     0m00.17s user     0m00.06s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss |   egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
all 254 fdd7:e83e:66bc:81::188 <- fdd7:e83e:66bc:81::21       NO_TRAFFIC:SINGLE

==== run-inet-reuse-rip-reply-reply ====
# create state with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.188 ot2  /usr/src/regress/sys/net/pf_divert/args-rip-reply.pl
    0m01.14s real     0m00.12s user     0m00.07s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
# create state again with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet  10.188.81.21 10.188.81.188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-rip-reply.pl
    0m01.15s real     0m00.12s user     0m00.08s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '

==== run-inet6-reuse-rip-reply-reply ====
# create state with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  /usr/src/regress/sys/net/pf_divert/args-rip-reply.pl
    0m01.14s real     0m00.14s user     0m00.02s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
# create state again with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-rip-reply.pl
    0m01.15s real     0m00.18s user     0m00.03s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '

==== run-inet-reuse-rip-reply-reply-to ====
# create state with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.188 ot2  /usr/src/regress/sys/net/pf_divert/args-rip-reply.pl
    0m01.14s real     0m00.15s user     0m00.09s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
# create state again with reply-to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet  10.188.81.21 10.188.81.188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-rip-reply-to.pl
    0m01.15s real     0m00.20s user     0m00.01s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '

==== run-inet6-reuse-rip-reply-reply-to ====
# create state with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  /usr/src/regress/sys/net/pf_divert/args-rip-reply.pl
    0m01.14s real     0m00.15s user     0m00.08s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
# create state again with reply-to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-rip-reply-to.pl
    0m01.26s real     0m00.12s user     0m00.08s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '

==== run-inet-reuse-rip-reply-to-to ====
# create state with reply-to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.188 ot2  /usr/src/regress/sys/net/pf_divert/args-rip-reply-to.pl
    0m01.14s real     0m00.17s user     0m00.05s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
# create state again with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet  10.188.81.21 10.188.81.188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-rip-to.pl
    0m01.05s real     0m00.15s user     0m00.01s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss |   egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
all 254 10.188.81.188 <- 10.188.81.21       NO_TRAFFIC:SINGLE

==== run-inet6-reuse-rip-reply-to-to ====
# create state with reply-to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  /usr/src/regress/sys/net/pf_divert/args-rip-reply-to.pl
    0m01.14s real     0m00.12s user     0m00.09s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
# create state again with to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-rip-to.pl
    0m01.05s real     0m00.12s user     0m00.04s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss |   egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
all 254 fdd7:e83e:66bc:81::188 <- fdd7:e83e:66bc:81::21       NO_TRAFFIC:SINGLE

==== run-inet-reuse-rip-reply-to-reply ====
# create state with reply-to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.188 ot2  /usr/src/regress/sys/net/pf_divert/args-rip-reply-to.pl
    0m01.14s real     0m00.17s user     0m00.02s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
# create state again with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet  10.188.81.21 10.188.81.188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-rip-reply.pl
    0m01.15s real     0m00.17s user     0m00.05s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '

==== run-inet6-reuse-rip-reply-to-reply ====
# create state with reply-to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  /usr/src/regress/sys/net/pf_divert/args-rip-reply-to.pl
    0m01.14s real     0m00.19s user     0m00.04s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
# create state again with reply divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-rip-reply.pl
    0m01.15s real     0m00.15s user     0m00.05s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '

==== run-inet-reuse-rip-reply-to-reply-to ====
# create state with reply-to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.188 ot2  /usr/src/regress/sys/net/pf_divert/args-rip-reply-to.pl
    0m01.14s real     0m00.14s user     0m00.03s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '
# create state again with reply-to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet  10.188.81.21 10.188.81.188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-rip-reply-to.pl
    0m01.27s real     0m00.12s user     0m00.09s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) 10.188.81.188[][0-9:]* .. 10.188.81.21[][0-9:]* '

==== run-inet6-reuse-rip-reply-to-reply-to ====
# create state with reply-to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  /usr/src/regress/sys/net/pf_divert/args-rip-reply-to.pl
    0m01.14s real     0m00.15s user     0m00.04s system
sed -n '/^connect peer:/s/.* //p' client.log >client.port
sed -n '/^connect sock:/s/.* //p' client.log >server.port
# divert-reply state has disappeared when the connected socket closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '
# create state again with reply-to divert rule
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::188 ot2  `cat client.port` `cat server.port`  /usr/src/regress/sys/net/pf_divert/args-rip-reply-to.pl
    0m01.26s real     0m00.16s user     0m00.05s system
# states must disappear after connected socket has been closed
ssh ot2  pfctl -ss | !  egrep ' (tcp|udp|254) fdd7:e83e:66bc:81::188[][0-9:]* .. fdd7:e83e:66bc:81::21[][0-9:]* '

==== run-inet-args-udp-packet-in ====
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.22 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-packet-in.pl
    0m01.16s real     0m00.11s user     0m00.07s system

==== run-inet6-args-udp-packet-in ====
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::22 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-packet-in.pl
    0m01.15s real     0m00.14s user     0m00.07s system

==== run-inet-args-udp-packet-out ====
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet  10.188.81.21 10.188.81.22 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-packet-out.pl
    0m01.25s real     0m00.18s user     0m00.03s system

==== run-inet6-args-udp-packet-out ====
time  SUDO= KTRACE=  perl -I/usr/src/regress/sys/net/pf_divert /usr/src/regress/sys/net/pf_divert/remote.pl -f inet6  fdd7:e83e:66bc:81::21 fdd7:e83e:66bc:81::22 ot2  /usr/src/regress/sys/net/pf_divert/args-udp-packet-out.pl
    0m01.25s real     0m00.17s user     0m00.05s system

PASS	sys/net/pf_divert	Duration 3m07.77s