#!/usr/bin/perl # # $Copyright$ # # $Id: FL_NonZeroToHost.seq,v 1.1.1.1 2000/10/31 22:39:20 sekiya Exp $ # ###################################################################### BEGIN { $V6evalTool::TestVersion = '$Name: $'; } use V6evalTool; %pktdesc = ( echo_request => 'Send Echo Request (Non-Zero Flow Label)', echo_reply => 'Recv Echo Reply (Zero Flow Label)', echo_reply_fl => 'Recv Echo Reply (Non-Zero Flow Label)', ns => 'Recv Neighbor Solicitation', na => 'Send Neighbor Advertisement', ); $IF = Link0; vCapture($IF); vSend($IF, echo_request); %ret = vRecv($IF, 5, 0, 0, ns, echo_reply_fl, echo_reply); if ($ret{status} != 0) { vLogHTML('NG'); exit $V6evalTool::exitFail; } if ($ret{recvFrame} eq 'ns') { vSend($IF, na); %ret = vRecv($IF, 5, 0, 0, echo_reply_fl, echo_reply); if ($ret{status} != 0) { vLogHTML('NG'); exit $V6evalTool::exitFail; } } if ($ret{recvFrame} eq 'echo_reply') { vLogHTML('OK'); exit $V6evalTool::exitPass; } if ($ret{recvFrame} eq 'echo_reply_fl') { vLogHTML('OK'); exit $V6evalTool::exitPass; } vLogHTML('NG'); exit $V6evalTool::exitFail; ###################################################################### __END__ =head1 NAME FL_NonZeroToHost - check Flow Label Non-Zero to Host =head1 TARGET Host and Router =head1 SYNOPSIS =begin html
  FL_NonZeroToHost.seq [-tooloption ...] -pkt FL_NonZeroToHost.def
    -tooloption : v6eval tool option
=end html =head1 INITIALIZATION None =head1 TEST PROCEDURE Tester Target | | |-------------------------->| | Echo Request | | | | | |<--------------------------| | Neighbor Solicitation | | | | | |-------------------------->| | Neighbor Advertisement | | | | | |<--------------------------| | Echo Reply | | | | | v v 1. Send Echo Request 2. Wait Echo Reply or NS 3. If NS received then send NA, and wait Echo Reply again 4. Receive Echo Reply Echo Request Data is: IPv6 Header Version = 6 Traffic Class = 0 FlowLabel = 0x34567 (20 bit) PayloadLength = 16 NextHeader = 58 (ICMP) HopLimit = 64 SourceAddress = Tester Link Local Address DestinationAddress = Target Link Local Address ICMP Echo Request Type = 128 (Echo Request) Code = 0 Checksum = (auto) Identifier = 0xffff SequenceNumber = 1 PayloadData = {1,2,3,4,5,6,7,8} =head1 JUDGEMENT PASS: Echo Reply Received IPv6 Header Version = 6 Traffic Class = 0 FlowLabel = 0 PayloadLength = 16 NextHeader = 58 (ICMP) HopLimit = 64 SourceAddress = Target Link Local Address Destination Address = Tester Link Local Address ICMP Echo Reply Type = 129 (Echo Reply) Code = 0 Checksum = (auto) Identifier = 0xffff (same as Echo Request) SequenceNumber = 1 (same as Echo Request) PayloadData = {1,2,3,4,5,6,7,8} (same as Echo Request) WARN: Echo Reply Received IPv6 Header Version = 6 Traffic Class = 0 FlowLabel = 0x34567 (20 bit) PayloadLength = 16 NextHeader = 58 (ICMP) HopLimit = 64 SourceAddress = Target Link Local Address Destination Address = Tester Link Local Address ICMP Echo Reply Type = 129 (Echo Reply) Code = 0 Checksum = (auto) Identifier = 0xffff (same as Echo Request) SequenceNumber = 1 (same as Echo Request) PayloadData = {1,2,3,4,5,6,7,8} (same as Echo Request) =head1 SEE ALSO perldoc V6evalTool =cut