- For ICMP error packets that come from intermediate routers and meant
to be processed by agent, pull only the first 4 bytes of the error payload
transport header, since we are guaranteed only the first 8 bytes of
transport header

- When transmitting the final packet, make the outer ip header's ip id to
be the same as that of the inner ip header. This behavior is needed by
agent, which uses this id to correlate diagnostic requests with responses
(and specifically critical for icmp errors generated by intermediate routers,
where only the first 8 bytes of the transport header is available)

- Do not forward packets with zero ttl