rfc2765_3.3_icmpv4query.seq - Verify IPv6 <-> IPv4 header
translation in accordance with RFC2765 [SIIT]
Router
rfc2765_3.3_icmpv4query.seq [-tooloption ...]
-p rfc2765_3.3_icmpv4query.def
Before this test starts, run initialize.seq.
This test verifies that NUT can translates ICMPv4 query messages
in accordance to RFC2765.
Network Topology
Link0
--------------------------
| |
TN NUT
| |
--------------------------
Link1
TN -- (Link0) -- NUT NUT -- (Link1) -- TN
--------------------- ------------------------
1.1.[1-2]
<===================
ICMPv4 packet
IPv4 Header
src address : TN LINK1 IPv4 address
dst address : TN LINK0 IPv4 address
DF = 1
ICMPv4 Echo Request/Reply (Type 8 and Type 0) 1.2.[1-2]
<>
<===================
ICMPv6 packet
IPv6 Header
src address : TN LINK1 IPv4 embedded IPv6 address
dst address : TN LINK0 IPv4 embedded IPv6 address
ICMPv6 Echo Request/Reply (Type 128 and Type 129)
2.1.[1-2]
<===================
ICMPv4 packet
IPv4 Header
src address : TN LINK1 IPv4 address
dst address : TN LINK0 IPv4 address
DF = 1
ICMPv4 Information Request/Reply (Type 15 and Type 16)
2.2.[1-2]
<>
Packet is silently dropped
3.1.[1-2]
<===================
ICMPv4 packet
IPv4 Header
src address : TN LINK1 IPv4 address
dst address : TN LINK0 IPv4 address
DF = 1
ICMPv4 Timestamp and Timestamp Reply (Type 13 and Type 14)
3.2.[1-2]
<>
Packet is silently dropped
4.1.[1-2]
<===================
ICMPv4 packet
IPv4 Header
src address : TN LINK1 IPv4 address
dst address : TN LINK0 IPv4 address
DF = 1
ICMPv4 Address Mask Request/Reply (Type 17 and Type 18)
4.2.[1-2]
<>
Packet is silently dropped
5.1.[1-2]
<===================
ICMPv4 packet
IPv4 Header
src address : TN LINK1 IPv4 address
dst address : TN LINK0 IPv4 address
DF = 1
ICMPv4 ICMP Router Advertisement (Type 9)
5.2.[1-2]
<>
Packet is silently dropped
6.1.[1-2]
<===================
ICMPv4 packet
IPv4 Header
src address : TN LINK1 IPv4 address
dst address : TN LINK0 IPv4 address
DF = 1
ICMPv4 ICMP Router Solicitation (Type 10)
6.2.[1-2]
<>
Packet is silently dropped
7.1.
<===================
ICMPv4 packet
IPv4 Header
src address : TN LINK1 IPv4 address
dst address : TN LINK0 IPv4 address
DF = 1
ICMPv4 Unknown ICMPv4 types
7.2.
<>
Packet is silently dropped
<< PASS >>
NUT translates ICMPv4 echo request/reply to ICMPv6 echo
request/reply and silently drops other ICMPv4 query types.
<< FAIL >>
NUT fails to translate ICMPv4 echo request/reply, or doesn't
drop other ICMPv4 query types.
B3.3. Translating ICMPv4 Headers into ICMPv6 Headers All ICMP messages that are to be translated require that the ICMP
checksum field be updated as part of the translation since ICMPv6,
unlike ICMPv4, has a pseudo-header checksum just like UDP and TCP. In addition all ICMP packets need to have the Type value translated
and for ICMP error messages the included IP header also needs
translation. The actions needed to translate various ICMPv4 messages are: ICMPv4 query messages: Echo and Echo Reply (Type 8 and Type 0)
Adjust the type to 128 and 129, respectively, and adjust the
ICMP checksum both to take the type change into account and
to include the ICMPv6 pseudo-header. Information Request/Reply (Type 15 and Type 16)
Obsoleted in ICMPv4. Silently drop. Timestamp and Timestamp Reply (Type 13 and Type 14)
Obsoleted in ICMPv6. Silently drop. Address Mask Request/Reply (Type 17 and Type 18)
Obsoleted in ICMPv6. Silently drop. ICMP Router Advertisement (Type 9)
Single hop message. Silently drop. ICMP Router Solicitation (Type 10)
Single hop message. Silently drop. Unknown ICMPv4 types
Silently drop.
perldoc V6evalTool