+struct nfrec_v5 {
+ nd_ipv4 src_ina;
+ nd_ipv4 dst_ina;
+ nd_ipv4 nhop_ina;
+ nd_uint16_t input; /* SNMP index of input interface */
+ nd_uint16_t output; /* SNMP index of output interface */
+ nd_uint32_t packets; /* packets in the flow */
+ nd_uint32_t octets; /* layer 3 octets in the packets of the flow */
+ nd_uint32_t start_time; /* sys_uptime value at start of flow */
+ nd_uint32_t last_time; /* sys_uptime value when last packet of flow was received */
+ nd_uint16_t srcport; /* TCP/UDP source port or equivalent */
+ nd_uint16_t dstport; /* TCP/UDP source port or equivalent */
+ nd_byte pad1; /* pad */
+ nd_uint8_t tcp_flags; /* cumulative OR of TCP flags */
+ nd_uint8_t proto; /* IP protocol type */
+ nd_uint8_t tos; /* IP type of service */
+ nd_uint16_t src_as; /* AS number of the source */
+ nd_uint16_t dst_as; /* AS number of the destination */
+ nd_uint8_t src_mask; /* source address mask bits */
+ nd_uint8_t dst_mask; /* destination address prefix mask bits */
+ nd_byte pad2[2];
+ nd_ipv4 peer_nexthop; /* v6: IP address of the nexthop within the peer (FIB)*/
+};
+
+struct nfhdr_v6 {
+ nd_uint16_t version; /* version number */
+ nd_uint16_t count; /* # of records */
+ nd_uint32_t msys_uptime;
+ nd_uint32_t utc_sec;
+ nd_uint32_t utc_nsec;
+ nd_uint32_t sequence; /* v5 flow sequence number */
+ nd_uint32_t reserved; /* v5 only */
+};
+
+struct nfrec_v6 {
+ nd_ipv4 src_ina;
+ nd_ipv4 dst_ina;
+ nd_ipv4 nhop_ina;
+ nd_uint16_t input; /* SNMP index of input interface */
+ nd_uint16_t output; /* SNMP index of output interface */
+ nd_uint32_t packets; /* packets in the flow */
+ nd_uint32_t octets; /* layer 3 octets in the packets of the flow */
+ nd_uint32_t start_time; /* sys_uptime value at start of flow */
+ nd_uint32_t last_time; /* sys_uptime value when last packet of flow was received */
+ nd_uint16_t srcport; /* TCP/UDP source port or equivalent */
+ nd_uint16_t dstport; /* TCP/UDP source port or equivalent */
+ nd_byte pad1; /* pad */
+ nd_uint8_t tcp_flags; /* cumulative OR of TCP flags */
+ nd_uint8_t proto; /* IP protocol type */
+ nd_uint8_t tos; /* IP type of service */
+ nd_uint16_t src_as; /* AS number of the source */
+ nd_uint16_t dst_as; /* AS number of the destination */
+ nd_uint8_t src_mask; /* source address mask bits */
+ nd_uint8_t dst_mask; /* destination address prefix mask bits */
+ nd_uint16_t flags;
+ nd_ipv4 peer_nexthop; /* v6: IP address of the nexthop within the peer (FIB)*/
+};
+
+static void
+cnfp_v1_print(netdissect_options *ndo, const u_char *cp)