NAME

  Reassembly_Overlap - Overlapping Fragments
  Part H - Extra Fragments (Global)


TARGET

  Host and Router


SYNOPSIS

  Reassembly_Extra_G.seq [-tooloption ...] -pkt Reassembly_Extra_G.def
    -tooloption : v6eval tool option


INITIALIZATION

  None


TEST PROCEDURE

Verify that a node correctly reassembles fragmented packets and distinguishes between packet fragments using the Source Address, Destination Address and Fragment ID.

    TN                         NUT
    |                           |
    |-------------------------->|
    |   Echo Request (1st)      |
    |                           |
    |-------------------------->|
    |   Echo Request (2nd)      |
    |                           |
    |-------------------------->|
    |   Echo Request (3rd,0x6)  |
    |                           |
    |-------------------------->|
    |   Echo Request (3rd,0x8)  | 
    |                           |
    |<--------------------------|
    |      None                 |
    |                           |
    |                           |
    v                           v
  12. TN1 transmits Fragments A.1, A.2.
  13. TN1 transmits Fragment A.3 that overlaps with fragmenet A2.
  14. TN1 transmits Fragment A.3 with an offet of 0x8 so that it doesn't overlap with A.2.
  Echo Request Data (original) is:
        IPv6 Header
            Version            = 6
            Traffic Class      = 0
            FlowLabel          = 0
            PayloadLength      = 88
            NextHeader         = 58 (ICMPv6)
            SourceAddress      = TN Link Local Address
            DestinationAddress = NUT Link Local Address
        ICMP Echo Request
            Type           = 128 (Echo Request)
            Code           = 0
            Checksum       = (auto)
            Identifier     = (auto)
            SequenceNumber = 0
            PayloadData    = data repeat{0x1, 40}
                             data repeat{0x2, 40}
  Echo Request Data (1st fragment) is:
        IPv6 Header
            Version            = 6
            Traffic Class      = 0
            FlowLabel          = 0
            PayloadLength      = 40
            NextHeader         = 44 (Fragment Header)
            SourceAddress      = TN Link Local Address
            DestinationAddress = NUT Link Local Address
        Fragment Header
            NextHeader         = 58 (ICMPv6)
            FragmentOffset     = 0
            MFlag              = 1
            Identification     = 32bit (Automatic generation)
        Payload
            data               = 32 octets from the head of ICMP Echo request
  Echo Request Data (2nd fragment) is:
        IPv6 Header
            Version            = 6
            Traffic Class      = 0
            FlowLabel          = 0
            PayloadLength      = 40
            NextHeader         = 44 (Fragment Header)
            SourceAddress      = TN Link Local Address
            DestinationAddress = NUT Link Local Address
        Fragment Header
            NextHeader         = 58 (ICMPv6)
            FragmentOffset     = 4
            MFlag              = 1
            Identification     = 32bit (Automatic generation)
        Payload
            data               = 32 octets from the back of ICMP Echo request
  Echo Request Data (3rd fragment) is:
        IPv6 Header
            Version            = 6
            Traffic Class      = 0
            FlowLabel          = 0
            PayloadLength      = 32
            NextHeader         = 44 (Fragment Header)
            SourceAddress      = TN Link Local Address
            DestinationAddress = NUT Link Local Address
        Fragment Header
            NextHeader         = 58 (ICMPv6)
            FragmentOffset     = 6
            MFlag              = 0
            Identification     = 32bit (Automatic generation)
        Payload
            data               = 24 octets from the back of ICMP Echo request


JUDGEMENT

  PASS: The NUT must discard the fragments and must not transmit an Echo Reply or Error message.


CLEANUP

Common Test Cleanup


REFERENCE

RFC 8200 - IPv6 Specification


SEE ALSO

  perldoc V6evalTool