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