#!/usr/bin/perl # # $Copyright$ # # $TAHI: ct/icmp/receiveEchoRequest_sendEchoReply_validity_check_checksum.seq,v 1.7 2001/10/05 06:38:51 masaxmasa Exp $ ######################################################################## BEGIN { $V6evalTool::TestVersion = '$Name: $ '; } use V6evalTool; use icmp; checkNUT(hostrouter); $IF=Link0; # # # vLogHTML("Initialization
"); vCapture($IF); # # This part is just for comparison # vLogHTML("This is very tricky, but send echo-reply (src=NUT/dst=TN) ". "to get valid checksum value.
"); %ret1=vSend($IF,echo_reply_nut2tn_LLA); $Valid_Checksum=$ret1{"Frame_Ether.Packet_IPv6.ICMPv6_EchoReply.Checksum"}; #vSleep(1); vClear($IF); #vSleep(1); $ret=makeNCE_TN_LLA(); if( $ret !=0) { vLog("NUT can not be initialized !!"); goto error; }else { vLog("*** TN can make TN's link local address NCE in TN ***"); } # # # vLogHTML("Test
"); vSend($IF, echo_request_tn2nut_LLA); %ret=vRecv($IF,5,0,0,echo_reply_nut2tn_LLA_for_comparison); if( $ret{status} !=0) { vLog("TN can not receive Echo Reply from NUT"); goto error; }elsif($ret{recvFrame} eq 'echo_reply_nut2tn_LLA_for_comparison') { if ($ret{"Frame_Ether.Packet_IPv6.ICMPv6_EchoReply.Checksum"} eq $Valid_Checksum) { vLog("Checksum value included in NUT's sending packet is valid"); vLog("OK"); exit $V6evalTool::exitPass; }else { vLog("Checksum value included in NUT's sending packet is invalid"); goto error; } }else { vLog("TN receive unexpected packets from NUT"); goto error; } error: vLog("FAIL"); exit $V6evalTool::exitFail; ######################################################################## __END__ =head1 NAME receiveEchoRequest_sendEchoReply_validity_check_checksum.seq - check that sending and receiving Echo Request and Echo Reply (check sum) =head1 TARGET Host and Router =head1 SYNOPSIS receiveEchoRequest_sendEchoReply_validity_check_checksum.seq [-tooloption ...] -p receiveEchoRequest_sendEchoReply_validity_check_checksum.def =head1 INITIALIZATION When test stars, states of Neighbor Cache Entry for TN's addresses are reachable. =head1 TEST PROCEDURE This test verifies that NUT sends valid ICMPv6 Echo Request and received ICMPv6 Echo Reply. TN NUT --------------------------- 1. === ICMPv6 Echo Request ===> src address : TN link local address dst address : NUT link local address 2. << JUDGMENT >> <=== ICMPv6 Echo Reply === src address : NUT link local address dst address : TN link local address =head1 JUDGMENT << PASS >> Check Sum which is in a received packet is valid << FAIL >> Check Sum which is in a received packet is invalid =head1 SEE ALSO perldoc V6evalTool =cut