RH_FromSourceNode - check Routing Header Processing (from Source Node)
Router
RH_FromSourceNode.seq [-tooloption ...] -pkt RH_FromSourceNode.def -tooloption : v6eval tool option See also RH.def
None
Tester Target Tester (Link0) (Link1) | | | |-------------------------->| | | Packet to Link0 | | | | | | |-------------------------->| | | Neighbor Solicitation | | | | | |<--------------------------| | | Neighbor Advertisement | | | | | |-------------------------->| | | Packet from Link1 | | | | | | | | |<--------------------------| | | Packet to Link1 | | | | |<--------------------------| | | Neighbor Solicitation | | | | | |-------------------------->| | | Neighbor Advertisement | | | | | |<--------------------------| | | Packet from Link0 | | | | | v v v
1. Send Packet to Link0 2. Wait Packet from Link1 or NS from Link1 3. If NS received then send NA to Link1, and wait Packet form Link1 again 4. Receive Packet from Link1 5. Send Packet to Link1 6. Wait Packet from Link0 or NS from Link0 7. If NS received then send NA to Link0, and wait Packet form Link0 again 8. Receive Packet from Link0
Network topology
(Link0) (Link1) Tester Target Tester Host1 ------ Router1 ------ Router2 ------ Router3 ------ Host2 Global 0 Global 1 Global 3 Global 5
Packet to Link0 is:
IPv6 Header Version = 6 Traffic Class = 0 FlowLabel = 0 PayloadLength = 56 NextHeader = 43 (Routing Header) SourceAddress = Global 0 Address (Host1) DestinationAddress = Global 0 Address (Router1)
Routing Header NextHeader = 59 (No Next Header) HeaderExtLength = 6 RoutingType = 0 SegmentsLeft = 3 Address[1] = Global 1 Address (Router2) Address[2] = Global 3 Address (Router3) Address[3] = Global 5 Address (Host2)
Packet to Link1 is:
IPv6 Header Version = 6 Traffic Class = 0 FlowLabel = 0 PayloadLength = 56 NextHeader = 43 (Routing Header) SourceAddress = Global 5 Address (Host2) DestinationAddress = Global 1 Address (Router1)
Routing Header NextHeader = 59 (No Next Header) HeaderExtLength = 6 RoutingType = 0 SegmentsLeft = 1 Address[1] = Global 5 Address (Router3) Address[2] = Global 3 Address (Router2) Address[3] = Global 0 Address (Host1)
Neighbor Solicitation packet's IP source Address selection may be: - Link Local Address - Global Address This test IS NOT the Neighbor Discovery test, so admit both implementation.
PASS: Packet from Link1 and Packet from Link0 Received
Packet from Link1 is:
IPv6 Header Version = 6 Traffic Class = 0 FlowLabel = 0 PayloadLength = 56 NextHeader = 43 (Routing Header) SourceAddress = Global 0 Address (Host1) DestinationAddress = Global 1 Address (Router2) <-+ | Routing Header | NextHeader = 59 (No Next Header) | (swapped) HeaderExtLength = 6 | RoutingType = 0 | SegmentsLeft = 2 (decremented) | Address[1] = Global 0 Address (Router1) <----+ Address[2] = Global 3 Address (Router3) Address[3] = Global 5 Address (Host2)
Packet from Link0 is:
IPv6 Header Version = 6 Traffic Class = 0 FlowLabel = 0 PayloadLength = 56 NextHeader = 43 (Routing Header) SourceAddress = Global 5 Address (Host2) DestinationAddress = Global 0 Address (Host1) <---+ | Routing Header | NextHeader = 59 (No Next Header) | (swapped) HeaderExtLength = 6 | RoutingType = 0 | SegmentsLeft = 0 (decremented) | Address[1] = Global 5 Address (Router3) | Address[2] = Global 3 Address (Router2) | Address[3] = Global 1 Address (Router1) <----+
perldoc V6evalTool