NAME

        rfc2765_4.1_options.seq - Verify IPv6 <-> IPv4 header 
        translation in accordance with RFC2765 [SIIT]


TARGET

        Router


SYNOPSIS

        rfc2765_4.1_options.seq [-tooloption ...] 
        -p rfc2765_4.1_options.def


INITIALIZATION

	Before this test starts, run initialize.seq.


TEST PROCEDURE

        This test verifies that NUT drops packets with unexpired Routing 
        Headers, and sends back ICMPv6 Parameter Problem errors.
        
        Network Topology
        Link0
        --------------------------
            |               |
           TN              NUT
            |               |
        --------------------------
        Link1
        TN -- (Link0) -- NUT        NUT -- (Link1) -- TN
        
        ---------------------      ------------------------

1.1. ===================> ICMPv6 Echo Request IPv6 Header src address : TN LINK0 IPv4 embedded IPv6 address dst address : TN LINK1 IPv4 embedded IPv6 address Routing option header RoutingType = 1; SegmentsLeft = 0; Address = TN LINK1 IPv4 embedded IPv6 address ICMPv6 echo request 1.2. <> <=================== ICMPv6 Parameter Problem (Type 4, Code 0) IPv6 Header src address : NUT LINK0 global IPv6 address dst address : TN LINK0 IPv4 embedded IPv6 address ICMPv6 Parameter Problem Type = 4 Code = 0 Pointer = 43 Payload = IPv6 Echo Request packet
2.1. ===================> ICMPv6 Echo Request IPv6 Header src address : TN LINK0 IPv4 embedded IPv6 address dst address : TN LINK1 IPv4 embedded IPv6 address Hop-By-Hop option header PadN (3 bytes) Pad1 (1 bytes) Pad1 (1 bytes) Pad1 (1 bytes) Routing option header RoutingType = 0; SegmentsLeft = 1; Address = TN LINK1 IPv4 embedded IPv6 address Fragment option header NextHeader = 60; // Destination option header Destination option header PadN (3 bytes) Pad1 (1 bytes) Pad1 (1 bytes) Pad1 (1 bytes) ICMPv6 echo request 2.2. <> <=================== ICMPv6 Parameter Problem (Type 4, Code 0) IPv6 Header src address : NUT LINK0 global IPv6 address dst address : TN LINK0 IPv4 embedded IPv6 address ICMPv6 Parameter Problem Type = 4 Code = 0 Pointer = 51 Payload = IPv6 Echo Request packet


JUDGMENT

<< PASS >> NUT sends back two ICMPv6 Parameter Problem packets. << FAIL >> NUT translates the ICMPv6 echo requests to ICMPv4 echo requests or doesn't send back two ICMPv6 Parameter Problem packets.


NOTE


REFERENCE

B4.1. Translating IPv6 Headers into IPv4 Headers If a routing header with a non-zero Segments Left field is present then the packet MUST NOT be translated, and an ICMPv6 "parameter problem/ erroneous header field encountered" (Type 4/Code 0) error message, with the Pointer field indicating the first byte of the Segments Left field, SHOULD be returned to the sender.


SEE ALSO

perldoc V6evalTool