NAME

        checkPMTUincrease - Verify increasing Path MTU


TARGET

        Host


SYNOPSIS

        checkPMTUincrease.seq [-tooloption ...] -p checkPMTUincrease.def


NETWORK CONFIGURATION

        This test evaluate the behavior of NUT when 5 min and 10 min has past
        since last Packet Too Big Message.
        In this test, NUT is a host and TN plays a Roll of Router and
        other host.

        Physical Network configuration
        
        --------+---------------+--------------
                |               |
                NUT             TN

        Logical Network Configuration

                                NUT
                                |
        ----------------+-------+---------
                        |
                        Router
                        |
        --------+-------+-----------------
                | 
              HOST

        NUT < --- Router --- > HOST

        In this test, NUT receives Packet Too Big Message and 
        wait for a while. 
        - Decrease PMTU for HOST from 1500 to 1280
        - Confirm PMTU for HOST is changed to 1280
        - Wait for 295 sec
        - Confirm PMTU for HOST is still 1280
        - Wait for 305 sec
        - Confirm PMTU for HOST is reset to 1500


INITIALIZATION

        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,                       
           ValidLifetime=3600005, PreferredLifetime=3600005
           Prefix=3ffe:501:ffff:100::, PrefixLength=64                      
   
          Wait (5 sec.)
                 Ignoring DAD packets for global address.                 


TEST PROCEDURE

        "checkPMTUincrease" verifies NUT's resetting of Path MTU. 

        - NUT must not attempt to detect an increase less than 5 
          minutes after a Too Big Mesg.

           TN                  NUT
            |                   |
          --+-------------------+----

        1.
        TN send Echo Request. 
        TN === echo request(1500) ===> NUT

        2.
        NUT send Echo Reply.
        TN <=== echo reply(1500) === NUT

        3.
        TN send ICMPv6 Too Big Mesg include MTU (1280).
        
        TN  === ICMPv6 Too Big Mesg(1280) ===> NUT

        4.
        TN send Echo Request. 
        TN  === echo request(1500) ===> NUT

        5.
        NUT send Echo Reply
        << JUDGMENT 1 >>
        TN <=== echo reply(1280 1/2) === NUT
        TN <=== echo reply( 276 2/2) === NUT
            
        6. 
        TN sleep 295 seconds in perl script.

        7.
        TN send Echo Request. 
        TN  === echo request(1500) ===> NUT

        8.
        NUT send Echo Reply
        << JUDGMENT 2 >>
        TN <=== echo reply(1280 1/2) === NUT
        TN <=== echo reply( 276 2/2) === NUT

        9. 
        TN sleep 305 seconds in perl script.

        10.
        TN send Echo Request. 
        TN  === echo request(1500) ===> NUT

        11.
        NUT send Echo Reply
        << JUDGMENT 3 >>
        TN <=== echo reply(1500) === NUT


JUDGMENT

        << JUDGMENT 1 -PASS- >>
                NUT sends fragmented Echo Reply.
                NUT accept ICMP Packet Too Big Message and register the 
                MTU according to the ICMP message.

        << JUDGMENT 2 -PASS- >>
                NUT sends fragmented Echo Reply.
                NUT does not reset MTU value in 5 min.

        << JUDGMENT 2 -PASS- >>
                NUT sends fragmented Echo Reply.
                NUT reset MTU value after 10 min.
                Note: The value 10 min is just recommended value, 
                      so implementation can use other value to reset the PMTU.


SEE ALSO

        perldoc V6evalTool
        perldoc V6evalRemote