Class IPv6ControlInfo

File: src/networklayer/contract/IPv6ControlInfo.msg

C++ definition: click here

Control information for sending/receiving packets over IPv6.

To send a packet over IPv6, fill in an IPv6ControlInfo object, attach it to the packet with the C++ method setControlInfo(), the send it to the IPv6 module.

When IPv6 delivers packets to higher layers, it also attaches similar IPv6ControlInfo objects to them.

When sending, the following fields are required:

Optional fields:

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
protocol int

transport layer protocol

interfaceId int

interface on which dgram was received/should be sent (see InterfaceTable)

hopLimit short

hop limit

destAddr IPv6Address

destination IPv6 address

srcAddr IPv6Address

source IPv6 address

Source code:

//
// Control information for sending/receiving packets over \IPv6.
//
// To send a packet over \IPv6, fill in an IPv6ControlInfo object,
// attach it to the packet with the C++ method setControlInfo(),
// the send it to the IPv6 module.
//
// When IPv6 delivers packets to higher layers, it also attaches
// similar IPv6ControlInfo objects to them.
//
// When sending, the following fields are required:
// - protocol: a value from IPProtocolId
// - destAddr
//
// Optional fields:
// - srcAddr: it will be set to the address of the outgoing interface
// - timeToLive
//
class IPv6ControlInfo
{
    @customize(true);
    int protocol enum(IPProtocolId);  // transport layer protocol
    IPv6Address destAddr; // destination IPv6 address
    IPv6Address srcAddr;  // source IPv6 address
    short hopLimit;       // hop limit
    int interfaceId = -1; // interface on which dgram was received/should
                              // be sent (see InterfaceTable)
}