Index: epan/dissectors/packet-netflow.c =================================================================== --- epan/dissectors/packet-netflow.c (revision 36487) +++ epan/dissectors/packet-netflow.c (working copy) @@ -%ld,%ld +%ld,%ld @@ static int hf_cflow_ipv6_exthdr = -1; static int hf_cflow_dstmac = -1; static int hf_cflow_post_srcmac = -1; +static int hf_cflow_permanent_packets = -1; +static int hf_cflow_permanent_packets64 = -1; +static int hf_cflow_permanent_octets = -1; +static int hf_cflow_permanent_octets64 = -1; static int hf_cflow_fragment_offset = -1; static int hf_cflow_mpls_vpn_rd = -1; static int hf_cflow_mpls_top_label_prefix_length = -1; /* ID: 91 */ @@ -%ld,%ld +%ld,%ld @@ ti = NULL; switch (pen_type) { - case 85: /* BYTES_PERMANENT */ case 1: /* bytes */ if (length == 4) { ti = proto_tree_add_item(pdutree, hf_cflow_octets, @@ -%ld,%ld +%ld,%ld @@ } break; - case 86: /* PACKETS_PERMANENT */ case 2: /* packets */ if (length == 4) { ti = proto_tree_add_item(pdutree, hf_cflow_packets, @@ -%ld,%ld +%ld,%ld @@ tvb, offset, length, ENC_NA); break; + case 85: /* BYTES_PERMANENT */ + if (length == 4) { + ti = proto_tree_add_item(pdutree, hf_cflow_permanent_octets, + tvb, offset, length, ENC_BIG_ENDIAN); + } else if (length == 8) { + ti = proto_tree_add_item(pdutree, hf_cflow_permanent_octets64, + tvb, offset, length, ENC_BIG_ENDIAN); + } else { + ti = proto_tree_add_text(pdutree, + tvb, offset, length, + "Running Octets: length %u", length); + } + break; + + case 86: /* PACKETS_PERMANENT */ + if (length == 4) { + ti = proto_tree_add_item(pdutree, hf_cflow_permanent_packets, + tvb, offset, length, ENC_BIG_ENDIAN); + } else if (length == 8) { + ti = proto_tree_add_item(pdutree, hf_cflow_permanent_packets64, + tvb, offset, length, ENC_BIG_ENDIAN); + } else { + ti = proto_tree_add_text(pdutree, + tvb, offset, length, + "Running Packets: length %u", length); + } + break; + case 88: /* fragmentOffset */ ti = proto_tree_add_item(pdutree, hf_cflow_fragment_offset, tvb, offset, length, ENC_BIG_ENDIAN); @@ -%ld,%ld +%ld,%ld @@ FT_ETHER, BASE_NONE, NULL, 0x0, NULL, HFILL} }, + {&hf_cflow_permanent_packets, + {"Permanent Packets", "cflow.permanent_packets", + FT_UINT32, BASE_DEC, NULL, 0x0, + "Running Count of packets for permanent flows", HFILL} + }, + {&hf_cflow_permanent_packets64, + {"Permanent Packets", "cflow.permanent_packets64", + FT_UINT64, BASE_DEC, NULL, 0x0, + "Running Count of packets for permanent flows", HFILL} + }, + {&hf_cflow_permanent_octets, + {"Permanent Octets", "cflow.permanent_octets", + FT_UINT32, BASE_DEC, NULL, 0x0, + "Running Count of bytes for permanent flows", HFILL} + }, + {&hf_cflow_permanent_octets64, + {"Permanent Octets", "cflow.permanent_octets64", + FT_UINT64, BASE_DEC, NULL, 0x0, + "Running Count of bytes for permanent flows", HFILL} + }, {&hf_cflow_fragment_offset, {"Fragment Offset", "cflow.fragment_offset", FT_UINT16, BASE_DEC, NULL, 0x0,