Lee la carga útil de ICMP de un recvmsg con el indicador MSG_ERRQUEUE

Estoy usando sockets BSD para construir un programa de traceroute avanzado que no necesita privilegios de root (como tracepath). Usando UDP y un socket enlazado, llamo:

recvmsg(socket, header, MSG_ERRQUEUE)

Recibo información sobre la supuesta notificación ICMP que se ha activado un paquete enviado anteriormente. ¿Sabe si es posible acceder a la carga útil de ICMP (que debería ser el paquete enviado anteriormente)?

Leí de la página de manual de recvmsg:

[..] The payload of the original packet that caused the error
is passed as normal data via msg_iovec. [..] 

Pero no puedo encontrar nada útil allí, simplemente parecen datos aleatorios (usé wireshark para verificar los datos).

Respuestas a la pregunta(1)

Su respuesta a la pregunta