# 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