rfc2765_4.1_trafficclass.seq - Verify IPv6 <-> IPv4 header
translation in accordance with RFC2765 [SIIT]
Router
rfc2765_4.1_trafficclass.seq [-tooloption ...]
-p rfc2765_4.1_trafficclass.def
Before this test starts, run initialize.seq.
This test verifies that NUT translates IPv6 Traffic Class
to IPv4 TOS.
Network Topology
Link0
--------------------------
| |
TN NUT
| |
--------------------------
Link1
TN -- (Link0) -- NUT NUT -- (Link1) -- TN
--------------------- ------------------------
1.[1-4]
===================>
ICMPv6 Echo Request
IPv6 Header
src address : TN LINK1 IPv4 embedded IPv6 address
dst address : TN LINK0 IPv4 embedded IPv6 address
Traffic Class = 0,15,63,255 (4 tests)
ICMPv6 echo request
1.[1-4]
<<JUDGMENT>>
===================>
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
TOS = 0,15,63,255 or 0,0,0,0
ICMPv4 echo request
<< PASS >>
TN (Link1) receive four ICMPv4 echo requests,
with TOS field same as IPv6 Traffic class.
<< WARN >>
TN (Link1) receive four ICMPv4 echo requests,
with TOS = 0.
<< FAIL >>
TN (Link0) does not receive four ICMPv4 echo requests,
with TOS field = 0 or same as IPv6 Traffic class.
RFC2765
4.1. Translating IPv6 Headers into IPv4 Headers
If there is no IPv6 Fragment header the IPv4 header fields are set as follows:
Version:
4
Internet Header Length:
5 (no IPv4 options)
Type of Service and Precedence:
By default, copied from the IPv6 Traffic Class (all 8
bits). According to [DIFFSERV] the semantics of the
bits are identical in IPv4 and IPv6. However, in
some IPv4 environments these bits might be used with
the old semantics of "Type Of Service and
Precedence". An implementation of a translator
SHOULD provide the ability to ignore the IPv6 traffic
class and always set the IPv4 "TOS" to zero.
perldoc V6evalTool