Module icmp

Source
Expand description

Parsing and serialization of Internet Control Message Protocol (ICMP) packets.

This module supports both ICMPv4 and ICMPv6.

The ICMPv4 packet format is defined in RFC 792, and the ICMPv6 packet format is defined in RFC 4443 Section 2.1.

Modules§

mld
Multicast Listener Discovery Protocol.
ndp
Messages used for NDP (ICMPv6).

Macros§

icmpv4_dispatch
Dispatches expressions to the type-safe variants of Icmpv4Packet or Icmpv4PacketRaw.
icmpv6_dispatch
Dispatches expressions to the type-safe variants of Icmpv6Packet or Icmpv6PacketRaw.

Structs§

EmptyMessage
Empty message.
IcmpDestUnreachable
An ICMP Destination Unreachable message.
IcmpEchoReply
An ICMP Echo Reply message.
IcmpEchoRequest
An ICMP Echo Request message.
IcmpPacket
An ICMP packet.
IcmpPacketBuilder
A builder for ICMP packets.
IcmpPacketRaw
A partially parsed and not yet validated ICMP packet.
IcmpParseArgs
Arguments required to parse an ICMP packet.
IcmpSenderZeroCode
An ICMP code that is zero on serialization, but ignored on parsing.
IcmpTimeExceeded
An ICMP Time Exceeded message.
IcmpZeroCode
An ICMP code that must be zero.
Icmpv4ParameterProblem
An ICMPv4 Parameter Problem message.
Icmpv4Redirect
An ICMPv4 Redirect Message.
Icmpv4TimestampReply
An ICMPv4 Timestamp Reply message.
Icmpv4TimestampRequest
An ICMPv4 Timestamp Request message.
Icmpv6PacketTooBig
An ICMPv6 Packet Too Big message.
Icmpv6ParameterProblem
An ICMPv6 Parameter Problem message.
OriginalPacket
A thin wrapper around B which implements MessageBody.

Enums§

Icmpv4DestUnreachableCode
Icmpv4MessageType
Icmpv4Packet
An ICMPv4 packet with a dynamic message type.
Icmpv4PacketRaw
A raw ICMPv4 packet with a dynamic message type.
Icmpv4ParameterProblemCode
Icmpv4RedirectCode
Icmpv4TimeExceededCode
Icmpv6DestUnreachableCode
Icmpv6MessageType
Icmpv6Packet
An ICMPv6 packet with a dynamic message type.
Icmpv6PacketRaw
A raw ICMPv6 packet with a dynamic message type.
Icmpv6ParameterProblemCode
Icmpv6TimeExceededCode

Traits§

IcmpIpExt
An extension trait adding ICMP-related functionality to Ipv4 and Ipv6.
IcmpMessage
An ICMP message.
IcmpMessageType
The type of an ICMP message.
IcmpPacketTypeRaw
An ICMP or ICMPv6 packet
MessageBody
MessageBody represents the parsed body of the ICMP packet.

Functions§

peek_message_type
Peek at an ICMP header to see what message type is present.