IPv4OptionTimestamp

Namespace inet

IPv4OptionTimestamp

class

Option structure: Timestamp

Extends

Name Type Description
IPv4Option (unknown -- not in documented files)

Fields

Name Type Description
type
flag int

length = 4 + 4 * getRecordAddressArraySize() + 4 * getRecordTimestampArraySize();

overflow short
nextIdx short

pointer = 5 + (flag == IP_TIMESTAMP_TIMESTAMP_ONLY ? 4 : 8) * nextIdx

recordAddress IPv4Address[]

use either up to 4 addresses with timestamps or only up to 9 timestamps, according to the flag

recordTimestamp simtime_t[]

Source code

//
// Option structure: Timestamp
//
class IPv4OptionTimestamp extends IPv4Option
{
    type = IPOPTION_TIMESTAMP;
    // length = 4 + 4 * getRecordAddressArraySize() + 4 * getRecordTimestampArraySize();
    int flag @enum(TimestampFlag);
    short overflow;
    short nextIdx;
    // pointer = 5 + (flag == IP_TIMESTAMP_TIMESTAMP_ONLY ? 4 : 8) * nextIdx

    // use either up to 4 addresses with timestamps or
    // only up to 9 timestamps, according to the flag
    IPv4Address recordAddress[];
    simtime_t recordTimestamp[];
}

File: src/inet/networklayer/ipv4/IPv4Datagram.msg