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 ignores IPv6 header options (except 
        unexpired Routing Headers, which are not tested here.)
        
        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 Hop-By-Hop option header PadN (3 bytes) Pad1 (1 bytes) Pad1 (1 bytes) Pad1 (1 bytes) ICMPv6 echo request 1.2. <> ===================> ICMPv4 Echo request IPv4 Header src address : TN LINK0 IPv4 address dst address : TN LINK1 IPv4 address ICMPv4 echo request
2.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 = 0; SegmentsLeft = 0; Address = "::" ICMPv6 echo request 2.2. <> ===================> ICMPv4 Echo request IPv4 Header src address : TN LINK0 IPv4 address dst address : TN LINK1 IPv4 address ICMPv4 echo request
3.1. ===================> ICMPv6 Echo Request IPv6 Header src address : TN LINK0 IPv4 embedded IPv6 address dst address : TN LINK1 IPv4 embedded IPv6 address Fragment option header NextHeader = 58; // ICMPv6 ICMPv6 echo request 3.2. <> ===================> ICMPv4 Echo request IPv4 Header src address : TN LINK0 IPv4 address dst address : TN LINK1 IPv4 address DF = 1 ICMPv4 echo request
4.1. ===================> ICMPv6 Echo Request IPv6 Header src address : TN LINK0 IPv4 embedded IPv6 address dst address : TN LINK1 IPv4 embedded IPv6 address Destination option header PadN (3 bytes) Pad1 (1 bytes) Pad1 (1 bytes) Pad1 (1 bytes) ICMPv6 echo request 4.2. <> ===================> ICMPv4 Echo request IPv4 Header src address : TN LINK0 IPv4 address dst address : TN LINK1 IPv4 address ICMPv4 echo request
5.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 = 0; 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 5.2. <> ===================> ICMPv4 Echo request IPv4 Header src address : TN LINK0 IPv4 address dst address : TN LINK1 IPv4 address DF = 1 ICMPv4 echo request
6.1. ===================> ICMPv6 Echo Request IPv6 Header src address : TN LINK0 IPv4 embedded IPv6 address dst address : NUT LINK0 global IPv6 address Routing option header RoutingType = 0; SegmentsLeft = 1; Address = TN LINK1 IPv4 embedded IPv6 address ICMPv6 echo request 6.2. <> ===================> ICMPv4 Echo request IPv4 Header src address : TN LINK0 IPv4 address dst address : TN LINK1 IPv4 address ICMPv4 echo request


JUDGMENT

<< PASS >> NUT ignores all options and translates the echo requests. << FAIL >> NUT doesn't translate the ICMPv6 echo requests to ICMPv4 echo requests.


NOTE


REFERENCE

B4.1. Translating IPv6 Headers into IPv4 Headers If any of an IPv6 hop-by-hop options header, destination options header, or routing header with the Segments Left field equal to zero are present in the IPv6 packet, they are ignored i.e., there is no attempt to translate them. However, the Total Length field and the Protocol field would have to be adjusted to "skip" these extension headers.


SEE ALSO

perldoc V6evalTool