#
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
# 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.
#
# $Name: V6LC_5_0_7 $
#
# $TAHI: ct/nd.p2/INDEX_REDIRECT_p2_host,v 1.5 2007/09/27 07:24:44 akisada Exp $
#
# <seq>:<def>:<opts>:<htmldoc>:<dsc>:<links>
#



#----------------------------------------------------------------------#
&print:<U><B><FONT SIZE="+1" COLOR="#FF0000"><TT>Group 3: Redirect Function</TT></FONT></B></U>
./v6LC_2_0_0.seq:./Get_global_addr.def:::<TT>Initialization</TT>:1



#----------------------------------------------------------------------#
&print:<TT>Test v6LC.2.3.1: Redirected On-link: Valid (Hosts Only)</TT>
./v6LC_2_3_1_E.seq:./v6LC_2_3_1_E.def:::<TT>Part A&#58; dst=global, w/o TLL, w/o Redirected Header</TT>:1
./v6LC_2_3_1_F.seq:./v6LC_2_3_1_F.def:::<TT>Part B&#58; dst=global, w/o TLL, w/&nbsp; Redirected Header</TT>:1
./v6LC_2_3_1_G.seq:./v6LC_2_3_1_G.def:::<TT>Part C&#58; dst=global, w/&nbsp; TLL, w/o Redirected Header</TT>:1
./v6LC_2_3_1_H.seq:./v6LC_2_3_1_H.def:::<TT>Part D&#58; dst=global, w/&nbsp; TLL, w/&nbsp; Redirected Header</TT>:1



#----------------------------------------------------------------------#
&print:<TT>Test v6LC.2.3.2: Redirected On-link: Suspicious (Hosts Only)</TT>
./v6LC_2_3_2_A.seq:./v6LC_2_3_2_A.def:::<TT>Part A&#58; Option Unrecognized</TT>:1
./v6LC_2_3_2_B.seq:./v6LC_2_3_2_B.def:::<TT>Part B&#58; Reserved Field is Non-zero</TT>:1
./v6LC_2_3_2_C.seq:./v6LC_2_3_2_C.def:::<TT>Part C&#58; Target Address not Covered by On-link Prefix</TT>:1



#----------------------------------------------------------------------#
&print:<TT>Test v6LC.2.3.3: Redirected On-link: Invalid (Hosts Only)</TT>
./v6LC_2_3_3_A.seq:./v6LC_2_3_3_A.def:::<TT>Part A&#58; Redirect Source Address is Global</TT>:1
./v6LC_2_3_3_B.seq:./v6LC_2_3_3_B.def:::<TT>Part B&#58; Redirect Source Address is not the current first-hop router</TT>:1
./v6LC_2_3_3_C.seq:./v6LC_2_3_3_C.def:::<TT>Part C&#58; Hop Limit is not 255</TT>:1
./v6LC_2_3_3_D.seq:./v6LC_2_3_3_D.def:::<TT>Part D&#58; ICMPv6 Code is not 0</TT>:1
./v6LC_2_3_3_E.seq:./v6LC_2_3_3_E.def:::<TT>Part E&#58; ICMPv6 Checksum is invalid</TT>:1
./v6LC_2_3_3_F.seq:./v6LC_2_3_3_F.def:::<TT>Part F&#58; ICMPv6 Destination Address is Multicast</TT>:1
./v6LC_2_3_3_G.seq:./v6LC_2_3_3_G.def:::<TT>Part G&#58; Target Address is Multicast</TT>:1
./v6LC_2_3_3_H.seq:./v6LC_2_3_3_H.def:::<TT>Part H&#58; ICMPv6 length is less than 40 Octets</TT>:1
./v6LC_2_3_3_I.seq:./v6LC_2_3_3_I.def:::<TT>Part I&#58; Option has Length Zero</TT>:1



#----------------------------------------------------------------------#
&print:<TT>Test v6LC.2.3.4: Redirected to Alternate Router: Valid (Hosts Only)</TT>
./v6LC_2_3_4_E.seq:./v6LC_2_3_4_E.def:::<TT>Part A&#58; dst=global, w/o TLL, w/o Redirected Header</TT>:1
./v6LC_2_3_4_F.seq:./v6LC_2_3_4_F.def:::<TT>Part B&#58; dst=global, w/o TLL, w/&nbsp; Redirected Header</TT>:1
./v6LC_2_3_4_G.seq:./v6LC_2_3_4_G.def:::<TT>Part C&#58; dst=global, w/&nbsp; TLL, w/o Redirected Header</TT>:1
./v6LC_2_3_4_H.seq:./v6LC_2_3_4_H.def:::<TT>Part D&#58; dst=global, w/&nbsp; TLL, w/&nbsp; Redirected Header</TT>:1



#----------------------------------------------------------------------#
&print:<TT>Test v6LC.2.3.5: Redirected to Alternate Router: Suspicious (Hosts only)</TT>
./v6LC_2_3_5_A.seq:./v6LC_2_3_5_A.def:::<TT>Part A&#58; Option Unrecognized</TT>:1
./v6LC_2_3_5_B.seq:./v6LC_2_3_5_B.def:::<TT>Part B&#58; Reserved Field is Non-zero</TT>:1



#----------------------------------------------------------------------#
&print:<TT>Test v6LC.2.3.6: Redirected to Alternate Router: Invalid (Hosts Only)</TT>
./v6LC_2_3_6_A.seq:./v6LC_2_3_6_A.def:::<TT>Part A&#58; Redirect Source Address is Global</TT>:1
./v6LC_2_3_6_B.seq:./v6LC_2_3_6_B.def:::<TT>Part B&#58; Redirect Source Address is not the current first-hop router</TT>:1
./v6LC_2_3_6_C.seq:./v6LC_2_3_6_C.def:::<TT>Part C&#58; Hop Limit is not 255</TT>:1
./v6LC_2_3_6_D.seq:./v6LC_2_3_6_D.def:::<TT>Part D&#58; ICMPv6 Code is not 0</TT>:1
./v6LC_2_3_6_E.seq:./v6LC_2_3_6_E.def:::<TT>Part E&#58; ICMPv6 Checksum is invalid</TT>:1
./v6LC_2_3_6_F.seq:./v6LC_2_3_6_F.def:::<TT>Part F&#58; ICMPv6 Destination Address is Multicast</TT>:1
./v6LC_2_3_6_G.seq:./v6LC_2_3_6_G.def:::<TT>Part G&#58; Target Address is Multicast</TT>:1
./v6LC_2_3_6_H.seq:./v6LC_2_3_6_H.def:::<TT>Part H&#58; ICMPv6 length is less than 40 Octets</TT>:1
./v6LC_2_3_6_I.seq:./v6LC_2_3_6_I.def:::<TT>Part I&#58; Option has Length Zero</TT>:1



#----------------------------------------------------------------------#
&print:<TT>Test v6LC.2.3.7: Redirected Twice (Hosts Only)</TT>
./v6LC_2_3_7.seq:./v6LC_2_3_7.def:::<TT>Redirected Twice</TT>:1



#----------------------------------------------------------------------#
&print:<TT>Test v6LC.2.3.8: Invalid Option (Hosts Only)</TT>
./v6LC_2_3_8_A.seq:./v6LC_2_3_8_A.def:::<TT>Part A&#58; Path MTU Option</TT>:1
./v6LC_2_3_8_B.seq:./v6LC_2_3_8_B.def:::<TT>Part B&#58; Prefix Information Option</TT>:1
./v6LC_2_3_8_C.seq:./v6LC_2_3_8_C.def:::<TT>Part C&#58; Source Link-layer Address Option</TT>:1



#----------------------------------------------------------------------#
&print:<TT>Test v6LC.2.3.9: No Destination Cache Entry (Hosts Only)</TT>
./v6LC_2_3_9.seq:./v6LC_2_3_9.def:::<TT>No Destination Cache Entry</TT>:1



#----------------------------------------------------------------------#
&print:<TT>Test v6LC.2.3.10: Neighbor Cache Updated, No Neighbor Cache Entry  (Hosts Only)</TT>
./v6LC_2_3_10_A.seq:./v6LC_2_3_10_A.def:::<TT>Part A&#58; No TLLA Option, No Redirected Packet Option, Link-layer Address Unchanged</TT>:1
./v6LC_2_3_10_B.seq:./v6LC_2_3_10_B.def:::<TT>Part B&#58; TLLA Option, No Redirected Packet Option, Link-layer Address Updated</TT>:1
./v6LC_2_3_10_C.seq:./v6LC_2_3_10_C.def:::<TT>Part C&#58; TLLA Option, Redirected Packet Option, Link-layer Address Updated</TT>:1
./v6LC_2_3_10_D.seq:./v6LC_2_3_10_D.def:::<TT>Part D&#58; TLLA Option, Oversized Redirected Packet Option, Link-layer Address Updated</TT>:1



#----------------------------------------------------------------------#
&print:<TT>Test v6LC.2.3.11: Neighbor Cache Updated from State INCOMPLETE (Hosts Only)</TT>
./v6LC_2_3_11_A.seq:./v6LC_2_3_11_A.def:::<TT>Part A&#58; No TLLA Option, No Redirected Packet Option, Link-layer Address Unchanged</TT>:1
./v6LC_2_3_11_B.seq:./v6LC_2_3_11_B.def:::<TT>Part B&#58; TLLA Option, No Redirected Packet Option, Link-layer Address Updated</TT>:1
./v6LC_2_3_11_C.seq:./v6LC_2_3_11_C.def:::<TT>Part C&#58; TLLA Option, Redirected Packet Option, Link-layer Address Updated</TT>:1
./v6LC_2_3_11_D.seq:./v6LC_2_3_11_D.def:::<TT>Part D&#58; TLLA Option, Oversized Redirected Packet Option, Link-layer Address Updated</TT>:1



#----------------------------------------------------------------------#
&print:<TT>Test v6LC.2.3.12: Neighbor Cache Updated from State REACHABLE (Hosts Only)</TT>
./v6LC_2_3_12_A.seq:./v6LC_2_3_12_A.def:::<TT>Part A&#58; No TLLA Option, No Redirected Packet Option, Link-layer Address Unchanged</TT>:1
./v6LC_2_3_12_B.seq:./v6LC_2_3_12_B.def:::<TT>Part B&#58; TLLA Option, No Redirected Packet Option, Link-layer Address Unchanged</TT>:1
./v6LC_2_3_12_C.seq:./v6LC_2_3_12_C.def:::<TT>Part C&#58; TLLA Option, No Redirected Packet Option, Link-layer Address Updated</TT>:1
./v6LC_2_3_12_D.seq:./v6LC_2_3_12_D.def:::<TT>Part D&#58; TLLA Option, Redirected Packet Option, Link-layer Address Updated</TT>:1
./v6LC_2_3_12_E.seq:./v6LC_2_3_12_E.def:::<TT>Part E&#58; TLLA Option, Oversized Redirected Packet Option, Link-layer Address Updated</TT>:1



#----------------------------------------------------------------------#
&print:<TT>Test v6LC.2.3.13: Neighbor Cache Updated from State STALE (Hosts Only)</TT>
./v6LC_2_3_13_A.seq:./v6LC_2_3_13_A.def:::<TT>Part A&#58; No TLLA Option, No Redirected Packet Option, Link-layer Address Unchanged</TT>:1
./v6LC_2_3_13_B.seq:./v6LC_2_3_13_B.def:::<TT>Part B&#58; TLLA Option, No Redirected Packet Option, Link-layer Address Unchanged</TT>:1
./v6LC_2_3_13_C.seq:./v6LC_2_3_13_C.def:::<TT>Part C&#58; TLLA Option, No Redirected Packet Option, Link-layer Address Updated</TT>:1
./v6LC_2_3_13_D.seq:./v6LC_2_3_13_D.def:::<TT>Part D&#58; TLLA Option, Redirected Packet Option, Link-layer Address Updated</TT>:1
./v6LC_2_3_13_E.seq:./v6LC_2_3_13_E.def:::<TT>Part E&#58; TLLA Option, Oversized Redirected Packet Option, Link-layer Address Updated</TT>:1



#----------------------------------------------------------------------#
&print:<TT>Test v6LC.2.3.14: Neighbor Cache Updated from State PROBE (Hosts Only)</TT>
./v6LC_2_3_14_A.seq:./v6LC_2_3_14_A.def:::<TT>Part A&#58; No TLLA Option, No Redirected Packet Option, Link-layer Address Unchanged</TT>:1
./v6LC_2_3_14_B.seq:./v6LC_2_3_14_B.def:::<TT>Part B&#58; TLLA Option, No Redirected Packet Option, Link-layer Address Unchanged</TT>:1
./v6LC_2_3_14_C.seq:./v6LC_2_3_14_C.def:::<TT>Part C&#58; TLLA Option, No Redirected Packet Option, Link-layer Address Updated</TT>:1
./v6LC_2_3_14_D.seq:./v6LC_2_3_14_D.def:::<TT>Part D&#58; TLLA Option, Redirected Packet Option, Link-layer Address Updated</TT>:1
./v6LC_2_3_14_E.seq:./v6LC_2_3_14_E.def:::<TT>Part E&#58; TLLA Option, Oversized Redirected Packet Option, Link-layer Address Updated</TT>:1



#----------------------------------------------------------------------#
&print:<TT>Test v6LC.2.3.15: Invalid Redirect does not Update Neighbor Cache (Hosts Only)</TT>
./v6LC_2_3_15_A.seq:./v6LC_2_3_15_A.def:::<TT>Part A&#58; Redirect Source Address is Global</TT>:1
./v6LC_2_3_15_B.seq:./v6LC_2_3_15_B.def:::<TT>Part B&#58; Redirect Source Address is not the current first-hop router</TT>:1
./v6LC_2_3_15_C.seq:./v6LC_2_3_15_C.def:::<TT>Part C&#58; Hop Limit is not 255</TT>:1
./v6LC_2_3_15_D.seq:./v6LC_2_3_15_D.def:::<TT>Part D&#58; ICMPv6 Code is not 0</TT>:1
./v6LC_2_3_15_E.seq:./v6LC_2_3_15_E.def:::<TT>Part E&#58; ICMPv6 Checksum is invalid</TT>:1
./v6LC_2_3_15_F.seq:./v6LC_2_3_15_F.def:::<TT>Part F&#58; ICMPv6 Destination Address is Multicast</TT>:1
./v6LC_2_3_15_G.seq:./v6LC_2_3_15_G.def:::<TT>Part G&#58; Target Address is Multicast</TT>:1
./v6LC_2_3_15_H.seq:./v6LC_2_3_15_H.def:::<TT>Part H&#58; ICMPv6 length is less than 40 Octets</TT>:1
./v6LC_2_3_15_I.seq:./v6LC_2_3_15_I.def:::<TT>Part I&#58; Option has Length Zero</TT>:1


&print:<TT>Test v6LC.2.3.18: Atomic Fragments in Redirect (Host Only)</TT>  
./v6LC_2_3_18.seq:./v6LC_2_3_18.def:::<TT>Atomic Fragments in Redirect (Host Only)</TT>:1

&print:<TT>Test v6LC.2.3.19: Fragment Header in Redirect (Host Only)</TT>  
./v6LC_2_3_19.seq:./v6LC_2_3_19.def:::<TT>Fragment Header in Redirect (Host Only)</TT>:1

