Lines Matching +full:shutdown +full:- +full:ack
1 # SPDX-License-Identifier: ISC
19 # -a (turn on ASN lookups)
20 # -A (specify ASN lookup server)
21 # -d (enable SO_DEBUG)
22 # -D (print the diff between our packet and the quote in the ICMP error)
23 # -E (detect ECN bleaching)
24 # -n (or rather, we enable -n by default and don't test without it)
25 # -S (print per-hop packet loss)
26 # -v (verbose output)
27 # -w (how long to wait for an error response)
28 # -x (toggle IP checksums)
29 # -z (how long to wait between each probe)
34 # - only send a single probe packet to reduce the risk of kernel ICMP
35 # rate-limiting breaking the test.
36 # - only trace up to 5 hops and only wait 1 second for a response so the test
38 # - disable DNS resolution as we don't usually care about this.
39 TR_FLAGS="-w 1 -q 1 -m 5 -n"
88 jexec trsrc route add -inet ${TEST_PREFIX} ${LINK_TRSRC_TRRTR}
101 jexec trdst route add -inet ${TEST_PREFIX} ${LINK_TRDST_TRRTR}
118 if [ -z "$interface" ]; then
122 rm -f "${PWD}/traceroute.pcap"
124 jexec trrtr daemon -p "${PWD}/tcpdump.pid" \
125 tcpdump --immediate-mode -w "${PWD}/traceroute.pcap" -nv \
126 -i $interface
135 jexec trrtr kill -USR2 $(cat "${PWD}/tcpdump.pid")
142 (tcpdump -nv -r "${PWD}/traceroute.pcap"; echo) | \
143 sed -E -e :a -e N -e 's/\n +/ /' -e ta -e P -e D \
164 atf_check -s exit:0 \
165 …-e match:"^traceroute to ${LINK_TRDST_TRDST} \\(${LINK_TRDST_TRDST}\\), 5 hops max, 40 byte packet…
166 -o match:"^ 1 ${LINK_TRSRC_TRRTR} [0-9.]+ ms$" \
167 -o match:"^ 2 ${LINK_TRDST_TRDST} [0-9.]+ ms$" \
168 -o not-match:"^ 3" \
192 # -I and -Picmp should mean the same thing, so test both.
194 for icmp_flag in -Picmp -I; do
197 atf_check -s exit:0 \
198 -e match:"^traceroute to ${LINK_TRDST_TRDST}" \
199 -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \
200 -o match:"^ 2 ${LINK_TRDST_TRDST}" \
201 -o not-match:"^ 3" \
207 atf_check -s exit:0 -e ignore \
208 …-o match:"IP \\(tos 0x0, ttl 1, .*, proto ICMP.*\\).* ${LINK_TRSRC_TRSRC} > ${LINK_TRDST_TRDST}: I…
209 …-o match:"IP \\(tos 0x0, ttl 2, .*, proto ICMP.*\\).* ${LINK_TRSRC_TRSRC} > ${LINK_TRDST_TRDST}: I…
236 atf_check -s exit:0 \
237 -e match:"^traceroute to ${LINK_TRDST_TRDST}" \
238 -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \
239 -o match:"^ 2 ${LINK_TRDST_TRDST}" \
240 -o not-match:"^ 3" \
241 jexec trsrc traceroute $TR_FLAGS -Pudp ${LINK_TRDST_TRDST}
245 atf_check -s exit:0 -e ignore \
246 …-o match:"IP \\(tos 0x0, ttl 1, .*, proto UDP .*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TR…
247 …-o match:"IP \\(tos 0x0, ttl 2, .*, proto UDP .*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TR…
250 # Test with -e, the destination port should not increment.
254 atf_check -s exit:0 \
255 -e match:"^traceroute to ${LINK_TRDST_TRDST}" \
256 -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \
257 -o match:"^ 2 ${LINK_TRDST_TRDST}" \
258 -o not-match:"^ 3" \
259 jexec trsrc traceroute $TR_FLAGS -Pudp -e -p 40000 ${LINK_TRDST_TRDST}
263 atf_check -s exit:0 -e ignore \
264 …-o match:"IP \\(tos 0x0, ttl 1, .*, proto UDP .*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TR…
265 …-o match:"IP \\(tos 0x0, ttl 2, .*, proto UDP .*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TR…
289 # For the default packet size, we should sent a SHUTDOWN ACK packet.
293 atf_check -s exit:0 \
294 -e match:"^traceroute to ${LINK_TRDST_TRDST}" \
295 -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \
296 jexec trsrc traceroute $TR_FLAGS -Psctp ${LINK_TRDST_TRDST}
299 atf_check -s exit:0 -e ignore \
300 …-o match:"IP \\(tos 0x0, ttl 1, .*, proto SCTP.*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TR…
301 …-o match:"IP \\(tos 0x0, ttl 2, .*, proto SCTP.*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TR…
308 atf_check -s exit:0 \
309 -e match:"^traceroute to ${LINK_TRDST_TRDST}" \
310 -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \
311 jexec trsrc traceroute $TR_FLAGS -Psctp ${LINK_TRDST_TRDST} 128
314 atf_check -s exit:0 -e ignore \
315 …-o match:"IP \\(tos 0x0, ttl 1, .*, proto SCTP.*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TR…
316 …-o match:"IP \\(tos 0x0, ttl 2, .*, proto SCTP.*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TR…
319 # Test with -e, the destination port should not increment.
323 atf_check -s exit:0 \
324 -e match:"^traceroute to ${LINK_TRDST_TRDST}" \
325 -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \
326 jexec trsrc traceroute $TR_FLAGS -Psctp -e -p 40000 ${LINK_TRDST_TRDST}
329 atf_check -s exit:0 -e ignore \
330 …-o match:"IP \\(tos 0x0, ttl 1, .*, proto SCTP.*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TR…
331 …-o match:"IP \\(tos 0x0, ttl 2, .*, proto SCTP.*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TR…
359 atf_check -s exit:0 \
360 -e match:"^traceroute to ${LINK_TRDST_TRDST}" \
361 -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \
362 -o match:"^ 2 \\*" \
363 jexec trsrc traceroute $TR_FLAGS -Ptcp ${LINK_TRDST_TRDST}
366 atf_check -s exit:0 -e ignore \
367 …-o match:"IP \\(tos 0x0, ttl 1, .*, proto TCP.*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TRD…
368 …-o match:"IP \\(tos 0x0, ttl 2, .*, proto TCP.*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TRD…
371 # Test with -e, the destination port should not increment.
374 atf_check -s exit:0 \
375 -e match:"^traceroute to ${LINK_TRDST_TRDST}" \
376 -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \
377 -o match:"^ 2 \\*" \
378 jexec trsrc traceroute $TR_FLAGS -Ptcp -e -p 40000 ${LINK_TRDST_TRDST}
381 atf_check -s exit:0 -e ignore \
382 …-o match:"IP \\(tos 0x0, ttl 1, .*, proto TCP.*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TRD…
383 …-o match:"IP \\(tos 0x0, ttl 2, .*, proto TCP.*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TRD…
409 atf_check -s exit:0 \
410 … -e match:"^traceroute to ${LINK_TRDST_TRDST} \\($LINK_TRDST_TRDST\\) from ${LINK_TRSRC2_TRSRC}" \
411 -o match:"^ 1 ${LINK_TRSRC2_TRRTR}" \
412 -o match:"^ 2 ${LINK_TRDST_TRDST}" \
413 -o not-match:"^ 3" \
415 -s ${LINK_TRSRC2_TRSRC} ${LINK_TRDST_TRDST}
418 atf_check -s exit:0 -e ignore \
419 …-o match:"IP \\(tos 0x0, ttl 1, .*, proto UDP.*\\).* ${LINK_TRSRC2_TRSRC}.[0-9]+ > ${LINK_TRDST_TR…
420 …-o match:"IP \\(tos 0x0, ttl 2, .*, proto UDP.*\\).* ${LINK_TRSRC2_TRSRC}.[0-9]+ > ${LINK_TRDST_TR…
446 # Unlike -s, traceroute doesn't print 'from ...' when using -i.
447 atf_check -s exit:0 \
448 -e match:"^traceroute to ${LINK_TRDST_TRDST}" \
449 -o match:"^ 1 ${LINK_TRSRC2_TRRTR}" \
450 -o match:"^ 2 ${LINK_TRDST_TRDST}" \
451 -o not-match:"^ 3" \
453 -i ${epsrc2}a ${LINK_TRDST_TRDST}
456 atf_check -s exit:0 -e ignore \
457 …-o match:"IP \\(tos 0x0, ttl 1, .*, proto UDP.*\\).* ${LINK_TRSRC2_TRSRC}.[0-9]+ > ${LINK_TRDST_TR…
458 …-o match:"IP \\(tos 0x0, ttl 2, .*, proto UDP.*\\).* ${LINK_TRSRC2_TRSRC}.[0-9]+ > ${LINK_TRDST_TR…
474 atf_set descr "IPv4 traceroute with -m"
482 atf_check -s exit:0 \
483 -e match:"^traceroute to ${LINK_TRDST_TRDST}" \
484 -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \
485 -o not-match:"^ 2" \
486 jexec trsrc traceroute -w1 -q1 -m1 ${LINK_TRDST_TRDST}
509 atf_check -s exit:0 \
510 -e match:"^traceroute to ${UNREACHABLE_ADDR}" \
511 -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \
512 -o match:"^ 2 ${LINK_TRSRC_TRRTR} [0-9.]+ ms !H" \
513 -o not-match:"^ 3" \
537 # We expect this to fail since we specified -F (don't fragment) and the
538 # 2000-byte packet is too large to fit through our tiny epair. Make
540 atf_check -s exit:0 \
541 …-e match:"^traceroute to ${LINK_TRDST_TRDST} \\(${LINK_TRDST_TRDST}\\), 5 hops max, 2000 byte pack…
542 -o match:"^ 1 traceroute: wrote ${LINK_TRDST_TRDST} 2000 chars, ret=-1" \
543 -e match:"^traceroute: sendto: Message too long" \
544 jexec trsrc traceroute -F $TR_FLAGS ${LINK_TRDST_TRDST} 2000
567 # -f 2 means we skip the first hop. For backward compatibility, -M is
568 # the same as -f, so test that too.
570 for flag in -f2 -M2; do
573 atf_check -s exit:0 \
574 -e match:"^traceroute to ${LINK_TRDST_TRDST}" \
575 -o not-match:"^ 1" \
576 -o match:"^ 2 ${LINK_TRDST_TRDST}" \
577 -o not-match:"^ 3" \
581 atf_check -s exit:0 -e ignore \
582 -o not-match:"^..:..:..\....... IP \\(tos 0x0, ttl 1, .*, proto UDP.*\\)" \
583 …-o match:"IP \\(tos 0x0, ttl 2, .*, proto UDP.*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TRD…
609 atf_check -s exit:0 -e ignore \
610 -o match:"^ 1 ${LINK_TRSRC_TRRTR} \(${LINK_TRSRC_TRRTR}\)( [0-9.]+ ms){3}$" \
611 jexec trsrc traceroute -w1 -m1 ${LINK_TRDST_TRDST}
615 atf_check -s exit:0 -e ignore \
616 -o match:"^ 1 ${LINK_TRSRC_TRRTR} \(${LINK_TRSRC_TRRTR}\)( [0-9.]+ ms){$nprobes}$" \
617 jexec trsrc traceroute -q$nprobes -w1 -m1 ${LINK_TRDST_TRDST}
633 atf_set descr "IPv4 traceroute with non-default base port"
643 atf_check -s exit:0 \
644 -e match:"^traceroute to ${LINK_TRDST_TRDST}" \
645 -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \
646 -o match:"^ 2 ${LINK_TRDST_TRDST}" \
647 -o not-match:"^ 3" \
648 jexec trsrc traceroute $TR_FLAGS -p 40000 \
653 atf_check -s exit:0 -e ignore \
654 …-o match:"IP \\(tos 0x0, ttl 1, .*, proto UDP.*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TRD…
655 …-o match:"IP \\(tos 0x0, ttl 2, .*, proto UDP.*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TRD…
683 atf_check -s exit:0 \
684 -e match:"^traceroute to ${LINK_TRDST_TRDST}" \
685 -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \
686 -o match:"^ 2 \\*" \
687 jexec trsrc traceroute $TR_FLAGS -Pgre ${LINK_TRDST_TRDST}
690 atf_check -s exit:0 -e ignore \
691 …-o match:"IP \\(tos 0x0, ttl 1, .*, proto GRE .*\\).* ${LINK_TRSRC_TRSRC} > ${LINK_TRDST_TRDST}: G…
692 …-o match:"IP \\(tos 0x0, ttl 2, .*, proto GRE .*\\).* ${LINK_TRSRC_TRSRC} > ${LINK_TRDST_TRDST}: G…
708 atf_set descr "IPv4 UDP-Lite traceroute"
718 atf_check -s exit:0 \
719 -e match:"^traceroute to ${LINK_TRDST_TRDST}" \
720 -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \
721 -o match:"^ 2 ${LINK_TRDST_TRDST}" \
722 -o not-match:"^ 3" \
723 jexec trsrc traceroute $TR_FLAGS -Pudplite ${LINK_TRDST_TRDST}
726 atf_check -s exit:0 -e ignore \
727 …-o match:"IP \\(tos 0x0, ttl 1, .*, proto unknown \(136\), .*\\).* ${LINK_TRSRC_TRSRC} > ${LINK_TR…
728 …-o match:"IP \\(tos 0x0, ttl 2, .*, proto unknown \(136\), .*\\).* ${LINK_TRSRC_TRSRC} > ${LINK_TR…
754 atf_check -s exit:0 \
755 -e match:"^traceroute to ${LINK_TRDST_TRDST}" \
756 -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \
757 -o match:"^ 2 ${LINK_TRDST_TRDST}" \
758 -o not-match:"^ 3" \
759 jexec trsrc traceroute $TR_FLAGS -t 4 ${LINK_TRDST_TRDST}
762 atf_check -s exit:0 -e ignore \
763 …-o match:"IP \\(tos 0x4, ttl 1, .*, proto UDP .*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TR…
764 …-o match:"IP \\(tos 0x4, ttl 2, .*, proto UDP .*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TR…
795 atf_check -s exit:0 \
796 -e match:"^traceroute to ${LINK_TRDST_TRDST}" \
797 -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \
798 -o match:"^ 2 ${LINK_TRDST_TRDST} [0-9.]+ ms !S" \
799 -o not-match:"^ 3" \
801 -g ${LINK_TRSRC_TRRTR} ${LINK_TRDST_TRDST}
804 atf_check -s exit:0 -e ignore \
805 …-o match:"IP \\(tos 0x0, ttl 1, .*, proto UDP .*, options \\(NOP,LSRR ${LINK_TRDST_TRDST}\\)\\).* …
806 …-o match:"IP \\(tos 0x0, ttl 2, .*, proto UDP .*, options \\(NOP,LSRR ${LINK_TRDST_TRDST}\\)\\).* …
822 atf_set descr "IPv4 traceroute with -r"
832 atf_check -s exit:0 \
833 -e match:"^traceroute to ${LINK_TRSRC_TRRTR}" \
834 -o match:"^ 1 ${LINK_TRSRC_TRRTR} [0-9.]+ ms$" \
835 -o not-match:"^ 2" \
836 jexec trsrc traceroute -r $TR_FLAGS ${LINK_TRSRC_TRRTR}
840 atf_check -s exit:0 \
841 -e match:"^traceroute to ${LINK_TRDST_TRDST}" \
842 -o match:"^ 1 traceroute: wrote ${LINK_TRDST_TRDST} 40 chars, ret=-1" \
843 jexec trsrc traceroute -r $TR_FLAGS ${LINK_TRDST_TRDST}