acceptRAwithMTUOption - Verify changing Path MTU received RA with MTU option
Host
acceptRAwithMTUOptin.seq [-tooloption ...] -p acceptRAwithMTUOption.def
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
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'
"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 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
perldoc V6evalTool perldoc V6evalRemote