#!/usr/bin/perl # # $Copyright$ # # $TAHI: ct/mip6-mn-19/MovementDetection.seq,v 1.5 2003/01/17 04:07:56 akisada Exp $ # ################################################################ BEGIN {$V6evalTool::TestVersion = '$Name: $';} use V6evalTool; use MIP6; if($V6evalTool::NutDef{'Type'} ne 'host') { vLogHTML('This test is for only the host.
'); exit($V6evalTool::exitHostOnly); } my $IF0 = 'Link0'; my $IF0_device = $V6evalTool::NutDef{'Link0_device'}; vCapture($IF0); #--------------------------------------------------------------# vLogHTML('INITIALIZATION
'); vClear($IF0); if(vRemote('mip6EnableMN.rmt', "device=$IF0_device", '')) { vLogHTML('mip6EnableMN.rmt: Can\'t initialize MN function
'); exit($V6evalTool::exitFatal); } #--------------------------------------------------------------# vLogHTML('Check Reachability
'); if(MIP6_CheckReachability($IF0) < 0) { vLogHTML('Can\'t get Echo Reply
'); exit($V6evalTool::exitFail); } #--------------------------------------------------------------# vLogHTML('Receiving RA at home link
'); if(MIP6_CheckReachabilityOnHomeLink($IF0) < 0) { vLogHTML('Can\'t get Echo Reply
'); exit($V6evalTool::exitFail); } #--------------------------------------------------------------# vLogHTML('TEST PROCEDURE
'); vClear($IF0); vLogHTML('Receiving RA at foleign link
'); if(MIP6_MovementDetection($IF0) < 0) { vLogHTML('Can\'t get BU
'); exit($V6evalTool::exitFail); } vStop($IF0); vLogHTML('PASS
'); exit($V6evalTool::exitPass); # # perldoc # ################################################################ __END__ =head1 NAME MovementDetection - Movement Detection =head1 TARGET =begin html
Host
=end html =head1 SYNOPSIS =begin html
MovementDetection.seq [-tooloption ...] -pkt MovementDetection.def
-tooloption: v6eval tool option
=end html =head1 TOPOLOGY =begin html
                |
       NUT     HA0
        |       |
--------+-------+------- Link0
                |
       NUT'     R0
        |       |
--------+-------+------- LinkX
Link0 global 3ffe:501:ffff:100::/64 home link
HA0 global 3ffe:501:ffff:100:200:ff:fe00:a0a0 Link0
link-local fe80::200:ff:fe00:a0a0
ether 0:0:0:0:a0:a0
LinkX global 3ffe:501:ffff:102::/64 foreign link
R0 global 3ffe:501:ffff:102:200:ff:fe00:a1a1 LinkX
link-local fe80::200:ff:fe00:a1a1
ether 0:0:0:0:a1:a1
=end html =head1 INITIALIZATION =begin html
  • Initialize MN function (mip6EnableMN.rmt)
NUT     HA0      R0
 |       |       |
 | <---- |       | Echo Request
 | ----> |       | Echo Reply
 |       |       |
 | <---- |       | RA
 |       |       |
 | <------------ | Echo Request
 | ------------> | Echo Reply
 |       |       |

1. Send Echo Request
2. Wait Echo Reply
3. Receive Echo Reply
4. Send RA 
5. Send Echo Request
6. Wait Echo Reply
7. Receive Echo Reply
=end html =head1 TEST PROCEDURE =begin html
NUT'     R0     HA0
 |       |       |
 | <---- |       | RA
 |       |       |
 | ------------> | BU
 | <-----------> | BA
 |       |       |

1. Send RA 
2. Wait BU
3. Receive BU
4. Send BA 
=end html =head1 JUDGEMENT =begin html
PASS: HA0 receives BU
=end html =head1 SEE ALSO =begin html
MIP6.pm
MIP6.def
=end html =cut