NAME

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


TARGET

        Router


SYNOPSIS

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


INITIALIZATION

	Before this test starts, run initialize.seq.


TEST PROCEDURE

        This test verifies that NUT drops IPv4 packets with unexpired 
        Source Route options, and reply with ICMPv4 Destination Unreachable.
        
        Network Topology

        Link0
        --------------------------
            |               |
           TN              NUT
            |               |
        --------------------------
        Link1

        TN -- (Link0) -- NUT        NUT -- (Link1) -- TN
        
        ---------------------      ------------------------

        3.1.[1-2]
                                   <===================
        ICMPv4 Echo request
                IPv4 Header
                        src address : TN LINK1 IPv4 address
                        dst address : TN LINK0 IPv4 address
                        Don't Fragment = 1
                        More fragments = 0
                        Offset = 0
                        Option = Loose Source Route (Route unexpired)
                              or Strict Source Route (Route unexpired)
                ICMPv4 echo request

        3.2.[1-2]
        <<JUDGMENT PASS>>
                                    ===================>
        ICMPv4 Destination Unreachable
                IPv4 Header
                        src address : NUT LINK1 IPv4 address
                        dst address : TN LINK1 IPv4 address
                ICMPv6 Destination Unreachable
                        data = IPv4 Loose Source Route (Route unexpired)
                            or IPv4 Strict Source Route (Route unexpired)
         
        <<JUDGMENT WARN>>
        No packets received on either link
         
        <<JUDGMENT FAIL>>
        <===================
        ICMPv6 Echo Request
                IPv6 Header
                        src address : TN LINK0 IPv4 embedded IPv6 address
                        dst address : TN LINK1 IPv4 embedded IPv6 address
                        Hop Limit = 63
                ICMPv6 echo request

        4.1.1
                                   <===================
        ICMPv4 Echo request
                IPv4 Header
                        src address : TN LINK1 IPv4 address
                        dst address : TN LINK0 IPv4 address
                        Don't Fragment = 1
                        More fragments = 0
                        Offset = 0
                        option = NOP
                        option = Loose Source Route (Route expired)
                        option = NOP 
                        option = Strict Source Route (Route unexpired)
                        option = NOP
                        option = Record Route
                        option = End of OptionList
                        Padding = 0;
                        Padding = 0;
                        Padding = 0;
                ICMPv4 echo request

        4.2.1
        <<JUDGMENT PASS>>
                                    ===================>
        ICMPv4 Destination Unreachable
                IPv4 Header
                        src address : NUT LINK1 IPv4 address
                        dst address : TN LINK1 IPv4 address
                ICMPv6 Destination Unreachable
                        data = IPv4 packet sent
         
        <<JUDGMENT WARN>>
        No packets received on either link
         
        <<JUDGMENT FAIL>>
        <===================
        ICMPv6 Echo Request
                IPv6 Header
                        src address : TN LINK0 IPv4 embedded IPv6 address
                        dst address : TN LINK1 IPv4 embedded IPv6 address
                        Hop Limit = 63
                ICMPv6 echo request
         


JUDGMENT

        << PASS >>
                NUT ignores all options except unexpired Source Route.
                NUT sends ICMPv4 Destination Unreachable (Type 3/Code 5)
                upon receiving an unexpired Source Route option.

        << FAIL >>      
                NUT translates IPv4 packets with unexpired Source Route 
                option, and forwards the packet.

        << WARN >>      
                NUT ignores all options except unexpired Source Route.
                NUT neither forwards unexpired Source Route packets,
                nor sends an ICMPv4 Destination Unreachable back.


NOTE


REFERENCE

RFC2765

3.1. Translating IPv4 Headers into IPv6 Headers

   If IPv4 options are present in the IPv4 packet, they are ignored
   i.e., there is no attempt to translate them.  However, if an
   unexpired source route option is present then the packet MUST instead
   be discarded, and an ICMPv4 "destination unreachable/source route
   failed" (Type 3/Code 5) error message SHOULD be returned to the
   sender.


SEE ALSO

        perldoc V6evalTool