|
Public Types |
| enum | ICMPProto_t { ProtoNumber = 1
} |
| enum | ICMPMsg_t {
ECHO_REPLY = 0,
DESTINATION_UNREACHABLE = 3,
SOURCE_QUENCH = 4,
REDIRECT = 5,
ECHO = 8,
TIME_EXCEEDED = 11,
PARAMETER_PROBLEM = 12,
TIMESTAMP = 13,
TIMESTAMP_REPLY = 14,
INFORMATION_REQUEST = 15,
INFORMATION_REPLY = 16
} |
| enum | DU_t {
NET_UNREACHABLE,
HOST_UNREACHABLE,
PROTOCOL_UNREACHABLE,
PORT_UNREACHABLE,
CANT_FRAGMENT,
SOURCE_ROUTE_FAILED
} |
| enum | TE_t { TTL_EXCEEDED,
REASSEMBLY_EXCEEDED
} |
| enum | ICMPTrace_t {
TYPE,
CODE,
IDENTIFIER,
SEQUENCE,
ORIGIN_TIME,
RECEIVE_TIME,
TRANSMIT_TIME
} |
Public Member Functions |
| | ICMP () |
| virtual | ~ICMP () |
| void | DataIndication (Node *, Packet *, IPAddr_t, L3Protocol &, Interface *) |
Static Public Member Functions |
| void | Enable (bool e=true) |
| void | EnableQuench (bool e=true) |
| ICMP * | Instance () |
| void | DestinationUnreachable (Node *, Packet *, IPV4Header *, L4PDU *, DU_t) |
| void | TimeExceeded (Node *, Packet *, IPV4Header *, TE_t) |
| void | SourceQuench (Node *, Packet *, IPV4Header *) |
| void | EchoReply (Node *, Packet *, IPV4Header *, ICMPHeader *) |
| void | TimestampReply (Node *, Packet *, IPV4Header *, ICMPHeader *) |
| void | Echo (Node *, ICMPHeader *, IPAddr_t) |
| void | Timestamp (Node *, ICMPHeader *, IPAddr_t) |
| void | AddCallback (Node *, Application *) |
Private Member Functions |
| void | KillPendingConnection (Node *, IPV4Header *, L4PDU *) |
Static Private Attributes |
| bool | enabled = false |
| bool | quench = false |
| ICMP * | instance = 0 |
| ICMPCallback_t | callbacks |