#!/usr/bin/perl # # $Copyright$ # # $TAHI: ct/tunnel/ingress_filtering.seq,v 1.8 2001/10/05 06:39:23 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($IF1, v6overv4_echo_request_LINK1_tn2nut); %ret=vRecv($IF,5,0,0,v6_echo_request_LINK1_nut2tn_OFFLINK); if( $ret{status} !=0) { vLogHTML("

TN can not receive Echo Reply (decapsulated packet) from NUT

"); goto error; }else { vLogHTML("

The tunnel source address is acceptable

"); } vClear($IF1); vSend($IF1, v6overv4_echo_request_LINK1_tn2nut_noconfigured); %ret=vRecv($IF,5,0,0,v6_echo_request_LINK1_nut2tn_OFFLINK); if( $ret{status} =0) { vLogHTML("

TN receive Echo Reply (decapsulated packet) from NUT


NG

"."

"); vLogHTML("

Fail is because the tunnel source address is not acceptable

"."
"); vLogHTML("

NUT must not forwarding this packet

"."
"); goto error; } vLogHTML("

Ingress Filtering performed

"."
"); vLogHTML("

OK

"); exit $V6evalTool::exitPass; error: vLogHTML("

NG

"); exit $V6evalTool::exitFail; ######################################################################## __END__ =head1 NAME ingress_filter.seq - Verify that the tunnel source address is acceptable or not =head1 TARGET Router =head1 SYNOPSIS decapsulation_router.seq [-tooloption ...] -p decapsulation_router.def =head1 INITIALIZATION =begin html
	Before this test starts, run initialize.seq.
=end html =head1 TEST PROCEDURE This test verifies that the tunnel source address is acceptable before forwarding decapsulated packets Network Topology Link0 -------------------------- | | TN NUT | | -------------------------- Link1 TN -- (Link0) -- NUT TN -- (Link1) -- NUT --------------------- ------------------------ 1. ===================> IPv4 packet encapsulating IPv6 packet Outer Header (IPv4) src address : Off-link IPv4 address dst address : NUT Link1 IPv4 address Inner Header (IPv6) src address : Off-link IPv6 global address dst address : TN LINK0 IPv6 global address 2. In NUT, received IPv4 packet is decapsulated, and forward ICMPv6 Echo Request packet or not. 3. << JUDGMENT >> NUT did not send ICMPv6 Echo Request or <=================== ICMPv6 Echo Request IPv6 Header src address : Off-link IPv6 global address dst address : TN LINK0 IPv6 global address =head1 JUDGMENT << PASS >> NUT did not received ICMPv6 Echo Request << FAIL >> NUT received ICMPv6 Echo Request =head1 SEE ALSO perldoc V6evalTool =cut