NAME

        acceptRAwithMTUOption - Verify changing Path MTU 
        received RA with MTU option 


TARGET

        Host


SYNOPSIS

        acceptRAwithMTUOptin.seq [-tooloption ...] -p acceptRAwithMTUOption.def


NETWORK CONFIGURATION

        This test is OFF-LINK Network Configuration test.
        In this test, TN play a Roll of the Router.
        
        Physical Network configuration
        
        ---------------------------------------
                |               |
                NUT             TN

        Logical Network Configuration

                                HOST A (globaladdress:A)
                                |
        ----------------------------------
                        |
                        Router
                        |
        ----------------------------------
                | 
                NUT (globaladdress:B)

        NUT < --- Router --- > HOST A

        In this configuration, Packets are send and received. 

        for example,
                In Logical
                        HOST A           -- Echo Reply --> NUT
                Actually, in physical
                        TN (as Router X) -- Echo Reply --> NUT


INITIALIZATION

        There are 2 patterns for initialize.    

        -- Test for host --

        The TN send a RA to assign global address prefix.

        TN              NUT

        -------------------

        ===multicast RA===>
        src=TN's link-local
        dst=LinkLocal-all-node                                                  
        M=0, O=0,
        Lifetime=3600, ReachableTime=60000, RetransTimer=1005
        Prefix:
           L=1, A=1,                       
           Valid Lifetime=3600005, Preferred Lifetime=3600005
           Prefix=3ffe:501:ffff:100::, PrefixLength=64                      
   
          Wait (5 sec.)
                 Ignoring DAD packets for global address.                 

        -- Test for router --

        TN attempt to execute remote command 'vRemote(route.rmt)'.
        
        'route add -inet6 3ffe:501:ffff:109 TN'slink-local-address' 


TEST PROCEDURE

        "acceptRAwithMTUOption" verify that changing Path MTU
         when node receives RA with MTU option.

        This test includes 2 patterns which MTU is 1300 and 1400.
        sample is MTU = 1300.

        TN                      NUT

        ---------------------------

    1.
                TN send RA which include MTU option (MTU = 1300).

        === RA with MTU = 1300 ===>

        2.1
        TN send Echo Request which is fragmented.
                orignal packet's size is 1299.

         === echo request 1st ===>

         === echo request 2nd ===>

        2.2
        NUT send Echo Reply 
    << JUDGMENT 1 >>
         <=== echo reply ===

        3.1
        TN send Echo Request which is fragmented.
                orignal packet's size is 1300.

         === echo request 1st ===>

         === echo request 2nd ===>

        3.2
        NUT send Echo Reply 
    << JUDGMENT 1 >>
         <=== echo reply ===

        4.1
        TN send Echo Request which is fragmented.
                orignal packet's size is 1301.

         === echo request 1st ===>

         === echo request 2nd ===>

        4.2
        NUT send Echo Reply which is fragmented. 
    << JUDGMENT 1 >>
         <=== echo reply 1st ===

         <=== echo reply 2nd ===

    and, this parts (1-6) test in MTU 1400

        --------------------------------------------------------
        verify that NUT ignore invalid MTU.
        
        NUT must not increase its estimate of the Path MTU in 
        response to the contents of a Too Big Message

        1.
                TN send RA which include MTU option (MTU = 1450).

        === RA with MTU = 1450 ===>

        2.1
        TN send Echo Request which is fragmented.
                orignal packet's size is 1399.

         === echo request 1st ===>

         === echo request 2nd ===>

        2.2
        NUT send Echo Reply 
        << JUDGMENT 2 >>
         <=== echo reply ===

        3.1
        TN send Echo Request which is fragmented.
                orignal packet's size is 1400.

         === echo request 1st ===>

         === echo request 2nd ===>

        3.2
        NUT send Echo Reply 
        << JUDGMENT 2 >>
         <=== echo reply ===

        4.1
        TN send Echo Request which is fragmented.
                orignal packet's size is 1401.

         === echo request 1st ===>

         === echo request 2nd ===>

        4.2
        NUT send Echo Reply which is fragmented. 
        << JUDGMENT 2 >>
         <=== echo reply 1st ===

         <=== echo reply 2nd ===
        
        --------------------------------------------------------
        verify that NUT ignore invalid MTU.

        NUT must not reduce its estimate of the Path MTU below 
        the IPv6 minimum link MTU.

    1.
                TN send RA which include MTU option (MTU = 1300).

        === RA with MTU = 1300 ===>

        2.1
        TN send Echo Request which is fragmented.
                orignal packet's size is 1299.

         === echo request 1st ===>

         === echo request 2nd ===>

        2.2
        NUT send Echo Reply 
        << JUDGMENT 3 >>
         <=== echo reply ===


JUDGMENT

        << JUDGMENT 1 -PASS- >>
                NUT send 3 Echo Reply ( no fragment, no fragment, fragmented)

                "PASS" means that NUT set valid MTU in response to accept 
                Packet too big message.

                In first test, NUT's Path MTU of this path can be set 1300  
                        
                In second test, NUT's Path MTU of this path can be set 1400.

        << JUDGMENT 2 -PASS- >>
                NUT send 3 Echo Reply ( no fragment, no fragment, fragmented
)

                "PASS" means that NUT don't increase Path MTU in response to 
                accept invalid Packet Too Big Message

        << JUDGMENT 3 -PASS- >>
                NUT send 1 Echo Reply ( no fragment)

                "PASS" means that NUT don't set its Path MTU below IPv6 mini
mum


SEE ALSO

        perldoc V6evalTool
        perldoc V6evalRemote