RHD
RHD(3, "errors generated");
RHD(4, "suppressed - original too short");
RHD(5, "suppressed - original was ICMP");
RHD(6, "responses sent");
RHD(15, "router solicitation");
#define BD(row, str) LHD(row, str); RHD(row, str)
RHD(0, "total packets sent");
RHD(1, " generated locally");
RHD(2, " output drops");
RHD(3, " output fragments generated");
RHD(4, " fragmentation failed");
RHD(5, " destinations unreachable");
RHD(6, " packets output via raw IP");
RHD(7, " total UDP packets sent");
RHD(9, "total UDP packets received");
RHD(10, " too short for header");
RHD(11, " invalid checksum");
RHD(12, " invalid length");
RHD(13, " no socket for dest port");
RHD(14, " no socket for broadcast");
RHD(15, " socket buffer full");
RHD(0, "packet forwarded");
RHD(1, " packet not forwardable");
RHD(2, " redirect sent");
RHD(4, "packet sent from this host");
RHD(5, " fabricated ip header");
RHD(6, " dropped output (no bufs)");
RHD(7, " dropped output (no route)");
RHD(8, " output datagram fragmented");
RHD(9, " fragment created");
RHD(10, " can't be fragmented");
RHD(12, "violated scope rules");
RHD(9, "total TCP packets received");
RHD(10, " in sequence");
RHD(11, " completely duplicate");
RHD(12, " with some duplicate data");
RHD(13, " out of order");
RHD(14, " duplicate acks");
RHD(15, " acks");
RHD(16, " window probes");
RHD(17, " window updates");
RHD(0, "total TCP packets sent");
RHD(1, " data");
RHD(2, " data (retransmit)");
RHD(3, " ack-only");
RHD(4, " window probes");
RHD(5, " window updates");
RHD(6, " urgent data only");
RHD(7, " control");