diff --git a/gtests/net/packetdrill/tests/bsd/tcp/icmp/icmp-all-types.pkt b/gtests/net/packetdrill/tests/bsd/tcp/icmp/icmp-all-types.pkt new file mode 100644 index 0000000000000000000000000000000000000000..8c8a15fc0e589bc83121b350cb55c548083e9023 --- /dev/null +++ b/gtests/net/packetdrill/tests/bsd/tcp/icmp/icmp-all-types.pkt @@ -0,0 +1,63 @@ +// Test for handling of incoming ICMP packets. +// This test tests all known ICMP types, and a +// few unknown types. + +// Establish a connection +0.000 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 +0.000 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 +0.000 bind(3, ..., ...) = 0 +0.000 listen(3, 1) = 0 + +0.100 < S 0:0(0) win 65535 <mss 1460,sackOK,nop,nop,nop,wscale 7> +0.100 > S. 0:0(0) ack 1 <...> +0.200 < . 1:1(0) ack 1 win 65535 +0.200 accept(3, ..., ...) = 4 + +// Unreachable types +0.300 < icmp unreachable net_unreachable +0.301 < icmp unreachable host_unreachable +0.302 < icmp unreachable protocol_unreachable +0.303 < icmp unreachable port_unreachable +0.304 < icmp unreachable frag_needed mtu 1234 +0.305 < icmp unreachable source_route_failed +0.306 < icmp unreachable net_unknown +0.307 < icmp unreachable host_unknown +0.308 < icmp unreachable source_host_isolated +0.309 < icmp unreachable net_prohibited +0.310 < icmp unreachable host_prohibited +0.311 < icmp unreachable net_unreachable_for_tos +0.312 < icmp unreachable host_unreachable_for_tos +0.313 < icmp unreachable packet_filtered +0.314 < icmp unreachable precedence_violation +0.315 < icmp unreachable precedence_cutoff + +0.400 < icmp echo_reply +0.401 < icmp source_quench +0.402 < icmp redirect +0.403 < icmp echo_request +0.404 < icmp time_exceeded +0.405 < icmp parameter_problem +0.406 < icmp timestamp_request +0.407 < icmp timestamp_reply +0.408 < icmp information_request +0.409 < icmp information_reply +0.410 < icmp address_mask_request +0.411 < icmp address_mask_reply + +// Symbolic types with numeric codes. +0.450 < icmp unreachable code_0 +0.451 < icmp unreachable code_1 +0.452 < icmp unreachable code_255 + +// Numeric types with numeric codes +0.460 < icmp type_0 code_0 +0.461 < icmp type_1 code_0 +0.462 < icmp type_255 code_0 + +0.470 < . 1:1(0) ack 1 win 65535 + +// We close the connection +0.500 close(4) = 0 +0.500 > F. 1:1(0) ack 1 win 1026 +0.510 < F. 1:1(0) ack 2 win 65535 +0.510 > . 2:2(0) ack 2