ICMP (Internet Control Message Protocol) is the protocol that IP uses for control messages.
ICMP support[]
The implementation of ICMP supports three protocols:
- Echo Reply (0) or "ping". The client replies to the ping, echoing the data in the IP packet.
- Destination Unreachable (3). This is an indication that the device cannot forward an IP packet. For example, this error message will be sent if a packet addressed to the device requires a protocol that the device does not support.
- Time exceeded (11). This indicates that the device has dropped a packet because its "time to live" (TTL) has reached 0.
ICMP from an application perspective[]
ICMP messages are processed and generated by the lwIP stack itself. Therefore, an application should not need to interact with the ICMP code at all. If the user wishes to generate its own ping to a device, it can form the packet as an IP packet and send via the IP module.
ICMP support history in lwIP[]
ICMPv4 support[]
HEAD | Stable but limited implementation. Supports echo(0), destination unreachable(3), and time exceeded(11). |
@1.2.0 | Stable but limited implementation. Supports echo(0), destination unreachable(3), and time exceeded(11). |
ICMPv6 support[]
HEAD | Unknown |
1.2.0 | Unknown |
External references[]
- Wikipedia: Internet Control Message Protocol
- Wireshark: Internet Control Message Protocol
- RFC 792 - Internet Control Message Protocol
- RFC 1122, Section 3.2.2 - Requirements for Internet Hosts -- Communication Layers: ICMP