#!/usr/bin/perl
#
# $Copyright$
#
# $TAHI: ct/tunnel/automatic_encapsulation_router.seq,v 1.9 2001/10/05 06:39:22 masaxmasa Exp $
########################################################################
BEGIN { $V6evalTool::TestVersion = '$Name: $'; }
use V6evalTool;
use tunnel;
checkNUT(router);
$IF=$tunnel::IF_ID_0;
$IF1=$tunnel::IF_ID_1;
vCapture($IF);
vCapture($IF1);
$ret=makeNCE_TN_LLA();
if( $ret !=0) {
vLogHTML("NUT can not be initialized !!
");
goto error;
}else {
vLogHTML("
--- TN can make TN's link local address NCE in TN ---
");
}
$ret=makeNCE_TN_GA();
if( $ret !=0) {
vLogHTML("NUT can not be initialized !!
");
goto error;
}else {
vLogHTML("--- TN can make TN's global address NCE in TN ---
");
}
$ret=makeARPTable_LINK1();
if( $ret !=0) {
vLogHTML("NUT can not convert v4 address to ethernet address !!
");
goto error;
}else {
vLogHTML("--- NUT can convert v4 address to ethernet address ---
");
}
vSend($IF, v6_echo_request_LINK0_tn2nut_OFFLINK);
%ret=vRecv($IF1,5,0,0,v6overv4_echo_request_LINK1_nut2tn);
if( $ret{status} !=0) {
vLogHTML("TN can not receive Echo Reply from NUT
");
goto error;
}else {
vLogHTML("TN can receive Echo Reply from NUT
");
vLogHTML("OK
");
exit $V6evalTool::exitPass;
}
error:
vLogHTML("NG
");
exit $V6evalTool::exitFail;
########################################################################
__END__
=head1 NAME
automatic_encapsulation_router.seq - Verify that encapsulation a
IPv6 datagram in the automatic tunneling of IPv6 over IPv4
=head1 TARGET
Router
=head1 SYNOPSIS
automatic_encapsulation_router.seq [-tooloption ...] -p
automatic_encapsulation_router.def
=head1 INITIALIZATION
=begin html
Before this test starts, run initialize.seq.
=end html
=head1 TEST PROCEDURE
This test verifies that NUT encapsulates the IPv6 packet in
automatic tunneling of IPv6 over IPv4.
Network Topology
Link0
--------------------------
| |
TN NUT
| |
--------------------------
Link1
TN -- (Link0) -- NUT TN -- (Link1) -- NUT
--------------------- ------------------------
1.
===================>
ICMPv6 Echo Request
IPv6 Header
src address : TN LINK0 IPv4 compatible IPv6 address
dst address : Off-link IPv4 compatible IPv6 address
2.
<>
<===================
IPv4 packet encapsulating IPv6 packet
Outer Header (IPv4)
src address : NUT's Link1 IPv6 address
dst address : Off-link IPv6 address
Inner Header (IPv6)
src address : TN LINK0 IPv4 compatible IPv6 address
dst address : Off-link IPv4 compatible IPv6 address
=head1 JUDGMENT
<< PASS >>
NUT received IPv4 packet encapsulating IPv6 datagram
<< FAIL >>
NUT did not receive IPv4 packet encapsulating IPv6 datagram
=head1 SEE ALSO
perldoc V6evalTool
=cut