Icmpv4ErrorInd

Namespace: inet

class Icmpv4ErrorInd

ICMPv4 error indication. Attached by the Icmp module when an ICMPv4 error message is received. Each layer pops its own header from the original packet and converts it to tags before forwarding the indication upward.

Usage diagram

Inheritance diagram

Extends

Name

Type

Description

TagBase

class

This is an abstract base class that should not be directly added to a message as a tag. It is used as the base class of all tags, thus it doesn’t have any fields.

Fields

Name

Type

Description

type

IcmpType

ICMPv4 type (e.g. ICMP_DESTINATION_UNREACHABLE)

code

int

ICMPv4 code (e.g. ICMP_DU_FRAGMENTATION_NEEDED)

mtu

int

only relevant for Fragmentation Needed

originalPacket

Packet *

progressively unwrapped quoted packet

Properties

Name

Value

Description

existingClass

Source code

//
// ICMPv4 error indication. Attached by the Icmp module when an ICMPv4 error
// message is received. Each layer pops its own header from the original
// packet and converts it to tags before forwarding the indication upward.
//
class Icmpv4ErrorInd extends TagBase
{
    IcmpType type;          // ICMPv4 type (e.g. ICMP_DESTINATION_UNREACHABLE)
    int code;               // ICMPv4 code (e.g. ICMP_DU_FRAGMENTATION_NEEDED)
    int mtu = -1;           // only relevant for Fragmentation Needed
    Packet *originalPacket @owned;  // progressively unwrapped quoted packet
}

File: src/inet/networklayer/common/Icmpv4ErrorTag.msg