#!/usr/bin/perl # # $Copyright$ # # $Id: DH_Type10.seq,v 1.1.1.1 2000/10/31 22:39:20 sekiya Exp $ # ###################################################################### BEGIN { $V6evalTool::TestVersion = '$Name: $'; } use V6evalTool; %pktdesc = ( echo_request_ex => 'Send Echo Request (Unrecognized Option:Type 10)', icmperr => 'Recv ICMP Error (Parameter Problem, unrecognized IPv6 option encounted)', ns => 'Recv Neighbor Solicitation', na => 'Send Neighbor Advertisement', ); $IF = Link0; vCapture($IF); vSend($IF, echo_request_ex); %ret = vRecv($IF, 5, 0, 0, ns, icmperr); if ($ret{status} != 0) { vLogHTML('NG'); exit $V6evalTool::exitFail; } if ($ret{recvFrame} eq 'ns') { vSend($IF, na); %ret = vRecv($IF, 5, 0, 0, icmperr); if ($ret{status} != 0) { vLogHTML('NG'); exit $V6evalTool::exitFail; } } if ($ret{recvFrame} ne 'icmperr') { vLogHTML('NG'); exit $V6evalTool::exitFail; } vLogHTML('OK'); exit $V6evalTool::exitPass; ###################################################################### __END__ =head1 NAME DH_Type10 - check Destination Options Header (Type 10) =head1 TARGET Host and Router =head1 SYNOPSIS =begin html
  DH_Type10.seq [-tooloption ...] -pkt DH_Type10.def
    -tooloption : v6eval tool option
  See also DH.def
=end html =head1 INITIALIZATION None =head1 TEST PROCEDURE Tester Target | | |-------------------------->| | Echo Request | | | | | |<--------------------------| | Neighbor Solicitation | | | | | |-------------------------->| | Neighbor Advertisement | | | | | |<--------------------------| | ICMP Error | | | | | v v 1. Send Echo Request 2. Wait ICMP Error or NS 3. If NS received then send NA, and wait ICMP Error again 4. Receive ICMP Error Echo Request Data is: IPv6 Header Version = 6 Traffic Class = 0 FlowLabel = 0 PayloadLength = 16 NextHeader = 60 (Destination Options Header) HopLimit = 64 SourceAddress = Tester Link Local Address DestinationAddress = Target Link Local Address Destination Options Header NextHeader = 58 (ICMP) HeaderExtLength = 0 OptionType = 0x82 (Unrecognized Option, Type 10) OptDataLength = 4 (for 8 octets alignment) data = {0,0,0,0} 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: ICMP Error 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 Error Type = 4 (Parameter Problem) Code = 2 (unrecognized IPv6 option encounted) Checksum = (auto) Pointer = 42 (Offset to unrecognized option) PayloadData = (Echo Request) =head1 SEE ALSO perldoc V6evalTool =cut