#!/usr/bin/perl # # $Copyright$ # # $TAHI: ct/mip6-cn-19/BU_Piggyback_A1.seq,v 1.2 2003/01/12 08:00:54 akisada Exp $ # ################################################################ BEGIN {$V6evalTool::TestVersion = '$Name: $';} use V6evalTool; use MIP6; my $IF0 = 'Link0'; my $NutType = $V6evalTool::NutDef{'Type'}; vCapture($IF0); #--------------------------------------------------------------# vLogHTML('INITIALIZATION
'); vClear($IF0); vLogHTML('Check Reachability
'); if(MIP6_CheckReachability($IF0) < 0) { vLogHTML('Can\'t get Echo Reply
'); exit($V6evalTool::exitFail); } #--------------------------------------------------------------# vLogHTML('TEST PROCEDURE
'); vClear($IF0); vLogHTML('Return Routability Procedure
'); my %rr = MIP6_ReturnRoutability($IF0); if($rr{'status'} < 0) { vLogHTML('Can\'t complete RR
'); exit($V6evalTool::exitFail); } vClear($IF0); vLogHTML('Requests to Cache a Binding
'); my $sn = 0; my $a = 1; my $lt = 0xffff; if(MIP6_BU_NoResponse($IF0, 'BU_Piggyback', $sn, $a, $lt, %rr) < 0) { vLogHTML('Recv unexpect packets
'); exit($V6evalTool::exitFail); } vClear($IF0); vLogHTML('Check Binding Cache
'); if(MIP6_CheckNoBindingCache($IF0) < 0) { vLogHTML('Can\'t get BE
'); exit($V6evalTool::exitWarn); } vStop($IF0); vLogHTML('PASS
'); exit($V6evalTool::exitPass); # # perldoc # ################################################################ __END__ =head1 NAME BU_Piggyback_A1 - Receiving invalid BU A=1 (piggybacking) =head1 TARGET =begin html
Host/Router
=end html =head1 SYNOPSIS =begin html
BU_Piggyback_A1.seq [-tooloption ...] -pkt BU_Piggyback_A1.def
-tooloption: v6eval tool option
=end html =head1 TOPOLOGY =begin html
                                MN'
                                |
                --------+-------+------- LinkY
                        |
                        R1      MN
                        |       |
        --------+-------+-------+------- LinkX
                |
       NUT      R0
        |       |
--------+-------+----------------------- Link0
Link0 global 3ffe:501:ffff:100::/64  
LinkX global 3ffe:501:ffff:102::/64 home link
LinkY global 3ffe:501:ffff:103::/64 foreign link
R0(Link0) global 3ffe:501:ffff:100::a0a0  
link-local fe80::200:ff:fe00:a0a0
ether 00:00:00:00:a0:a0
MN global 3ffe:501:ffff:102:200:ff:fe00:15 home address
MN' global 3ffe:501:ffff:103:200:ff:fe00:15 care-of address
=end html =head1 INITIALIZATION =begin html
NUT      MN
 |       |
 | <---- | Echo Request
 | ----> | Echo Reply
 |       |

1. Send Echo Request
2. Wait Echo Reply
3. Receive Echo Reply
=end html =head1 TEST PROCEDURE =begin html
NUT      MN      MN'
 |       |       |
 | <---- |       | HoTI
 | <------------ | CoTI
 | ----> |       | HoT (*1)
 | ------------> | CoT (*2)
 |       |       |
 | <------------ | BU (piggybacking)
 | --X   |       | no response (*3)
 |       |       |
 | <------------ | Echo Request w/ HaO
 | ------------> | BE (*4)
 |       |       |

1. Send HoTI & CoTI
2. Wait HoT & CoT
3. Receive HoT & CoT (*1) (*2)
4. Send BU (piggybacking)
5. no response (*3)
6. Send Echo Request w/ HaO
7. Wait BE
8. Receive BE (*4)
=end html =head1 JUDGEMENT =begin html
(*1) PASS: MN receives HoT
(*2) PASS: MN' receives CoT
(*3) PASS: no response
(*4) PASS: MN' receives BE
     WARN: no response
     FAIL: Recv unexpect packets
=end html =head1 SEE ALSO =begin html
MIP6.pm
MIP6.def
=end html =cut