DCEC PROTOCOL LABORATORY
INTERNET PROTOCOL
MIL-STD-1777
CERTIFICATION TESTS INDEX
This Certification Tests Index provides information on the derivation,
organization, and function of tests specified for Internet Protocol
(IP) within the DCEC Protocol Laboratory.
This document is divided into five sections:
IP TRACEABILITY INDEX;
IP TESTS INDEX;
IP CODES INDEX;
IP TEST SCENARIOS INDEX;
and IP SCENARIOS AND TESTS DESCRIPTIONS.
--------
IP TRACEABILITY INDEX: IP TEST NUMBERS versus IP MIL-STD-1777
References...
The table shows, for MIL-STD-1777, the IP Test Numbers which may be
regarded as the "principal tests" of each required function,
operation, option, mode, response, or state.
--------
IP TESTS INDEX: IP TEST NUMBERS versus IP Commands/Primitives/
Options/Modes...
The table shows the IP Test Numbers which may be regarded as the
"principal tests" of each IP Command or Primitive and/or Option or
Mode.
--------
IP CODES INDEX: IP TEST NUMBERS versus IP Response Codes...
The table shows the IP Test Numbers which may be regarded as the
"principal tests" of each IP Response (or State, etc.) Code to/for/of
the indicated IP Commands or Primitives.
--------
IP TEST SCENARIOS INDEX: IP TEST SCENARIO FILES versus IP TEST
NUMBERS...
The table shows, for each IP Test Number, the UNIX filenames of the I
Test Scenario Files in which it may be regarded as a "principal test
objective".
--------
IP SCENARIOS AND TESTS DESCRIPTIONS...
This section provides a brief narrative of the scope and objectives of
each IP Test Scenario File and a narrative or graphic operational
description of each IP Test Number.
IP TRACEABILITY INDEX
IP TEST NUMBERS
versus
IP MIL-STD-1777 References
The following table shows, for MIL-STD-1777, the IP Test Numbers which
may be regarded as the "principal tests" of each required function,
operation, option, mode, response, or state. Test Numbers not
indicated here may be used to establish necessary predecessor
conditions for these tests.
Reference Test Number
--------- ----------------------
9.1 570-573, 2000-2099,
2100-2142, 2200-2205,
2904-2913
9.2.1 1100, 1108, 1113
9.2.1.1 801
9.2.1.1.1 801
9.2.1.1.2 1102
9.2.1.2 1101
9.2.1.2.1 1100, 1105, 1108,
1113, 2100-2142, 3102
9.2.2 68, 500-525, 1024,
1144
9.2.2.1 68, 1113, 1322
9.2.2.2 500-509, 517-525, 576
9.2.2.3 510-512
9.2.3 800-805
9.2.4 600-617
9.2.5 200-223, 300-315,
400-410
9.2.6 1000-1047, 3000-3046
9.2.6.1 1113
9.3 804
Reference Test Number
----------- ----------------
9.3.1 100, 101, 111
9.3.2 102-104, 111
9.3.3 200-223, 300-315
9.3.4 105-107, 111
9.3.5 0, 21845, 43690,
65535
9.3.6 500, 570, 571
9.3.7 525, 573
9.3.8 600-617
9.3.9 801, 2903
9.3.10 800-805
9.3.11 801
9.3.12 801
9.3.13 1000-1047, 1101, 1109,
1113, 1301, 1309,
2000-2011, 3000-3046,
4000-4011
9.3.13.1 1000-1047, 1101, 1109,
1113, 1301, 1309,
3000-3046
9.3.14 1000, 3000
9.3.15 2000-2099, 2200-2205,
4000-4099, 4200-4205
9.3.15.1 1322, 3122
9.3.15.2 1001-1004, 3001-3004
9.3.15.3 1005-1012, 1322,
2013-2026, 3005-3012,
4013-4026
9.3.15.3.1 1005-1012, 3005-3012
9.3.15.3.2 578, 579
Reference Test Numbers
--------- ----------------------
9.3.15.3.3 580, 581
9.3.15.3.4 582, 583, 584
9.3.15.4 1101, 1102, 1105,
1300, 2100-2119, 3100,
3101, 3102, 4100-4119
9.3.15.5 1109, 1111, 1112,
1308, 2120-2139, 3108,
3109, 4120-4139
9.3.15.6 1113, 1315, 2043-2062,
3122, 4043-4062
9.3.15.7 1013-1030, 2028-2039,
3013-3030, 4028-4039
9.3.15.8 1036-1047, 2063-2099,
3036-3046, 4063-4099
9.4.6.1.1 68, 801, 1144,
4000-4099, 4100-4142
9.4.6.1.2 100-111, 500, 600-608,
900, 2901-2903
9.4.6.1.3 500, 2970, 2972
9.4.6.1.4 510-512, 515-519
9.4.6.2.1 500
9.4.6.2.2 68, 1144
9.4.6.2.3 800-805
9.4.6.2.4 2902, 2903
9.4.6.2.5 1024, 1144
9.4.6.2.6 500-525
9.4.6.2.7 100-111
9.4.6.2.8 600-607
9.4.6.2.9 608-615, 4000-4099,
4100-4142, 4200-4205
9.4.6.2.10 801, 1100
Reference Test Numbers
----------- ------------------------
9.4.6.2.11 800, 1100, 1300, 2903
9.4.6.3.1 2900-2912, 2930-2934,
2950-2969
9.4.6.3.2 68, 208-215, 308-315,
801, 804, 3100
9.4.6.3.3 801, 804
9.4.6.3.4 2903
9.4.6.3.5 100-110, 512,
2200-2205
9.4.6.3.6 2904-2912
9.4.6.3.7 1024, 1144
9.4.6.3.9 500-525, 574-585
9.4.6.3.10 500, 525
9.4.6.3.11 510-512, 515-519
9.4.6.3.12 801
9.4.6.3.13 1100-1121, 1300-1322,
3100-3122
IP TESTS INDEX
IP TEST NUMBERS
versus
IP Commands/Primitives/Options/Modes
The following table shows the IP Test Numbers which may be
regarded as the "principal tests" of each IP Command or Primitive
and/or Option or Mode. Test Numbers not indicated here may be
used to establish necessary predecessor conditions for these
tests.
Command or Primitive Option or Mode Test Number
-------------------- -------------- ------------------
VERSION NUMBER ==> 100-101, 801
too small 100
too large 101
correct 801
INTERNET HEADER LENGTH ==> 102-104, 801
too large 102
too small 103
zero 104
correct 801
TYPE OF SERVICE ==> 200s, 300s, 400s
Gateway Testing ==> 400s
low delay
high reliability 400
low delay
high throughput 401
high reliability
maximum precedence 402
low delay
high reliability
maximum precedence 403
high throughput
maximum precedence 404
high throughput
Command or Primitive Option or Mode Test Number
------------------- -------------- -----------------
high reliability
maximum precedence 405
low delay
low precedence 406
low delay
high reliability
low precedence 407
low delay
high throughput
high reliability
very low precedence 408
low delay
high throughput
high reliability
high precedence 409
low delay
high throughput
high reliability
maximum precedence 410
Precedence ==> 200s
bottom-up (received
by IUT) ==> 200-207
7 200
6 201
5 202
4 203
3 204
2 205
1 206
0 207
top-down (sent by IUT) ==> 208-215
7 208
6 209
Command or Primitive Option or Mode Test Number
-------------------- -------------- -----------------
5 210
4 211
3 212
2 213
1 214
0 215
effect ==> 216
Delay
Throughput
Reliability ==> 300s
bottom-up (received
by IUT) = 300-307
delay = 0
throughput = 0
reliability = 0 300
delay = 0
throughput = 0
reliability = 1 301
delay = 0
throughput = 1
reliability = 0 302
delay = 1
throughput = 0
reliability = 0 303
delay = 0
throughput = 1
reliability = 1 304
delay = 1
throughput = 0
reliability = 1 305
delay = 1
throughput = 1
reliability = 0 306
Command or Primitive Option or Mode Test Number
-------------------- -------------- ------------------
delay = 1
throughput = 1
reliability = 1 307
top-down (sent by IUT) ==> 308-315
delay = 0
throughput = 0
reliability = 0 315
delay = 0
throughput = 0
reliability = 1 314
delay = 0
throughput = 1
reliability = 0 313
delay = 1
throughput = 0
reliability = 0 312
delay = 0
throughput = 1
reliability = 1 311
delay = 1
throughput = 0
reliability = 1 310
delay = 1
throughput = 1
reliability = 0 309
delay = 1
throughput = 1
reliability = 1 308
TOTAL LENGTH ==> 105-107 801
too large 105
too small 106
excessively large 107
correct 801
IDENTIFICATION ==> 0,21845,43690,65535
bits clear each way 0
Command or Primitive Option or Mode Test Number
-------------------- -------------- -------------------
bits set each way 65535
odd bits
set each way 43690
even bits
set each way 21845
bits clear to IUT
and set to Tester 65535
bits set to IUT
and clear to Tester 0
odd bits set to IUT
and even bits set
to Tester 21845
even bits set to IUT
and odd bits set
to Tester 43690
FLAGS & FRAGMENT OFFSET ==> 500s, 2970s
Normal ==> 500-525, 2970, 2971
2 fragments 500
3 fragments 501
4 fragments 502
4 fragments where
second and third
are out of order 503
4 fragments in
reverse order 504
4 fragments that
are delayed within
relatively large
time to live limits 505
4 fragments that
are delayed within
relatively small
time to live limits 506
duplicate
header fragment 507
Command or Primitive Option or Mode Test Number
-------------------- -------------- --------------------
duplicate
middle fragment 508
duplicate
tail fragment 509
missing
header fragment 510
missing
middle fragment 511
missing
tail fragment 512
simultaneous
reassembly 513-514
attempt
simultaneous
reassembly with
a missing fragment 515-516
indentification
separation 517
protocol
separation 518
middle fragment 519
reassemble a
576 byte datagram
split on 8 octet
boundaries 520
reassemble a
576 byte datagram
split on 16 octet
boundaries 521
reassemble a
576 byte datagram
split on 32 octet
boundaries 522
reassemble a
576 byte datagram
split on 64 octet
boundaries 523
Command or Primitive Option or Mode Test Number
-------------------- -------------- ------------------
reassemble a
576 byte datagram
split on 128 octet
boundaries 524
reassemble a
576 byte datagram
split on 256 octet
boundaries 525
ICMP 2970
ICMP reverse order 2971
Abnormal ==> 570-585, 2972, 2973
MF and DF set 570
DF set and
fragment offset
not 0 571
enormous
fragment offsets 572
range of
fragment offsets 573
precedence
mismatch 574
security level
mismatch with
unclassified
exception 575
classified security
level mismatch 576
security level
mismatch with
classified
exception 577
first
compartment byte
mismatch 578
second
compartment byte
mismatch 579
Command or Primitive Option or Mode Test Number
-------------------- -------------- ------------------
first
handling byte
mismatch 580
second
handling byte
mismatch 581
first
transmission
control code byte
mismatch 582
second
transmission
control code byte
mismatch 583
third
transmission
control code byte
mismatch 584
security option
present exception 585
ICMP with bogus
ICMP fragments 2972
ICMP with a
fragment with a
time to live of 0 2973
TIME TO LIVE ==> 600s
bottom-up (received
by IUT) ==> 600-608
0 607
1 608
20 604
85 (odd bits set) 605
127 603
128 602
129 601
Command or Primitive Option or Mode Test Number
-------------------- -------------- ------------------
170 (even bits set) 606
255 600
top-down (sent by IUT) ==> 609-617
0 617
1 616
20 613
85 (odd bits set) 614
127 612
128 611
129 610
170 (even bits set) 615
255 609
PROTOCOL ==> 574, 801, 2900s
Reassembly Mismatch ==> 574
Remote Driver ==> 801
Internet Control
Message Protocol ==> 2900s
ICMP Echo Request ==> 2901-2903
bad header checksum 2901
bad ICMP checksum 2902
both checksums good 2903
fragmented 2970, 2971
ICMP Parameter Problem ==> 2904
ICMP Redirect ==> 2950-2969
primer datagram
for host redirects 2950
Command or Primitive Option or Mode Test Number
-------------------- -------------- ------------------
positive
host redirect 2951-2952
negative host and
type of service
redirect 2953-2954
host redirect and
host and type of
service redirect
independence 2955
negative
host redirect 2956, 2958
positive host and
type of service
redirect 2957, 2959
primer datagram for
network redirects 2960
positive
network redirect 2961-2962
negative network and
type of service
redirect 2963-2964
network redirect and
network and type of
service redirect
independence 2965
negative
network redirect 2966, 2968
positive network and
type of service
redirect 2967, 2969
ICMP Source Quench ==> 2930-2934
primer datagram to
be sent by IUT so
it can be told to
quiet down 2930
Source Quenchs 2931-2934
ICMP Timeout ==> 2905-2906
Command or Primitive Option or Mode Test Number
-------------------- -------------- ------------------
time to live 2905
reassembly 2906
ICMP Unreachable ==> 2907-2913
network 2907
host 2908
protocol 2909
port 2910
fragmentation 2911
source route 2912
send a normal IP
datagram for (are
you there?) check 2913
HEADER CHECKSUM ==> 800-805
too small 800
correct 801
too large 802
too small for IP
header with option 803
correct for IP
header with option 804
too large for IP
header with option 805
SOURCE ADDRESS ==> 801
DESTINATION ADDRESS ==> 801, 900, 2952
OPTIONS ==> 1000-1047, 1100-1121,
1300-1323, 2000-2099,
2100-2142, 2200-2205,
3000-3046, 3100-3122,
4000-4099, 4100-4142,
4200-4205
Bad Routing ==> 2100-2142, 4100-4142
Command or Primitive Option or Mode Test Number
-------------------- -------------- ------------------
bottom-up ==> 2100-2142
top-down ==> 4100-4142
Gateway Routing ==> 1100-1121
Host Routing ==> 1300-1323, 3100-3122
bottom-up ==> 1300-1323
top-down ==> 3100-3122
Missing Option Length ==> 2200-2205, 4200-4205
bottom-up ==> 2200-2205
top-down ==> 4200-4205
Non-Routing ==> 1000-1047, 2000-2099,
3000-3046, 4000-4099
bottom-up ==> 1000-1047, 2000-2099
Bad ==> 2000-2099
Good ==> 1000-1047
top-down ==> 3000-3046, 4000-4099
Bad ==> 4000-4099
Good ==> 3000-3046
DATA ==> 68, 576, 1024, 1144
send a 68
byte datagram 68
receive a 576
byte datagram 576
send a 1024
byte datagram 1024
send an 1144
byte datagram 1144
IP CODES INDEX
IP TEST NUMBERS
versus
IP Response Codes
The following table shows the IP Test Numbers which may be
regarded as the "principal tests" of each IP Response (or State,
etc.) Code to/for/of the indicated IP Commands or Primitives.
Test Numbers not indicated here may be used to establish
necessary predecessor conditions for these tests.
Response Code Command or Primitive Test Number
-------------- -------------------- ------------------
datagram datagram 801
datagram with
end of option
list option datagram 1000
datagram with
no operation
option datagram 1001
datagram with
security
option datagram 1005
datagram with
loose source and
record route
option datagram 1100, 3100
datagram with
strict source and
record route
option datagram 1108, 3108
datagram with
record route
option datagram 1113, 3122
datagram with
stream ID
option datagram 1029
datagram with
timestamp
option datagram 1113, 1117, 1119,
3036, 3040, 3044
fragmented
datagram datagram 1024, 1144
Response Code Command or Primitive Response Code
--------------- -------------------- ------------------
ICMP Destination
Unreachable
message datagram 900, 1105, 1112
ICMP Echo Reply ICMP Echo Request
message message 2903
ICMP Parameter
Problem
message datagram 100, 570, 2200
ICMP Time Exceeded
message datagram 511, 608
IP TEST SCENARIOS INDEX
IP TEST SCENARIO FILES
versus
IP TEST NUMBERS
Within the PROTOLAB VAX-11/750 Test Master System, all IP test
Scenario Files may be found in the following UNIX directory;;
/usr/users/TSL/test/ip
The following table shows, for each IP Test Number, the UNIX
filenames of the IP test Scenario Files in which it may be
regarded as a "principal test objective". A Test Number may be
used, to establish necessary predecessor conditions for other
Test Numbers, in Scenario Files not indicated here.
Test Number Scenario File
----------------------- ---------------------------------------------
0 IdentTest
68 Send68Test
100-111 BadHeaderTest
200-207 PrecBotTest
208-215 PrecTopTest
216-223 PrecEffTest
300-307 TOS_BitBotTest
308-315 TOS_BitTopTest
400-410 TOS_GateTest
500-525 ReasMustTest
570-585 OddReasTest
576 Send576Test
576 Whole576Test
600-606 TTLGdBotTest
607-608 TTLBdBotTest
609-615 TTLGdTopTest
Test Number Scenario File
----------- -------------
616-617 TTLBdTopTest
800-805 HdrCksumTest
900 BadDestTest
1000-1047 OptGdBotTest
1024 Send1024Test
1100 OpGlSrcBotTest
1101 OpG2SrcBotTest
1102 OpG2SrcBotTest
1103 OpG3SrcBotTest
1104 OpG3SrcBotTest
1105 OpG2SrcBotTest
1106 OpG6SrcBotTest
1107 OpG3SrcBotTest
1108 OpGlSrcBotTest
1109 OpG2SrcBotTest
1110 OpG3SrcBotTest
1111 OpG2SrcBotTest
1112 OpG2SrcBotTest
1113 OpG1SrcBotTest
1114 OpG1SrcBotTest
1115 OpG2SrcBotTest
1116 OpG2SrcBotTest
1117 OpG2SrcBotTest
1118 OpG2SrcBotTest
1119 OpG2SrcBotTest
Test Number Scenario File
----------- ---------------
1120 OpG2SrcBotTest
1121 OpG6SrcBotTest
1144 Send1144Test
1300 OpG1DstBotTest
1301 OpG2DstBotTest
1303 OpG3DstBotTest
1306 OpG6DstBotTest
1307 OpG3DstBotTest
1308 OpG1DstBotTest
1309 OpG2DstBotTest
1310 OpG3DstBotTest
1311 OpG2DstBotTest
1312 OpG3DstBotTest
1313 OpG1DstBotTest
1314 OpG1DstBotTest
1315 OpG2DstBotTest
1316 OpG2DstBotTest
1317 OpG2DstBotTest
1318 OpG2DstBotTest
1319 OpG2DstBotTest
1320 OpG2DstBotTest
1321 OpG2DstBotTest
1322 OpG1DstBotTest
1323 OpG2DstBotTest
2000-2099 OptBdBotTest
Test Number Scenario File
----------- ---------------
2100-2142 OpBdRouBotTest
2200-2205 NoOpLenBotTest
2900-2913 ICMPart1Test
2930-2934 ICMPSrcQueTest
2950-2969 ICMPRedrctTest
2970-2974 ICMPReasTest
3000-3046 OptGdTopTest
3100 OpGlSrcTopTest
3101 OpG2SrcTopTest
3102 OpG2SrcTopTest
3103 OpG3SrcTopTest
3106 OpG6SrcTopTest
3108 OpG1SrcTopTest
3109 OpG2SrcTopTest
3110 OpG3SrcTopTest
3113 OpG1SrcTopTest
3114 OpG1SrcTopTest
3115 OpG2SrcTopTest
3116 OpG2SrcTopTest
3117 OpG2SrcTopTest
3118 OpG2SrcTopTest
3119 OpG2SrcTopTest
3120 OpG2SrcTopTest
3122 OpG1SrcTopTest
4000-4099 OptBdTopTest
Test Number Scenario File
----------- ---------------
4100-4142 OpBdRouTopTest
4200-4205 NoOpLenTopTest
21845 IdentTest
43690 IdentTest
65535 IdentTest
IP SCENARIOS AND TESTS DESCRIPTIONS
WARNING: An implementation may only be denied certification if
it does not conform to MIL-STD-1777 or to the Internet Protocol
Remote Driver Specification. These specifications, interpreted as
required by law, are the final authorities.
While an effort has been made to identify every conceivable legal
response sanctified by the MIL-STD, implementors are invited to
explain their non-matching responses using the MIL-STD.
NOTICE: Many tests are intended to be controversial in order to
induce the Department of Defense to clarify MIL-STD-1777.
Scenario File BadDestTest: "Bad Destination Address" datagram
900 destination address doesn't match host's
------------------------------
Test 900 destination address doesn't match host's
-Can the IUT detect that datagram isn't meant for it?
-Action: Send a datagram from the IP Tester to the host IP
Implementation Under Test whose destination address
indicates that it is for another host. The IUT should
discard the datagram. It may send an ICMP Unreachable Host
message to the IP Tester.
-Verification: If there is a response datagram displayed by
the IP Tester, its display should contain the string "ICMP
DESTINATION UNREACHABLE ID=00900 HOST". The string "ident =
900" should not appear in the display of the response
datagram because this would indicate that the datagram was
passed by the IUT to its Remote Driver.
Success: An Internet Control Message Protocol (ICMP)
Unreachable Most message displayed by the IP Tester. The
total lack of an IP Tester response datagram display is also
an acceptable response.
Failure: A response datagram whose IP Tester display
contains the string "ident = 900".
Scenario File BadHeaderTest: "Bad Header Value" datagrams
100 version number is 3
101 version number is 5
102 internet header length excessive
103 internet header length short
104 internet header length is 0
105 total length exceeds SNP length
106 total length less than SNP length
107 total length vastly exceeds SNP length
108 truncated datagram with unadjusted checksum
109 truncated datagram with adjusted checksum
110 total length less than minimum IP header length
111 perfectly legal datagram
------------------------------
Test 100 version number too small
-Can the IUT detect a bad version number?
-Action: Send a datagram from the IP Tester to the IP
Implementation Under Test whose sole defect is a version
number that is illegally small. This error should be caught
by the IUT. The IUT may send an ICMP Parameter Problem
message to the IP Tester.
-Verification: If there is a response datagram displayed by
the IP Tester, its display should contain the string "ICMP
PARAMETER PROBLEM ID=00100". The string "ident = 100" should
not appear in the display of the response datagram because
this would indicate that the datagram was passed by the IUT
to its Remote Driver.
Success: An ICMP Parameter Problem message displayed by the
IP Tester. The total lack of an IP Tester response datagram
display is also an acceptable response.
Failure: A response datagram whose IP Tester display
contains the string "ident = 100".
Test 101 version number too large
-Can the IUT detect a bad version number?
-Action: Send a datagram from the IP Tester to the IP
Implementation Under Test whose sole defect is a version
number that is illegally large. This error should be caught
by the IUT. The IUT may send an ICMP Parameter Problem
message to the IP Tester.
-Verification: If there is a response datagram displayed by
the IP Tester, its display should contain the string "ICMP
PARAMETER PROBLEM ID=00101". The string "ident = 101" should
not appear in the display of the response datagram because
this would indicate that the datagram was passed by the IUT
to its Remote Driver.
Success: An ICMP Parameter Problem message displayed by the
IP Tester. The total lack of an IP Tester response datagram
display is also an acceptable response.
Failure: A response datagram whose IP Tester display
contains the string "ident = 101".
Test 102 internet header length too large
-Can the IUT detect a bad header length?
-Action: Send a datagram from the IP Tester to the IP -
Implementation Under Test whose sole defect is an internet
header length that is illegally large because it indicates
that the IP header exceeds the size of the IP datagram. This
error should be caught by the IUT. The IUT may send an ICMP
Parameter Problem message to the IP Tester.
-Verification: If there is a response datagram displayed by
the IP Tester, its display should contain the string "ICMP
PARAMETER PROBLEM ID=00102". The string "ident = 102" should
not appear in the display of the response-datagram because
this would indicate that the datagram was passed by the IUT
to its Remote Driver.
Success: An ICMP Parameter Problem message displayed by the
IP Tester. The total lack of an IP Tester response datagram
display is also an acceptable response.
Failure: A response datagram whose IP Tester display
contains the string "ident = 102".
Test 103 internet header length too small
-Can the IUT detect a bad header length?
-Action: Send a datagram from the IP Tester to the IP
Implementation Under Test whose sole defect is an internet
header length that is illegally small because it is less
than 5. This error should be caught by the IUT. The IUT may
send an ICMP Parameter Problem message to the IP Tester.
-Verification: If there is a response datagram displayed by
the IP Tester, its display should contain the string "ICMP
PARAMETER PROBLEM ID=00103". The string "ident = 103" should
not appear in the display of the response datagram
because this would indicate that the datagram was passed by
the IUT to its Remote Driver.
Success: An ICMP Parameter Problem message displayed by the
IP Tester. The total lack of an IP Tester response datagram
display is also an acceptable response.
Failure: A response datagram whose IP Tester display
contains the string "ident = 103".
Test 104 internet header length equal to zero
-Can the IUT detect a bad header length?
-Action: Send a datagram from the IP Tester to the IP
Implementation Under Test whose sole defect is an illegally
small internet header length of zero. This error should be
caught by the IUT. The IUT may send an ICMP Parameter
Problem message to the IP Tester.
This test differs from Test 103 because an internet header
length of zero is used in an attempt to induce an infinite
loop in the IUT when forming an ICMP Parameter Problem
message.
-Verification: If there is a response datagram displayed by
the IP Tester, its display should contain the string "ICMP
PARAMETER PROBLEM ID=00104". The string "ident = 104" should
not appear in the display of the response datagram because
this would indicate that the datagram was passed by the IUT
to its Remote Driver.
Infinite loop avoidance is indicated by a successful
response to Test 111, or Test 576 in Whole576Test if that
test is run last. In fact, any test that requires the IUT to
send a missive to the IP Tester may be used to indicate that
the IUT didn't get hung up in an infinite loop or crash.
Success: An ICMP Parameter Problem message displayed by the
IP Tester. The total lack of an IP Tester response datagram
display is also an acceptable response.
Failure: A response datagram whose IP Tester display
contains the string "ident = 104".
Test 105 total length exceeds actual length of IP datagram
-Can the IUT detect a bad total length?
-Action: Send a datagram from the IP Tester to the IP
implementation Under Test whose sole defect is a total
length that indicates that the IP datagram is a byte longer
than it actually is. Unless informed otherwise, the lab
should consider this a section 9.4.6.2.7 error condition.
The IUT may send an ICMP Parameter Problem message to the IP
Tester.
-Verification: If there is a response datagram displayed by
the IP Tester, its display should contain the string "ICMP
PARAMETER PROBLEM ID=00105". The string "ident = 105" should
not appear in the di;play of the response datagram because
this would indicate that the datagram was passed by the IUT
to its Remote Driver.
Success: An ICMP Parameter Problem message displayed by the
IP Tester. The total lack of an IP Tester response datagram
display is also an acceptable response.
Failure: A response datagram whose IP Tester display
contains the string "ident = 105".
Test 106 total length less than actual length of IP datagram
-Can the IUT detect a bad total length?
-Action: Send a datagram from the IP Tester to the IP
Implementation Under Test whose sole defect is a total
length that indicates that the IP datagram is a byte shorter
than it actually is. Unless informed otherwise, the lab
should consider this a section 9.4.6.2.7 error condition.
The IUT may send an ICMP Parameter Problem message to the IP
Tester.
-Verification: If there is a response datagram displayed by
the IP Tester, its display should contain the string "ICMP
PARAMETER PROBLEM ID=OOl06". The string "ident = 106" should
not appear in the display of the response datagram because
this would indicate that the datagram was passed by the IUT
to its Remote Driver.
Success: An ICMP Parameter Problem message displayed by the
IP Tester. The total lack of an IP Tester response datagram
display is also an acceptable response.
WARNING: The IMPs on the DDN may append an extra data byte
in order to align the size of the message to a connected
computer's preferred word size. Passage of this test may
result in the inability to receive certain datagrams sent
over the DDN. The IMPs should be configured to deliver data
verbatim as implied by section 8.2.2.1.
Failure: A response datagram whose IP Tester display
contains the string "ident = 106".
Test 107 total length exceeds actual length of IP datagram
-Can the IUT detect a bad total length?
-Action: Send a datagram from the IP Tester to the IP
Implementation Under Test whose sole defect is a total
length that indicates that the IP datagram is vastly longer
than it actually is in an attempt to trigger a memory
management error or corrupt an implementation's data space.
Unless informed otherwise, the lab should consider this a
section 9.4.6.2.7 error condition. The IUT may send an ICMP
Parameter Problem message to the IP Tester.
-Verification: If there is a response datagram displayed by
the IP Tester, its display should contain the string "ICMP
PARAMETER PROBLEM ID=00107". The string "ident = 107" should
not appear in the display of the response datagram because
this would indicate that the datagram was passed by the IUT
to its Remote Driver.
Success: An ICMP Parameter Problem message displayed by the
IP Tester. The total lack of an IP Tester response datagram
display is also an acceptable response.
Failure: A response datagram whose IP Tester display
contains the string "ident = 107".
Test 108 datagram length less than minimum and not multiple of 4
-Can the IUT handle a truncated datagram?.
-Action: Send a datagram from the IP Tester to the IP
Implementation Under Test that is less than the minimum
legal length in an attempt to trigger a memory management
error or corrupt an implementation's data space. This is a
section 9.4.6.2.7 error condition. Because the checksum has
not been adjusted to be correct on the TRUNCATED header, the
checksum is incorrect. The IUT must discard this datagram
without notice.
-Verification: The IP Tester should not display a response
datagram.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Test 109 runt datagram with correct checksum
-Can the IUT handle a runt datagram?
-Action: Send a datagram from the IP Tester to the IP
Implementation Under Test that is less than the minimum
legal length in an attempt to trigger a memory management
error or corrupt an implementation's data space. This is a
section 9.4.6.2.7 error condition. Because the checksum has
been adjusted to be correct on the TRUNCATED header, the IUT
may send an ICMP Parameter Problem message to the IP Tester.
-Verification: If there is a response datagram displayed by
the IP Tester, its display should contain the string "ICMP
PARAMETER PROBLEM ID=00109".
Success: An ICMP Parameter Problem message displayed by the
IP Tester. The total lack of an IP Tester response datagram
display is also an acceptable response.
Failure: A failure to pass Test 111.
Test 110 datagram length less than minimum and multiple of 4
-Can the IUT handle a truncated datagram?
-Action: Send a datagram from the IP Tester to the IP
Implementation Under Test that is less than the minimum
legal length in an attempt to trigger a memory management
error or corrupt an implementation's data space. This is a
section 9.4.6.2.7 error condition. Because the checksum has
not been adjusted on the TRUNCATED header, the checksum is
incorrect. The IUT must discard this datagram without
notice.
-Verification: The IP Tester should not display a response
datagram.
Don't take the response to the next test as the response to
this test. The tests follow back-to-back in rapid succession
to give an indication that the IUT is actually being tested.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Test 111 legal datagram
-Can the IUT handle a legal datagram?
-Action: Send a datagram from the IP Tester to the IP
Implementation Under Test that is perfectly legal. This
datagram should be passed by the IUT to its Remote Driver.
The IUT's Remote Driver should parse the Remote Driver
commands in the data field and request the IUT to send the
reply datagram required by the Remote Driver Specification
to the IP Tester.
-Verification: The IP Tester will display the reply datagram
that must contain "ident = 111 data" in its 16-byte data
field.
Success: Display of reply datagram requested to be sent.
Failure: Any response other than the display of the
requested reply datagram.
NOTICE: The failure of this test usually implies that one of
the previous tests has caused the IUT to enter an infinite
loop or crash.
Scenario File HdrChksumTest: "IP Header Checksum Test" datagrams
800 header checksum one short
801 header checksum correct
802 header checksum are too large
803 header checksum one short with option
804 header checksum correct with option
805 header checksum one too large with option
-----------------------------------
Test 800 header checksum one less than it should be
-Can the IUT detect a bad checksum?
-Action: Send a datagram from the IP Tester to the IP
Implementation Under Test whose sole defect is a header
checksum that is one less than it should be. The IUT must
discard this datagram without notice.
-Verification: The IP Tester should not display a response
datagram.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Test 801 datagram with correct checksum
-Can the IUT handle a datagram with good checksum?
-Action: Send a datagram from the IP Tester to the IP
Implementation Under Test that is perfectly legal. This
datagram should be passed by the IUT to its Remote Driver.
The IUT's Remote Driver should parse the Remote Driver
command in the data field and request the IUT to send the
reply datagram required by the IP Remote Driver
Specification to the IP Tester.
-Verification: The IP Tester will display the reply datagram
that must contain "ident = 801" in its 12-byte data field.
Success: Display of reply datagram requested to be sent.
Failure: Any response other than the display of the
requested reply datagram.
Test 802 header checksum one more than it should be
-Can the IUT detect a bad checksum?
-Action: Send a datagram from the IP Tester to the IP
Implementation Under Test whose sole defect is a header
checksum that is one more than it should be. The IUT must
discard this datagram without notice.
-Verification: The IP Tester should not display a response
datagram.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Test 803 header checksum one less than it should be plus option
-Can the IUT detect a bad checksum?
-Action: Send a datagram containing an option from the IP
Tester to the IP Implementation Under Test whose sole defect
is a header checksum that is one less than it should be. The
IUT must discard this datagram without notice.
-Verification: The IP Tester should not display a response
datagram.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Test 804 datagram with correct checksum plus option
-Can the IUT handle a datagram with good checksum?
-Action: Send a datagram containing an option from the IP
Tester to the IP Implementation Under Test that is perfectly
legal. This datagram should be passed by the IUT to its
Remote Driver. The IUT's Remote Driver should parse the
Remote Driver command in the data field and request the IUT
to send the reply datagram required by the IP Remote Driver
Specification to the IP Tester.
-Verification: The IP Tester will display the reply datagram
that must contain "ident = 804" in its 12-byte data field.
Success: Display of reply datagram requested to be sent.
Failure: Any response other than the display of the
requested reply datagram.
Test 805 header checksum one more than it should be plus option
-Can the IUT detect a bad checksum?
-Action: Send a datagram containing an option from the IP
Tester to the IP Implementation Under Test whose sole defect
is a header checksum that is one more than it should be. The
IUT must discard this datagram without notice.
-Verification: The IP Tester should not display a response
datagram.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Scenario File ICMPReasTest: "ICMP Reassembly Tests"
2970 ICMP Echo Request message in fragments
2971 ICMP Echo Request message fragmented in reverse order
2972 fragmented ICMP Echo Request message and bogus
fragments
2973 fragmented ICMP Echo Request message with bad fragment
2974 normal datagram
-----------------------------------
Test 2970 ICMP Echo Request message in fragments
-Can the IUT reassemble an ICMP message?
-Action: Send a fragmented ICMP Echo Request message to the
IP Implementation Under Test. The IUT should reassemble the
fragments and send an ICMP Echo Reply message to the IP
Tester.
-Verification: The IP Tester response datagram display
should include the string "ICMP ECHO REPLY id=00003". It
should also contain the string "TL00061" to indicate that
its total length is 61 bytes.
Success: An IP Tester ICMP Echo Reply datagram display.
Failure: Any response other than the display of the
requested ICMP Echo Reply message.
Test 2971 ICMP Echo Request message fragmented in reverse order
-Can the IUT reassemble an ICMP message fragmented in
reverse order?
-Action: Send an ICMP Echo Request message fragmented in
reverse order to the IP Implementation Under Test. The IUT
should reassemble the fragments and send an ICMP Echo Reply
message to the IP Tester.
-Verification: The IP Tester response datagram display
should include the string "ICMP ECHO REPLY id=00004". It
should also contain the string "TLOO06l" to indicate that
its total length is 61 bytes.
Success: An IP Tester ICMP Echo Reply datagram display.
Failure: Any response other than the display of the
requested ICMP Echo Reply message.
Test 2972 fragmented ICMP Echo Request message and bogus
fragments
-Can the IUT reject bogus fragments?
-Action: Send a fragmented ICMP Echo Request message and
bogus fragments to the IP Implementation Under Test. The
first bogus fragment has an incorrect version number which
should be discarded by the IUT. The second bogus fragment
has a time to live of one so it should be discarded by the
IUT. The third bogus fragment has an incorrect checksum and
should be discarded by the IUT. Each bogus fragment should
be discarded without notice because each is an ICMP
fragment. The IUT should reassemble the good fragments and
send an ICMP Echo Reply message to the IP Tester.
-Verification: The IP Tester response datagram display
should include the string "ICMP ECHO REPLY id=00005". It
should also contain the string "TLOO06l" to indicate that
its total length is 61 bytes.
Success: An IP Tester ICMP Echo Reply datagram display.
Failure: Any response other than the display of the
requested ICMP Echo Reply message.
Test 2973 fragmented ICMP Echo Request message with bad fragment
-Can the IUT discard ICMP fragment with bad time to live?
-Action: Send a fragmented ICMP Echo Request message to the
IP Implementation Under Test where one of the fragments has
a time to live of one. The bad fragment should be discarded
without notice and the other fragments should be discarded
without notice when the reassembly times out.
-Verification: The IP Tester should not display a response
datagram.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Test 2974 normal datagram
-Can the IUT still handle a normal datagram?
-Action: Send a datagram from the IP Tester to the IP
Implementation Under Test that is perfectly legal. This
datagram should be passed by the IUT to its Remote Driver.
The IUT's Remote Driver should parse the Remote Driver
commands in the data field and request the IUT to send the
reply datagram required by the Remote Driver Specification
to the IP Tester.
-Verification: The IP Tester will display the reply datagram
that must contain "ident = 2974" in its 13-byte data field.
Success: Display of reply datagram requested to be sent.
Failure: Any response other than the display of the
requested reply datagram.
NOTICE: The failure of this test usually implies that one of
the previous tests has caused the IUT to enter an infinite
loop or crash.
Scenario File ICMPRedrctTest: "ICMP Redirection Tests"
2950 host redirection primer datagram
2951 ICMP host redirect to IP Tester
2952 positive test of ICMP host redirect
2953 ICMP host and type of service redirect to dead gateway
2954 negative test of ICMP host and type of service redirect
2955 host + host and type of service redirect independence
2956 ICMP host redirect to dead gateway
2957 ICMP host and type of service redirect to IP Tester
2958 negative test of ICMP host redirect
2959 positive test of ICMP host and type of service redirect
2960 network redirection primer datagram
2961 ICMP network redirect to IP Tester
2962 positive test of ICMP network redirect
2963 network and type of service redirect to dead gateway
2964 negative test of network and type of service redirect
2965 net + net and type of service redirect independence
2966 ICMP network redirect to dead gateway
2967 ICMP network and type of service redirect to IP Tester
2968 negative test of ICMP network redirect
2969 positive test of network and type of service redirect
-----------------------------------
Test 2950 ICMP host redirection primer datagram
-Datagram to prepare an implementation for host redirection.
RFC792 pages 12-13 state that an ICMP redirect message is
sent in response to a datagram. The implementation is asked
to send a datagram to provide cause.
-Action: Send an ordinary datagram from the IP Tester to
the IP Implementation Under Test that is perfectly legal.
This datagram should be passed by the IUT to its Remote
Driver. The IUT's Remote Driver should parse the Remote
Driver command in the data field and request the IUT to send
the reply datagram required by the IP Remote Driver
Specification to the IP Tester.
-Verification: The IP Tester will display the reply datagram
that must contain "ident = 2950" in its 13-byte data field.
Success: Display of reply datagram requested to be sent.
Failure: Any response other than the display of the
requested reply datagram.
Test 2951 ICMP host redirection
-Can the IUT redirect a datagram for a host?
-Action: An ICMP Host Redirect message is sent to the IUT
by the IP Tester. The message is based on the datagram that
the IUT is required to send in Test 2950. The ICMP Host
Redirect message instructs the IUT to update its routing
table(s) to send datagrams to intended for "host X" to the
IP Tester. The IUT is ready to be tested to see if it
handles the message.
-Verification: The IP Tester should not display a response
datagram. Actual verification of host redirection occurs in
Tests 2952 and 2955.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Test 2952 ICMP host redirection verification
-Can the IUT redirect a datagram for a host?
-Action: Send a datagram to the IP Implementation Under
Test. This datagram should be passed by the IUT to its
Remote Driver. The IUT's Remote Driver should request the
IUT to send the reply datagram required by the Remote Driver
Specification to the IP Tester since the IUT was told to
redirect datagrams for "host X" in Test 2951.
-Verification: The IP Tester will display the reply datagram
that must contain "ident = 2952 dest = 1711341568" in its
31-byte data field.
Success: Display of reply datagram.
Failure: Any response other than the display of the
requested reply datagram.
Test 2953 ICMP host and type of service redirection
-Can the IUT redirect a datagram for a host based on its
type of service?
-Action: An ICMP Host and Type of Service Redirect message
is sent to the IUT by the IP Tester. The message is based on
the datagram that the IUT is required to send in Test 2950.
The message contains a precedence of 1 in the "copy" of the
"original" datagram's header field. The ICMP Host and Type
of Service Redirect message instructs the IUT to update its
routing table(s) to send datagrams with precedence 1
intended for "host X" to the "dead gateway," an unused port
on one of the EDN's IMPs. The IUT is ready to be tested to
see if it handles the message.
-Verification: The IP Tester should not display a response
datagram. Actual verification of host and type of service
redirection occurs in Test 2954.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Test 2954 ICMP host and type of service redirection verification
-Can the IUT redirect a datagram for a host based on type of
service?
-Action: Send a datagram to the IP Implementation Under
Test. This datagram should be passed by the IUT to its
Remote Driver. The IUT's Remote Driver should request the
IUT to send the reply datagram required by the Remote Driver
Specification to the IUT because the IUT was told to
redirect datagrams with precedence of 1 for "host X" in Test
2953. The IUT should send the reply datagram to the "dead
gateway." The IMP should discard it without notice on the IP
level.
-Verification: The IP Tester should not display a response
datagram.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Test 2955 ICMP host redirection additional verification
-Can the IUT remember host redirection after host and type
of service redirection?
-Action: Send a datagram to the IP Implementation Under
Test. This datagram should be passed by the IUT to its
Remote Driver. The IUT's Remote Driver shouId request the
IUT to send the reply datagram required by the IP Remote
Driver Specification to the IP Tester because the IUT was
told to redirect datagrams for "host X" in Test 2951.
-Verification: The IP Tester will display the reply datagram
that must contain "ident = 2955 dest = 1711341568" in its
31-byte data field.
Success: Display of reply datagram.
Failure: Any response other than the display of the
requested reply datagram.
Test 2956 ICMP host redirection
-Can the IUT redirect a datagram for a host?
-Action: An ICMP Host Redirect message is sent to the IUT
by the IP Tester. The message is based on the datagram that
the IUT is required to send in Test 2950. The ICMP Host
Redirect message instructs the IUT to update its routing
table(s) to send datagrams to intended for "host X" to the
"dead gateway."
-Verification: The IP Tester should not display a response
datagram. Actual verification of host redirection occurs in
Test 2958.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Test 2957 ICMP host and type of service redirection
-Can the IUT redirect a datagram for a host based on its
type of service?
-Action: An ICMP Host and Type of Service Redirect message
is sent to the IUT by the IP Tester. The message is based on
the datagram that the IUT is required to send in Test 2950.
The message contains a precedence of 1 in the "copy" of the
"original" datagram's header field. The ICMP Host and Type
of Service Redirect message instructs the IUT to update its
routing table(s) to send datagrams with precedence 1
intended for "host X" to the IP Tester.
-Verification: The IP Tester should not display a response
datagram. Actual verification of host and type of service
redirection occurs in Test 2959.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Test 2958 ICMP host redirection verification
-Can the IUT redirect a datagram for a host?
-Action: Send a datagram to the IP Implementation Under
Test. This datagram should be passed by the IUT to its
Remote Driver. The IUT's Remote Driver should request the
IUT to send the reply datagram required by the Remote Driver
Specification to the IUT because the IUT was told to
redirect datagrams for "host X" in Test 2956. The IUT should
send the reply datagram to the "dead gateway." The IMP
should discard it without notice on the IP level.
-Verification: The IP Tester should not display a response
datagram.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Test 2959 ICMP host and type of service redirection verification
-Can the IUT redirect a datagram for a host based on type of
service?
-Action: Send a datagram to the IP Implementation Under
Test. This datagram should be passed by the IUT to its
Remote Driver. The IUT's Remote Driver should request the
IUT to send the reply datagram required by the Remote Driver
Specification to the IUT because the IUT was told to
redirect datagrams with precedence of 1 for "host X" in Test
2957. The IUT should send the reply datagram to the IP
Tester.
-Verification: The IP Tester will display the reply datagram
that must contain "ident = 2959 dest = 1711341568" in its
31-byte data field.
Success: Display of reply datagram.
Failure: Any response other than the display of the
requested reply datagram.
Test 2960 ICMP network redirection primer datagram
-Datagram to prepare an implementation for network
redirection.
RFC792 pages 12-13 state that an ICMP redirect message is
sent in response to a datagram. The implementation is asked
to send a datagram to provide cause.
-Action: Send an ordinary datagram from the IP Tester to
the IP Implementation Under Test that is perfectly legal.
This datagram should be passed by the IUT to its Remote
Driver. The IUT's Remote Driver should parse the Remote
Driver command in the data field and request the IUT to send
the reply datagram required by the IP Remote Driver
Specification to the IP Tester.
-Verification: The IP Tester will display the reply datagram
that must contain "ident = 2960" in its 13-byte data field.
Success: Display of reply datagram requested to be sent.
Failure: Any response other than the display of the
requested reply datagram.
Test 2961 ICMP network redirection
-Can the IUT redirect a datagram for a network?
-Action: An ICMP Network Redirect message is sent to the IUT
by the IP Tester. The message is based on the datagram that
the IUT is required to send in Test 2960. The ICMP Network
Redirect message instructs the IUT to update its routing
table(s) to send datagrams to intended for "network Y" to
the IP Tester. The IUT is ready to be tested to see if it
handles the message.
-Verification: The IP Tester should not display a response
datagram. Actual verification of network redirection occurs
in Tests 2962 and 2965.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Test 2962 ICMP network redirection verification
-Can the IUT redirect a datagram for a network?
-Action: Send a datagram to the IP Implementation Under
Test. This datagram should be passed by the IUT to its
Remote Driver. The IUT's Remote Driver should request the
IUT to send the reply datagram required by the Remote Driver
Specification to the IP Tester because the IUT was told to
redirect datagrams for "network Y" in Test 2961.
-Verification: The IP Tester will display the reply datagram
that must contain "ident = 2962 dest = 1728118784" in its
31-byte data field.
Success: Display of reply datagram.
Failure: Any response other than the display of the
requested reply datagram.
Test 2963 ICMP network and type of service redirection
-Can the IUT redirect a datagram for a network based on its
type of service?
-Verification: The IP Tester will display the reply datagram
that must contain "ident = 2965 dest = 1728118784" in its
31-byte data field.
Success: Display of reply datagram.
Failure: Any response other than the display of the
requested reply datagram.
Test 2966 ICMP network redirection
-Can the IUT redirect a datagram for a network?
-Action: An ICMP Network Redirect message is sent to the
IUT by the IP Tester. The message is based on the datagram
that the IUT is required to send in Test 2960. The ICMP
Network Redirect message instructs the IUT to update its
routing table(s) to send datagrams to intended for "network
Y" to the"dead gateway."
-Verification: The IP Tester should not display a response
datagram. Actual verification of network redirection occurs
in Test 2968.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.-
Test 2967 ICMP network and type of service redirection
-Can the IUT redirect a datagram for a network based on its
type of service?
-Action: An ICMP Network and Type of Service Redirect
message is sent to the IUT by the IP Tester. The message is
based on the datagram that the IUT is required to send in
Test 2960. The message contains a precedence of 1 in the
"copy" of the "original" datagram's header field. The ICMP
Network and Type of Service Redirect message instructs the
IUT to update its routing table(s) to send datagrams with
precedence 1 intended for "network Y" to the IP Tester.
-Verification: The IP Tester should not display a response
datagram. Actual verification of network and type of service
redirection occurs in Test 2969.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Test 2968 ICMP network redirection verification
-Can the IUT redirect a datagram for a network?
-Action: Send a datagram to the IP Implementation Under
Test. This datagram should be passed by the IUT to its
Remote Driver. The IUT's Remote Driver should request the
IUT to send the reply datagram required by the Remote Driver
Specification to the IUT because the IUT was told to
redirect datagrams for "network Y" in Test 2966. The IUT
should send the reply datagram to the "dead gateway." The
IMP should discard it without notice on the IP level.
-Verification: The IP Tester should not display a response
datagram.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Test 2969 network and type of service redirection verification
-Can the IUT redirect a datagram for a network based on type
of service?
-Action: Send a datagram to the IP Implementation Under
Test. This datagram should be passed by the IUT to its
Remote Driver. The IUT's Remote Driver should request the
IUT to send the reply datagram required by the Remote Driver
Specification to the IUT because the IUT was told to
redirect datagrams with precedence of 1 for "network Y" in
Test 2967. The IUT should send the reply datagram to the IP
Tester.
-Verification: The IP Tester will display the reply datagram
that must contain "ident = 2969 dest = 1728118784" in its
31-byte data field.
Success: Display of reply datagram.
Failure: Any response other than the display of the
requested reply datagram.
Scenario File ICMPSrcQueTest: "ICMP Source Quench Test" 2930-2934
ICMP Source Quench
Test 2930 ICMP Source Quench primer datagram
-Datagram to prepare IUT to be source quenched.
Section 9.4.6.3.1 states that an ICMP Source Quench message
indicates that a datagram has been discarded. This implies
that a datagram was sent by the implementation. Protocol
implementations for a military environment may not allow a
random message to impede their operation for even a short
time without cause. The implementation is asked send a
datagram to provide cause.
It is unlikely that an implementation will check unless
required to by contract.
-Action: Send an ordinary datagram from the IP Tester to
the IP Implementation Under Test that is perfectly legal.
This datagram should be passed by the IUT to its Remote
Driver. The IUT's Remote Driver should parse the Remote
Driver command in the data field and request the IUT to send
the reply datagram required by the IP Remote Driver
Specification to the IP Tester.
-Verification: The IP Tester will display the reply datagram
that must contain "ident = 2930 " in its 13-byte data field.
Success: Display of reply datagram requested to be sent.
Failure: Any response other than the display of the
requested reply datagram.
Test 2931 first ICMP Source Quench
-Can the IUT shut up or slow down when source quenched?
-Action: An ICMP Source Quench message is sent to the IUT
by the IP Tester. The message is based on the datagram that
the IUT is required to send in Test 2930. The ICMP Source
Quench message instructs the IUT or its upper level protocol
(its Remote Driver) to reduce the rate at which it is
sending datagrams. Because the IP Remote Driver is not
required by the IP Remote Driver Specification to process an
ICMP Source Quench, the IUT is ready to be tested to see if
it handles the message.
Eight datagrams are sent to the IUT by the IP Tester. These
should by accepted by the IUT and passed to its Remote
Driver. The Remote Driver should request the IUT to send a
reply datagram for each one. The IUT should eventually send
the eight reply datagrams to the IP Tester.
-Verification: The IP Tester will display the eight reply
datagrams. Each must contain "ident = 780 " in its 12-byte
data field. Because the script asynchronously instructs the
IP Test Controller to write "tick" to the log file every
second, the displays may be a bit messy. This is normal and
desirable because it provides the means to determine how
much of a rate reduction the IUT is providing.
There is no official performance criterion.
Success: Display of each of the eight reply datagrams
requested to be sent.
Failure: Any response other than the display of the
requested reply datagrams.
WARNING: The IUT may forget that it sent the datagram in
Test 2930, causing the Source Quench to be ignored. This can
be counteracted by adjusting the wait time (wait 10) for
Test 2930 to a smaller value. This problem is unlikely.
Test 2932 second ICMP Source Quench
-Can the IUT further reduce its rate of transmission?
-Action: An ICMP Source Quench message is sent to the IUT
by the IP Tester. The message is based on the datagram that
the IUT is required to send in Test 2930.
Eight datagrams are sent to the IUT by the IP Tester. These
should by accepted by the IUT and passed to its Remote
Driver. The Remote Driver should request the IUT to send a
reply datagram for each one. The IUT should eventually send
the eight reply datagrams to the IP Tester.
-Verification: The IP Tester will display the eight reply
datagrams. Each must contain "ident = 780 " in its 12-byte
data field.
There is no official performance criterio~. However, the
Internet Control Message Protocol Protocol Specification
TM-WD-7411/300/01 states "the source host should cut back
the rate at which it is sending traffic to the specified
destination." This can be confirmed by fewer characters (on
average) between "ticks." MIL-STD-1777 only requires that
"the ULP should be informed so traffic can be reduced."
Therefore, the lack of FURTHER reduction isn't non-
conformant. However, all known ICMP standards require
reduction.
Success: Display of each of the eight reply datagrams
requested to be sent.
Failure: Any response other than the display of the
requested reply datagrams.
Test 2933 third ICMP Source Quench
-Can the IUT further reduce its rate of transmission?
-Action: An ICMP Source Quench message is sent to the IUT
by the IP Tester. The message is based on the datagram that
the IUT is required to send in Test 2930.
Eight datagrams are sent to the IUT by the IP Tester. These
should by accepted by the IUT and passed to its Remote
Driver. The Remote Driver should request the IUT to send a
reply datagram for each one. The IUT should eventually send
the eight reply datagrams to the IP Tester.
-Verification: The IP Tester will display the eight reply
datagrams. Each must contain "ident = 780 " in its 12-byte
data field.
There is no official performance criterion. However, the
Internet Control Message Protocol Protocol Specification
TM-WD-7411/300/01 states "the source host should cut back
the rate at which it is sending traffic to the specified
destination." This can be confirmed by fewer characters (on
average) between "ticks." MIL-STD-1777 only requires that
"the ULP should be informed so traffic can be reduced."
Therefore, the lack of FURTHER reduction isn't non-
conformant. However, all known ICMP standards require
reduction.
Success: Display of each of the eight reply datagrams
requested to be sent.
Failure: Any response other than the display of the
requested reply datagrams.
Test 2934 fourth ICMP Source Quench
-Can the IUT further reduce its rate of transmission?
-Action: An ICMP Source Quench message is sent to the IUT
by the IP Tester. The message is based on the datagram that
the IUT is required to send in Test 2930.
Eight datagrams are sent to the IUT by the IP Tester. These
should by accepted by the IUT and passed to its Remote
Driver. The Remote Driver should request the IUT to send a
reply datagram for each one. The IUT should eventually send
the eight reply datagrams to the IP Tester.
-Verification: The IP Tester will display the eight reply
datagrams. Each must contain "ident = 780 " in its 12-byte
data field.
There is no official performance criterion. However, the
Internet Control Message Protocol Protocol Specification
TM-WD-7411/300/01 states "the source host should cut back
the rate at which it is sending traffic to the specified
destination.' This can be confirmed by fewer characters (on
average) between "ticks." MIL-STD-1777 only requires that
"the ULP should be informed so traffic can be reduced.'
Therefore, the lack of FURTHER reduction isn't non-
conformant. However, all known ICMP standards require
reduction.
Success: Display of each of the eight reply datagrams
requested to be sent.
Failure: Any response other than the display of the
requested reply datagrams.
NOTICE: The IUT could conceivably send an ICMP Source Quench
message, whose display will contain the string "unexpected
ICMP error type=4". MIL-STD-1777 does not indicate how this
is to be interpreted. The laboratory will not issue a report
on the IUT until the specification is amended. IUTs having
difficulties will have to wait (2+ years ?) for
certification.
Scenario File ICMPartlTest: "Miscellaneous ICMP Tests"
2900 normal datagram
2901 ICMP echo request with bad IP header checksum
2902 ICMP echo request with bad ICMP header checksum
2903 valid ICMP echo request
2904 ICMP Parameter Problem
2905 ICMP time to live exceeded
2906 ICMP reassembly timeout
2907 ICMP unreachable network
2908 ICMP unreachable host
2909 ICMP unreachable protocol
2910 ICMP unreachable port
2911 ICMP fragmentation needed and DF set
2912 ICMP source route failed
2913 normal datagram
-----------------------------------
Test 2900 ICMP message primer datagram
-Datagram to prepare an implementation for ICMP messages.
-Action: Send an ordinary datagram from the IP Tester to
the IP Implementation Under Test that is perfectly legal.
This datagram should be passed by the IUT to its Remote
Driver. The IUT's Remote Driver should parse the Remote
Driver command in the data field and request the IUT to send
the reply datagram required by the IP Remote Driver
Specification to the IP Tester.
-Verification: The IP Tester will display the reply datagram
that must contain "ident = 2900 " in its 13-byte data field.
Success: Display of reply datagram requested to be sent.
Failure: Any response other than the display of the
requested reply datagram.
Test 2901 ICMP Echo Request message with bad IP header chec
-Can the IUT detect a bad IP header checksum in an ICMP
message?
-Action: Send an ICMP Echo Request message to the IP
Implementation Under Test whose sole defect is a bad IP
header checksum. The IUT must discard this datagram without
notice.
-Verification: The IP Tester should not display a response
datagram.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Test 2902 ICMP Echo Request message with bad ICMP checksum
-Can the IUT detect a bad ICMP checksum?
-Action: Send an ICMP Echo Request message to the IP
Implementation Under Test whose sole defect is a bad ICMP
checksum. The IUT should discard this datagram without
notice.
-Verification: The IP Tester should not display a response
datagram.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Test 2903 ICMP Echo Request message with valid checksums
-Can the IUT reply to an ICMP Echo Request message?
-Action: Send a legal ICMP Echo Request message to the IP
Implementation Under Test. The IUT should send an ICMP Echo
Reply message to the IP Tester.
-Verification: The IP Tester should not display a response
datagram.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Test 2907 ICMP Unreachable Network message
-Can the IUT handle an ICMP Unreachable Network message?
-Action: Send an ICMP Unreachable Network message to the IP
-Implementation Under Test. All further action is
implementation dependent according to section 9.4.6.3.1. The
most likely action is to log the message.
-Verification: The IP Tester should not display a response
datagram.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Test 2908 ICMP Unreachable Host message
-Can the IUT deal with an ICMP Unreachable Host message?
-Action: Send an ICMP Unreachable Host message to the IP
Implementation Under Test. All further action is
implementation dependent according to section 9.4.6.3.1. The
most likely action is to log the message.
-Verification: The IP-Tester should not display a response
datagram.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Test 2909 ICMP Unreachable Protocol message
-Can the IUT handle an ICMP Unreachable Protocol message?
-Action: Send an ICMP Unreachable Protocol message to the
IP Implementation Under Test. All further action is
implementation dependent according to section 9.4.6.3.1. The
most likely action is to log the message.
-Verification: The IP Tester should not display a response
datagram.
-Verification: The IP Tester response datagram display
should include the string "ICMP ECHO REPLY id=00002". It
should also contain the string "TL00046"' to indicate that
its total length is 46 bytes.
Success: An IP Tester ICMP Echo Reply datagram display.
Failure: Any response other than the display of the
requested ICMP Echo Reply message.
Test 2904 ICMP Parameter Problem message
-Can the IUT deal with an ICMP Parameter Problem message?
-Action: Send an ICMP Parameter Problem message to the IP
Implementation Under Test. All further action is
implementation dependent according to section 9.4.6.3.1. The
most likely action is to log the message.
-Verification: The IP Tester should not display a response
datagram.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Test 2905 ICMP Time to Live Exceeded In Transit message
-Can the IUT deal with an ICMP Time Exceeded message?
-Action: Send an ICMP Time Exceeded in Transit message to
the IP Implementation Under Test. All further action is
implementation dependent according to section 9.4.6.3.1. The
most likely action is to log the message.
-Verification: The IP Tester should not display a response
datagram.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Test 2906 ICMP Time to Live Exceeded During Reassembly message
-Can the IUT deal with an ICMP Time Exceeded message?
-Action: Send an ICMP Time Exceeded During Reassembly
message to the IP Implementation Under Test. All further
action is implementation dependent according to section
9.4.6.3.1. The most likely action is to log the message.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Test 2910 ICMP Unreachable Port message
-Can the IUT deal with an ICMP Unreachable Port message?
-Action: Send an ICMP Unreachable Port message to the IP
Implementation Under Test. All further action is
implementation dependent according to section 9.4.6.3.1. The
most likely action is to log the message.
-Verification: The IP Tester should not display a response
datagram.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Test 2911 ICMP Fragmentation Needed and DF Set message
-Can the IUT deal with an ICMP Fragmentation Needed and DF
Set message?
-Action: Send an ICMP Fragmentation Needed and DF Set-
message to the IP Implementation Under Test. All further
action is implementation dependent according to section
9.4.6.3.1. The most likely action is to log the message.
-Verification: The IP Tester should not display a response
datagram.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Test 2912 ICMP Source Route Failed message
-Can the IUT deal with an ICMP Source Route Failed message?
-Action: Send an ICMP Source Route Failed message to the IP
Implementation Under Test. All further action is
implementation dependent according to section 9.4.6.3.1. The
most likely action is to log the message.
-Verification: The IP Tester should not display a response
datagram.
Success: The total lack of an IP Tester response datagram
display is the only acceptable response.
Failure: An IP Tester response datagram display of any kind.
Test 2913 ICMP message robustness check
-Did the IUT handle bogus ICMP messages without crashing?
-Action: Send a datagram to the IP Implementation Under
Test. This datagram should be passed by the IUT to its
Remote Driver. The IUT's Remote Driver should request the
IUT to send the reply datagram required by the Remote Driver
Specification to the IP Tester.
-Verification: The IP Tester will display the reply datagram
that must contain "ident = 2913 " in its 13-byte data field.
Success: Display of reply datagram requested to be sent.
Failure: Any response other than the display of the
requested reply datagram. The actual failure probably
occurred during one of the previous tests.
Scenario File IdentTest: "Identification Field Test' datagrams
0 send and receive fields 0
65535 send and receive fields 65535
3690 send and receive fields 43690
21845 send and receive fields 21845
65535 send field 65535 and receive field 0
0 send field 0 and receive field 65535
21845 send field 21845 and receive field 43690
43690 send field 43690 and receive field 21845
-----------------------------------
Test 0 send and receive identification fields of 0
-Can the IUT receive and send a datagram with an ID of 0?
-Action: Send a datagram to the IP Implementation Under
Test with an identification field of 0. This datagram should
be passed by the IUT to its Remote Driver. The IUT's Remote
Driver should request the IUT to send the reply datagram
required by the IP Remote Driver Specification to the IP
Tester. The reply datagram ought to have an identification
field of 0.
-Verification: The IP Tester will display the reply datagram
that must contain "ident = 0 " in its 10-byte data field. In
addition, the display ought to contain the string "ID00000",
but any value may be used instead of "00000."
Success: Display of reply datagram requested to be sent.
Failure: Any response other than the display of the
requested reply datagram.
Test 65535 send and receive identification fields of 65535
-Can the IUT receive and send a datagram with an ID of
65535?
-Action: Send a datagram to the IP Implementation Under
Test with an identification field of 65535. This datagram
should be passed by the IUT to its Remote Driver. The IUT's
Remote Driver should request the IUT to send the reply
datagram required by the IP Remote Driver Specification to
the IP Tester. The reply datagram ought to have an
identification field of 65535.
-Verification: The IP Tester will display the reply datagram
that must contain "ident = 65535" in its 14-byte data field.
In addition, the display ought to contain the string
"ID65535", but any value may be used instead of "65535."
Success: Display of reply datagram requested to be sent.
Failure: Any response other than the display of the
requested reply datagram.
Test 43690 send and receive identification fields of 43690
-Can the IUT receive and send a datagram with an ID of
43690?
-Action: Send a datagram to the IP Implementation Under
Test with an identification field of 43690 (odd-numbered
bits set). This datagram should be passed by the IUT to its
Remote Driver. The IUT's Remote Driver should request the
IUT to send the reply datagram required by the IP Remote
Driver Specification to the IP Tester. The reply datagram
ought to have an identification field of 43690.
-Verification: The IP Tester will display the reply datagram
that must contain "ident = 43690' in its 14-byte data field.
In addition, the display ought to contain the string
"ID43690', but any value may be used instead of "43690.'
Success: Display of reply datagram requested to be sent.
Failure: Any response other than the display of the
requested reply datagram.
Test 21845 send and receive indentification fields of 21845
-Can the IUT receive and send a datagram with an ID of
21845?
-Action: Send a datagram to the IP Implementation Under
Test with an identification field of 21845 (even-numbered
bits set). This datagram should be passed by the IUT to its
Remote Driver. The IUT's Remote Driver should request the
IUT to send the reply datagram required by the IP Remote
Driver Specification to the IP Tester. The reply datagram
ought to have an identification field of 21845.
-Verification: The IP Tester will display the reply datagram
that must contain "ident = 21845 " in its 14-byte data
field. In addition, the display ought to contain the string
"ID21845', but any value may be used instead of "21845.'
Success: Display of reply datagram requested to be sent.
Failure: Any response other than the display of the
requested reply datagram.
Test 65535 send field of 65535 and receive field of 0
-Can the IUT accept an identification field from its upper
level protocol?
This test prevents IUTs from recording the identification
field of the datagram passed to the Remote Driver and using
it in the reply datagram sent by the Remote Driver to gain a
better report.
-Action: Send a datagram to the IP Implementation Under
Test with an identification field of 0. This datagram should
be passed by the IUT to its Remote Driver. The IUT's Remote
Driver should request the IUT to send the reply datagram
required by the IP Remote Driver Specification to the IP
Tester. The reply datagram ought to have an identification
field of 65535.
-Verification: The IP Tester will display the reply datagram
that must contain "ident = 65535 " in its 14-byte data
field. In addition, the display ought to contain the string
"ID65535", but any value may be used instead of "65535."
Success: Display of reply datagram requested to be sent.
Failure: Any response other than the display of the
requested reply datagram.
Test 0 send field of 0 and receive field of 65535
-Can the IUT accept an identification field from its upper
level protocol
-Action: Send a datagram to the IP Implementation Under
Test with an identification field of 65535. This datagram
should be passed by the IUT to its Remote Driver. The IUT's
Remote Driver should request the IUT to send the reply
datagram required by the IP Remote Driver Specification to
the IP Tester. The reply datagram ought to have an
identification field of 0.
-Verification: The IP Tester will display the reply datagram
that must contain "ident = 0 " in its 10-byte data field. In
addition, the display ought to contain the string "ID00000",
but any value may be used instead of "00000."
Success: Display of reply datagram requested to be sent.
Failure: Any response other than the display of the
requested reply datagram.
Test 21845 send field of 21845 and receive field of 43690
-Can the IUT accept an identification field from its upper
level protocol
-Action: Send a datagram to the IP Implementation Under
Test with an identification field of 43690. This datagram
should be passed by the IUT to its Remote Driver. The IUT's
Remote Driver should request the IUT to send the reply
datagram required by the IP Remote Driver Specification to
the IP Tester. The reply datagram ought have an
identification field of 21845.
-Verification: The IP Tester will display the reply datagram
that must contain "ident = 21845 " in its 14-byte data
field. In addition, the display ought to contain the string
"ID21845", but any value may be used instead of "21845."
Success: Display of reply datagram requested to be sent.
Failure: Any response other than the display of the
requested reply datagram.
Test 43690 send field of 43690 and receive field of 21845
-Can the IUT accept an identification field from its upper
level protocol ?
-Action: Send a datagram to the IP Implementation Under
Test with an identification field of 21845. This datagram
should be passed by the IUT to its Remote Driver. The IUT's
Remote Driver should request the IUT to send the reply
datagram required by the IP Remote Driver Specification to
the IP Tester. The reply datagram ought to have an
identification field of 43690.
-Verification: The IP Tester will display the reply datagram
that must contain "ident = 43690 " in its 14-byte data
field. In addition, the display ought to contain the string
"ID43690", but any value may be used instead of "43690."
Success: Display of reply datagram requested to be sent.
Failure: Any response other than the display of the
requested reply datagram.
Scenario File NoOpLenBotTest: "Bottom-up Missing Option Length"
datagrams
2200 security
2201 stream identification
2202 record route
2203 timestamp
2204 loose source
2205 strict source
-----------------------------------
Test 2200 security option sans option length
-Can the IUT interpret an incomplete security option?
-Action: Send a datagram to the IP Implementation Under
Test with a 4-byte option field. The first three bytes are
no operation options (to permit the truncation of the
following "option"). The last byte represents the option
type byte of a security option. Normally, the option type is
followed by the option length. The IUT is required to figure
out the proper action in accordance with section 9.1.
Because there is not very much to "interpret," the IUT
probably should send an ICMP Parameter Problem message to
the IP Tester and discard the datagram.
It is possible that the IUT will accept the datagram and
pass it to its Remote Driver. The IUT's Remote Driver should
request the IUT to send the reply datagram required by the
IP Remote Driver Specification to the IP Tester.
-Verification: If there is a response datagram displayed by
the IP Tester, its display ought to contain the string "ICMP
PARAMETER PROBLEM ID=02200". However, if the IUT chooses to
pass the datagram to its Remote Driver, the reply datagram
must contain "ident = 2200 " in its 13-byte data field.
Success: An ICMP Parameter Problem message, reply datagram
containing "ident = 2200", or nothing.
Failure: A failure to pass the next test performed after
this test that requires a positive response from the IUT
(Test 4200).
Test 2201 stream identification option sans option length
-Can the IUT interpret an incomplete stream ID option?
-Action: Send a datagram to the IP Implementation Under
Test with a 4-byte option field. The first three bytes are
no operation options (to permit the truncation of the
following "option"). The last byte represents the option
type byte of a stream ID option. Normally, the option type
is followed by the option length. The IUT is required to
figure out the proper action in accordance with section 9.1.
Because there is not very much to "interpret," the IUT
probably should send an ICMP Parameter Problem message to
the IP Tester and discard the datagram.
It is possible that the IUT will accept the datagram and
pass it to its Remote-Driver. The IUT's Remote Driver should
request the IUT to send the reply datagram required by the
IP Remote Driver Specification to the IP Tester.
-Verification: If there is a response datagram displayed by
the IP Tester, its display ought to contain the string "ICMP
PARAMETER PROBLEM ID=02201". However, if the IUT chooses to
pass the datagram to its Remote Driver, the reply datagram
must contain "ident = 2201 " in its 13-byte data field.
Success: An ICMP Parameter Problem message, reply datagram
containing "ident = 2201 ", or nothing.
Failure: A failure to pass the next test performed after
this test that requires a positive response from the IUT
(Test 4200).
Test 2202 record route option sans option length
-Can the IUT interpret an incomplete record route option?
-Action: Send a datagram to the IP Implementation Under
Test with a 4-byte option field. The first three bytes are
no operation options (to permit the truncation of the
following "option"). The last byte represents the option
type byte of a record route option. Normally, the option
type is followed by the option length. The IUT is required
to figure out the proper action in accordance with section
9.1. Because there is not very much to "interpret," the IUT
probably should send an ICMP Parameter Problem message to
the IP Tester and discard the datagram.
It is possible that the IUT will accept the datagram and
pass it to its Remote Driver. The IUT's Remote Driver should
request the IUT to send the reply datagram required by the
IP Remote Driver Specification to the IP Tester.
-Verification: If there is a response datagram displayed by
the IP Tester, its display ought to contain the string "ICMP
PARAMETER PROBLEM ID=02202". However, if the IUT chooses to
pass the datagram to its Remote Driver, the reply datagram
must contain "ident = 2202" in its 13-byte data field.
Success: An ICMP Parameter Problem message, reply datagram
containing "ident = 2202 ", or nothing.
Failure: A failure to pass the next test performed after
this test that requires a positive response from the IUT
(Test 4200).
Test 2203 timestamp option sans option length
-Can the IUT interpret an incomplete timestamp option?
-Action: Send a datagram to the IP Implementation Under
Test with a 4-byte option field. The first three bytes are
no operation options (to permit the truncation of the
following "option.") The last byte represents the option
type byte of a timestamp option. Normally, the option type
is followed by the option length. The IUT is required to
figure out the proper action in accordance with section 9.1.
Because there is not very much to "interpret," the IUT
probably should send an ICMP Parameter Problem message to
the IP Tester and discard the datagram.
It is possible that the IUT' will accept the datagram and
pass it to its Remote Driver. The IUT's Remote Driver should
request the IUT to send the reply datagram required by the
IP Remote Driver Specification to the IP Tester.
-Verification: If there is a response datagram displayed by
the IP Tester, its display ought to contain the string "ICMP
PARAMETER PROBLEM ID=02203". However, if the IUT chooses to
pass the datagram to its Remote Driver the reply datagram
must contain "ident = 2203 " in its 13-byte data field.
Success: An ICMP Parameter Problem message, reply datagram
containing "ident = 2203 ", or nothing.
Failure: A failure to pass the next test performed after
this test that requires a positive response from the IUT
(Test 4200).
Test 2204 loose source and record route option sans option length
-Can the IUT interpret an incomplete loose source and record
route option?
-Action: Send a datagram to the IP Implementation Under
Test with a 4-byte option field. The first three bytes are
no operation options (to permit the elimination of the
option length). The last byte represents the option type
byte of a loose source and record route option. Normally,
the option type is followed by the option length. The IUT is
required to figure out the proper action in accordance with
section 9.1. Because there is not very much to "interpret,"
the IUT probably should send an ICMP Parameter Problem
message to the IP Tester and discard the datagram.
It is possible that the IUT will accept the datagram and
pass it to its Remote Driver. The IUT's Remote Driver should
request the IUT to send the reply datagram required by the
IP Remote Driver Specification to the IP Tester.
-Verification: If there is a response datagram displayed by
the IP Tester, its display ought to contain the string "ICMP
PARAMETER PROBLEM ID=02204". However, if the IUT chooses to
pass the datagram to Its Remote Driver, the reply datagram
must contain "ident = 2204 " in its 13-byte data field.
Success: An ICMP Parameter Problem message, reply datagram
containing "ident = 2204", or nothing.
Failure: A failure to pass the next test performed after
this test that requires a positive response from the IUT
(Test 4200).
Test 2205 strict source and record route option sans option
length
-Can the IUT interpret an incomplete strict source and
record route option?
-Action: Send a datagram to the IP Implementation Under
Test with a 4-byte option field. The first three bytes are
no operation options (to permit the truncation of the
following "option"). The last byte represents the option
type byte of a strict source and record route option.
Normally, the option type is followed by the option length.
The IUT is required to figure out the proper action in
accordance with section 9.1. Because there is not very much
to "interpret," the IUT probably should send an ICMP
Parameter Problem message to the IP Tester and discard the
datagram.
It is possible that the IUT will accept the datagram and
pass it to its Remote Driver. The IUT's Remote Driver should
request the IUT to send the reply datagram required by the
IP Remote Driver Specification to the IP Tester.
-Verification: If there is a response datagram displayed by
the IP Tester, its display ought to contain the string "ICMP
PARAMETER PROBLEM ID=02205". However, if the IUT chooses to
pass the datagram to its Remote Driver, the reply datagram
must contain "ident = 2205 " in its 13-byte data field.
Success: An ICMP Parameter Problem message, reply datagram
containing "ident = 2205 ", or nothing.
Failure: A failure to pass the next test performed after
this test that requires a positive response from the IUT
(Test 4200).
Scenario File NoOpLenTopTest: "Top-down Missing Option
Length" datagrams
4200 security
4201 stream identification
4202 record route
4203 timestamp
4204 loose source
4205 strict source
-----------------------------------
Test 4200 security option sans option length
-Can the IUT send an incomplete security option?
-Action: Send a datagram to the IP Implementation Under
Test containing a Remote Driver command request for the IUT
to send a datagram with a 4-byte option field. This datagram
should be passed by the IUT to its Remote Driver. The IUT's
Remote Driver should request the IUT to send the reply
datagram required by the IP Remote Driver Specification to
the IP Tester. The first three bytes of the invalid option
field that the IUT is requested to send are no operation
options (to permit the truncation of the following
"option"). The last byte represents the option type byte of
a security option. The IUT is required to inform its Remote
Driver that the request is invalid. The Remote Driver should
then request the IUT to send an IP Remote Driver
Specification error message to the IP Tester.
-Verification: The IP Tester will display the error message
datagram that must contain "ident = 4200 error" in its 18-
byte data field. The IP Tester should also display "HL5"
(internet header length is 5 four-octet units long) to
indicate that the error message datagram does not contain
the invalid option field in its IP header.
Success: Display of error message datagram.
Failure: Any response other than the display of the error
message datagram.
Test 4201 stream ID option sans option length
-Can the IUT send an incomplete stream ID option?
-Action: Send a datagram to the IP Implementation Under
Test containing a Remote Driver command request for the IUT
to send a datagram with a 4-byte option field. This datagram
should be passed by the IUT to its Remote Driver. The IUT's
Remote Driver should request the IUT to send the reply
datagram required by the IP Remote Driver-Specification to
the IP Tester. The first three bytes of the invalid option
field that the IUT is requested to send are no operation
options (to permit the truncation of the following
"option"). The last byte represents the option type byte of
a stream identification option. The IUT is required to
inform its Remote Driver that the request is invalid. The
Remote Driver should then request the IUT to send an IP
Remote Driver Specification error message to the IP Tester.
-Verification: The IP Tester will display the error message
datagram that must contain "ident = 4201 error" in its 18-
byte data field. The IP Tester should also display "HL5"
(internet header length is 5 four-octet units long) to
indicate that the error message datagram does not contain
the invalid option field in its IP header.
Success: Display of error message datagram.
Failure: Any response other than the display of the error
message datagram.
Test 4202 record route option sans option length
-Can the IUT send an incomplete record route option?
-Action: Send a datagram to the IP Implementation Under
Test containing a Remote Driver command request for the IUT
to send a datagram with a 4-byte option field. This datagram
should be passed by the IUT to its Remote Driver. The IUT's
Remote Driver should request the IUT to send the reply
datagram required by the IP Remote Driver Specification to
the IP Tester. The first three bytes of the invalid option
field that the IUT is requested to send are no operation
options (to permit the truncation of the following
"option"). The last byte represents the option type byte of
a record route option. The IUT is required to inform its
Remote Driver that the request is invalid. The Remote Driver
should then request the IUT to send an IP Remote Driver
Specification error message to the IP Tester.
-Verification: The IP Tester will display the error message
datagram that must contain "ident = 4202 error" in its 18-
byte data field. The IP Tester should also display "HL5"
(internet header length is 5 four-octet units long) to
indicate that the error message datagram does not contain
the invalid option field in its IP header.
Success: Display of error message datagram.
Failure: Any reaponse other than the display of the error
message datagram.
Test 4203 timestamp option sans option length
-Can the IUT send an incomplete record route option?
-Action: Send a datagram to the IP Implementation Under
Test containing a Remote Driver command request for the IUT
to send a datagram with a 4-byte option fieId. This datagram
should be passed by the IUT to its Remote Driver. The IUT's
Remote Driver should request the IUT to send the reply
datagram required by the IP Remote Driver Specification to
the IP Tester. The first three bytes of the invalid option
field that the IUT is requested to send are no operation
options (to permit the truncation of the following
"option"). The last byte represents the option type byte of
a timestamp option. The IUT is required to inform its Remote
Driver that the request is invalid. The Remote Driver should
then request the IUT to send an IP Remote Driver
Specification error message to the IP Tester.
-Verification: The IP Tester will display the error message
datagram that must contain "ident = 4203 error" in its 18-
byte data field. The IP Tester should also display "HL5"
(internet header length is 5 four-octet units long) to
indicate that the error message datagram does not contain
the invalid option field in its IP header.
Success: Display of error message datagram.
Failure: Any response other than the display of the error
message datagram.
Test 4204 loose source and record route option sans option length
-Can the IUT send an incomplete loose source and record
route option?
-Action: Send a datagram to the IP Implementation Under
Test containing a Remote Driver command request for the IUT
to send a datagram with a 4-byte option field. This datagram
should be passed by the IUT to its Remote Driver. The IUT's
Remote Driver should request the IUT to send the reply
datagram required by the IP Remote Driver Specification to
the IP Tester. The first three bytes of the invalid option
field that the IUT is requested to send are no operation
options (to permit the truncation of the following
"option"). The last byte represents the option type byte of
a loose source and record route option. The IUT is required
to inform its Remote Driver that the request is invalid. The
Remote Driver should then request the IUT to send an IP
Remote Driver Specification error message to the IP Tester.
-Verification: The IP Tester will display the error message
datagram that must contain "ident = 4204 error" in its 18-
byte data field. The IP Tester should also display "HL5"
(internet header length is 5 four-octet units long) to
indicate that the error message datagram does not contain
the invalid option field in its IP header.
Success: Display of error message datagram.
Failure: Any response other than the display of the error
message datagram.
Test 4205 strict source and record route option sans option
length
-Can the IUT send an incomplete strict source and record
route option?
-Action: Send a datagram to the IP Implementation Under
Test containing a Remote Driver command request for the IUT
to send a datagram with a 4-byte option field. This datagram
should be passed by the IUT to its Remote Driver. The IUT's
Remote Driver should request the IUT to send the reply
datagram required by the IP Remote Driver Specification to
the IP Tester. The first three bytes of the invalid option
field that the IUT is requested to send are no operation
options (to permit the truncation of the following
"option"). The last byte represents the option type byte of
a strict source and record route option. The IUT is required
to inform its Remote Driver that the request is invalid. The
Remote Driver should then request the IUT to send an IP
Remote Driver Specification error message to the IP Tester.
-Verification: The IP Tester will display the error message
datagram that must contain "ident = 4205 error" in its 18-
byte data field. The IP Tester should also display "HL5"
(internet leader length is 5 four-octet units long) to
indicate that the error message datagram does not contain
the invalid option field in its IP header.
Success: Display of error message datagram.
Failure: Any response other than the display of the error
message datagram.
Scenario File OddReasTest: "Oddball Reassembly Tests"
570 MF and DF both set
571 DF set and fragment offset not 0
572 enormous fragment offset
573 range of fragment offsets
574 precedence mismatch
575 security level mismatch with unclassified exception
576 security level mismatch
577 security level mismatch with classified exception
578 first compartment byte mismatch
579 second compartment byte mismatch
580 first handling byte mismatch
581 second handling byte mismatch
582 first transmission control code byte mismatch
583 second transmission control code byte mismatch
584 third transmission control code byte mismatch
585 security option present exception
-----------------------------------
Test 570 more and don't fragment flags both set
-Can the IUT deal with contradictory framentation flags?
-Action: Send a datagram to the IP Implementation Under
Test.with both the more fragment(s) and don't fragment flags
set. There are two ways the IUT could choose to handle the
contradictory flags.
One method is to create a state vector and record the
"fragment." When the state vector's timer expires, the state
vector and "fragment" will be discarded and an ICMP
reassembly timeout message may be sent by the IUT to the IP
Tester. Another method envisioned is that the IUT will
detect that both of the fragmentation flags are set. The IUT
may then send an ICMP Parameter Problem message to the IP
Tester. This method should be considered legal by the lab
under section 9.4.6.2.7, unless otherwise instructed.
-Verification: If there is an IP Tester response datagram
display, it should contain either "ICMP TIME EXCEEDED
id=00570 REAS" or "ICMP PARAMETER PROBLEM id=00570". The
response datagram display should not contain the string
"ident" because that would indicate that the "fragment" was
passed to the IUT's Remote Driver. The total lack of a
response datagram is also a correct response.
Success: An ICMP reassembly timeout message, ICMP Parameter
Problem message, or nothing.
Failure: A reply datagram containing "ident".
Test 571 missive with non-zero offset with don't fragment flag
set
-Can the IUT deal with a missive with contradictory fragment
offset and don't fragment flag fields?
-Action: Send a datagram to the IP Implementation Under
Test with a non-zero fragment offset and the don't fragment
flag set. There are two ways the IUT could choose to handle
the contradictory fields.
One method is to create a state vector and record the
"fragment." When the state vector's timer expires, the state
vector and "fragment" will be discarded and an ICMP
reassembly timeout message may be sent by the IUT to the IP
Tester.
Another method envisioned is that the IUT will detect that
fields are contradictory. The IUT may then send an ICMP
Parameter Problem to the IP Tester. Unless instructed
otherwise, this method should be considered legal by the lab
under section 9.4.6.2.7.
-Verification: If there is an IP Tester response datagram
display, it should contain either "ICMP TIME EXCEEDED
id=00571 REAS" or "ICMP PARAMETER PROBLEM id=00571". The
response datagram display should not contain the string
"ident" because that would indicate that the "fragment" was
passed to the IUT's Remote Driver. The total lack of a
response datagram display is also an acceptable response.
Success: An ICMP Parameter Problem message, ICMP reassembly
timeout message, or nothing.
NOTICE: The receipt of an ICMP reassembly timeout message
(for a fragment with a non-zero offset) indicates that the
IUT does not conform to RFC792. It is not grounds for the
denial of MIL-STD-1777 certification.
Failure: A reply datagram containing "ident".
Test 572 fragment with an enormous fragment offset
-Can the IUT deal with fragment with enormous fragment
offset;?
-Action: Send a perfectly legal fragment to the IP
Implementation Under Test with an enormous fragment offset.
The IUT should either discard the fragment or create a state
vector to prepare to receive additional fragments.
If a state vector is created, its timer should expire and
the state vector should be discarded. In addition, the IUT