FH_Overlap_UDP - UDP Fragment packets with Overlap data
Host and Router
FH_Overlap_UDP.seq [-tooloption ...] -pkt FH_Overlap_UDP.def
-tooloption: v6eval tool option
1. Check Link0 Link Local address Reachability and UDP echo support.
2. Check support of Fragment Header
1. Send 1st fragment packet
2. Send broken 2nd fragment packet
1. Send 2nd fragment packet
2. Wait 5 sec.
+----------------+
| IPv6 |
| Header |
+----------------+ +----------------+
| UDP Header | | UDP Header |
+----------------+ +----------------+ +----------------+
|0000000000000000| |0000000000000000| |1111111111111111|
|0000000000000000| |0000000000000000| |1111111111111111|
|0000000000000000| |0000000000000000| |1111111111111111|
|0000000000000000| +----------------+ |1111111111111111|
|0000000000000000| |1111111111111111|
|0000000000000000| |1111111111111111|
|0000000000000000| |1111111111111111|
+----------------+ +----------------+
[Original packet] [1st frag. data] [broken 2nd frag. data]
1st fragment packet is:
IPv6 Header
Version = 6
Traffic Class = 0
FlowLabel = 0
PayloadLength = 528
NextHeader = 44 (Fragment Header)
HopLimit = 64
SourceAddress = Tester Link Local Address
DestinationAddress = Target Link Local Address
Fragment Header
NextHeader = 17 (UDP)
Reserved1 = 0
FragmentOffset = 0
Reserved2 = 0
MFlag = 1
Identification = (random)
Payload
data = substr(_PACKET_IPV6_NAME(udp_request), 40, 520)
2nd fragment packet is:
IPv6 Header
Version = 6
Traffic Class = 0
FlowLabel = 0
PayloadLength = 1032
NextHeader = 44 (Fragment Header)
HopLimit = 64
SourceAddress = Tester Link Local Address
DestinationAddress = Target Link Local Address
Fragment Header
NextHeader = 17 (UDP)
Reserved1 = 0
FragmentOffset = 1
Reserved2 = 0
MFlag = 0
Identification = (same as 1st fragment packet)
Payload
data = substr(_PACKET_IPV6_NAME(udp_request_1), 48, 1024)
PASS : don't received UDP packet, or correct UDP packet received.
FAIL : broken UDP packet received.
perldoc V6evalTool