You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
General-purpose: send an arbitrary ICMPv4 error message (any type/code) quoting a given original packet - destination, RFC 792 quote, and checksum all filled in automatically
dmicmp_v4_send_dest_unreachable()
Thin wrapper over dmicmp_v4_send_error() fixed to Destination Unreachable, with a type-safe code enum - usable by other protocol modules (e.g. a future dmudp Port Unreachable), not just internally
dmicmp_v4_send_echo_request()
Send an ICMPv4 Echo Request (a "ping") - register a listener first if you want to know about the reply
Echo reply listener registry
Function
Description
dmicmp_register_echo_listener()
Register a callback for the next Echo Reply carrying a given identifier (either family)
dmicmp_unregister_echo_listener()
Undo dmicmp_register_echo_listener() - safe no-op if unregistered
What's not here yet
No dmicmp_v6_send_*() - blocked on dmip_v6_send() not existing yet
(no NDP module). Incoming ICMPv6 is still parsed and checksum-validated
correctly; an Echo Request or unclaimed protocol that would need a v6
reply is logged and dropped instead.
No dedicated wrapper for Time Exceeded, Redirect, or other RFC 792
message types - reachable today via the general-purpose
dmicmp_v4_send_error() primitive, without a dedicated function.