Packet IPv6Datagram

File: src/networklayer/ipv6/IPv6Datagram.msg

C++ definition

IPv6 datagram. RFC 2460 Section 3.

Header fields not explicitly modelled:

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram. Click here to see the full picture.

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram. Click here to see the full picture.

Fields:

Name Type Description
hopLimit short
extensionHeader IPv6ExtensionHeaderPtr[]

array of extension headers, subclassed from IPv6ExtensionHeader

flowLabel unsigned int
transportProtocol int
trafficClass unsigned int
srcAddress IPv6Address
destAddress IPv6Address

Source code:

//
// IPv6 datagram. RFC 2460 Section 3.
//
// Header fields not explicitly modelled:
//    - version (=6): represented by the class name itself
//    - payload length: will be calculated from encapsulated message length
//      and extension headers' length
//
packet IPv6Datagram
{
    @customize(true);

    IPv6Address srcAddress;
    IPv6Address destAddress;
    unsigned int trafficClass;
    unsigned int flowLabel;
    short hopLimit = 0;
    int transportProtocol @enum(IPProtocolId);

    IPv6ExtensionHeaderPtr extensionHeader[]; // array of extension headers, subclassed from IPv6ExtensionHeader
}