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