#!/usr/bin/perl # # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 # Yokogawa Electric Corporation. # All rights reserved. # # Redistribution and use of this software in source and binary # forms, with or without modification, are permitted provided that # the following conditions and disclaimer are agreed and accepted # by the user: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in # the documentation and/or other materials provided with # the distribution. # # 3. Neither the names of the copyrighters, the name of the project # which is related to this software (hereinafter referred to as # "project") nor the names of the contributors may be used to # endorse or promote products derived from this software without # specific prior written permission. # # 4. No merchantable use may be permitted without prior written # notification to the copyrighters. # # 5. The copyrighters, the project and the contributors may prohibit # the use of this software at any time. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHTERS, THE PROJECT AND # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING # BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS # FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO EVENT SHALL THE # COPYRIGHTERS, THE PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # # $TAHI: ct/nd.p2/V6LC_2_2_15_F.seq,v 1.7 2009/01/05 06:39:39 akisada Exp $ # ######################################################################## use rdisc; BEGIN {} END {} if($V6evalTool::NutDef{'Type'} ne 'host') { exitHostOnly($Link0); #NOTREACHED } vCapture($Link0); $pktdesc{'local_ra'} = ' Send RA w/ SLL (same): '. 'TR1 (link-local) -> all-nodes multicast address'; unless(v6LC_2_2_15_F($Link0)) { exitFail($Link0); #NOTREACHED } exitPass($Link0); #NOTREACHED # # perldoc # ######################################################################## __END__ =head1 Title Test v6LC.2.2.16: Router Advertisement Processing, Neighbor Cache (Hosts Only) Part G: RA with SLLA unchanged, NCE PROBE =head1 Purpose Verify that a host properly updates its Neighbor Cache upon receipt of a Router Advertisement. =head1 References * [ND] Sections 6.3.4 and 7.3.3 =head1 Resource Requirements * Packet generator * Monitor to capture packets =head1 Test Setup No Common Test Setup is performed. Wait at least 3 seconds (MAX_MULTICAST_SOLICIT * RETRANS_TIMER) after any previous cleanup to make sure all previous NCE's are in state No NCE. The Common Test Cleanup procedure is performed after each part. =begin html
=end html =head1 Procedure Part G: RA with SLLA unchanged, NCE PROBE 31. Repeat Steps 19 through 30, transmitting Router Advertisement A in Step 28 with the same Source Link-layer Address. 32. Check the NCE of TR1 on the HUT and observe the packets transmitted by the HUT. =head1 Observable Results Part G Step 20: The HUT should create a Neighbor Cache Entry for TR1 and set the state of the Entry to INCOMPLETE. The HUT should send a multicast Neighbor Solicitation to TR1. Step 22: The HUT should update the state of TR1's NCE to REACHABLE and record TR1's Link-layer Address. Because the HUT is in state REACHABLE, after receiving the earlier Echo Request from TR1, the HUT should send an Echo Reply using the received Link-Layer Address. After DELAY_FIRST_PROBE_TIME, the HUT should not send a unicast Neighbor Solicitation to TR1. Step 25: The HUT should update the state of TR1's NCE to STALE, send an Echo Reply to TR1 using the same Link-Layer address and enter state DELAY. Step 27: The HUT should update the state of TR1's NCE to PROBE by sending a unicast Neighbor Solicitation to TR1. Step 30: The HUT must not change the state of the TR1's NCE. The HUT must continue to be in state PROBE and send unicast Neighbor Solicitations to TR1 up to MAX_UNICAST_SOLICIT times. =head1 Possible Problems * None. =cut
Router Solicitation A IPv6 Header
Next Header: 58
Source Address: TR1's Link-local Address
Router Advertisement
Router Lifetime: 0 seconds
Reachable Time: 10 seconds
Retransmit Interval: 1 second
Source Link-layer Option
Echo Request B IPv6 Header
Next Header: 58
Source Address: TR1's link-local Address
Destination Address: HUT's link-local AddressICMPv6 Echo Request
Neighbor Advertisement C IPv6 Header
Next Header: 58
Source Address: TR1's Link-local Address
Destination Address: HUT's Link-local AddressNeighbor Advertisement
Router flag: 1
Solicited flag: 1
Override flag: 1
Target Address: TR1's Link-local Address