rfc2765_3.1_options.seq - Verify IPv6 <-> IPv4 header
translation in accordance with RFC2765 [SIIT]
Router
rfc2765_3.1_options.seq [-tooloption ...]
-p rfc2765_3.1_options.def
Before this test starts, run initialize.seq.
This test verifies that NUT drops IPv4 packets with unexpired
Source Route options, and reply with ICMPv4 Destination Unreachable.
Network Topology
Link0
--------------------------
| |
TN NUT
| |
--------------------------
Link1
TN -- (Link0) -- NUT NUT -- (Link1) -- TN
--------------------- ------------------------
3.1.[1-2]
<===================
ICMPv4 Echo request
IPv4 Header
src address : TN LINK1 IPv4 address
dst address : TN LINK0 IPv4 address
Don't Fragment = 1
More fragments = 0
Offset = 0
Option = Loose Source Route (Route unexpired)
or Strict Source Route (Route unexpired)
ICMPv4 echo request 3.2.[1-2]
<>
===================>
ICMPv4 Destination Unreachable
IPv4 Header
src address : NUT LINK1 IPv4 address
dst address : TN LINK1 IPv4 address
ICMPv6 Destination Unreachable
data = IPv4 Loose Source Route (Route unexpired)
or IPv4 Strict Source Route (Route unexpired)
<>
No packets received on either link
<>
<===================
ICMPv6 Echo Request
IPv6 Header
src address : TN LINK0 IPv4 embedded IPv6 address
dst address : TN LINK1 IPv4 embedded IPv6 address
Hop Limit = 63
ICMPv6 echo request
4.1.1
<===================
ICMPv4 Echo request
IPv4 Header
src address : TN LINK1 IPv4 address
dst address : TN LINK0 IPv4 address
Don't Fragment = 1
More fragments = 0
Offset = 0
option = NOP
option = Loose Source Route (Route expired)
option = NOP
option = Strict Source Route (Route unexpired)
option = NOP
option = Record Route
option = End of OptionList
Padding = 0;
Padding = 0;
Padding = 0;
ICMPv4 echo request 4.2.1
<>
===================>
ICMPv4 Destination Unreachable
IPv4 Header
src address : NUT LINK1 IPv4 address
dst address : TN LINK1 IPv4 address
ICMPv6 Destination Unreachable
data = IPv4 packet sent
<>
No packets received on either link
<>
<===================
ICMPv6 Echo Request
IPv6 Header
src address : TN LINK0 IPv4 embedded IPv6 address
dst address : TN LINK1 IPv4 embedded IPv6 address
Hop Limit = 63
ICMPv6 echo request
<< PASS >>
NUT ignores all options except unexpired Source Route.
NUT sends ICMPv4 Destination Unreachable (Type 3/Code 5)
upon receiving an unexpired Source Route option. << FAIL >>
NUT translates IPv4 packets with unexpired Source Route
option, and forwards the packet. << WARN >>
NUT ignores all options except unexpired Source Route.
NUT neither forwards unexpired Source Route packets,
nor sends an ICMPv4 Destination Unreachable back.
B3.1. Translating IPv4 Headers into IPv6 Headers If IPv4 options are present in the IPv4 packet, they are ignored
i.e., there is no attempt to translate them. However, if an
unexpired source route option is present then the packet MUST instead
be discarded, and an ICMPv4 "destination unreachable/source route
failed" (Type 3/Code 5) error message SHOULD be returned to the
sender.
perldoc V6evalTool