rfc2765_4.1_payloadlength.seq - Verify IPv6 <-> IPv4 header translation in accordance with RFC2765 [SIIT]
Router
rfc2765_4.1_payloadlength.seq [-tooloption ...] -p rfc2765_4.1_payloadlength.def
Before this test starts, run initialize.seq.
This test verifies that NUT can translates IPv4 header to IPv4 header, when IPv6 header contain options. Network Topology
Link0 -------------------------- | | TN NUT | | -------------------------- Link1
TN -- (Link0) -- NUT NUT -- (Link1) -- TN --------------------- ------------------------
1.1. ===================> ICMPv6 Echo Request IPv6 Header src address : TN LINK0 IPv4 embedded IPv6 address dst address : TN LINK1 IPv4 embedded IPv6 address Destination options header ICMPv6 echo request 1.2. <<JUDGMENT>> ===================> ICMPv4 Echo request IPv4 Header src address : TN LINK0 IPv4 address dst address : TN LINK1 IPv4 address Don't Fragment = 1 MF = 0 FragmentOffset = 0 TotalLength = 34 Identifier = 0 ICMPv4 echo request
<< PASS >> TN (Link1) an ICMPv4 Echo request. with correct total length. << FAIL >> TN (Link1) receive an ICMPv4 echo requests, with payload length 8 bytes too large.
RFC2765
4.1. Translating IPv6 Headers into IPv4 Headers
If there is no IPv6 Fragment header the IPv4 header fields are set as follows:
Total Length: Payload length value from IPv6 header, plus the size of the IPv4 header.
Identification: All zero.
Flags: The More Fragments flag is set to zero. The Don't Fragments flag is set to one.
Fragment Offset: All zero.
perldoc V6evalTool