Wireshark-bugs: [Wireshark-bugs] [Bug 8846] New: MUL_DPKTS decode for netflow needs 64 bit optio
Date: Tue, 25 Jun 2013 14:45:25 +0000
Bug ID | 8846 |
---|---|
Summary | MUL_DPKTS decode for netflow needs 64 bit option |
Classification | Unclassified |
Product | Wireshark |
Version | unspecified |
Hardware | x86 |
OS | All |
Status | UNCONFIRMED |
Severity | Major |
Priority | Low |
Component | Dissection engine (libwireshark) |
Assignee | [email protected] |
Reporter | [email protected] |
Build Information: wireshark 1.11.0 (SVN Rev 50139 from /trunk) Copyright 1998-2013 Gerald Combs <[email protected]> and contributors. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Compiled (64-bit) with GTK+ 2.24.17, with Cairo 1.12.14, with Pango 1.32.5, with GLib 2.36.0, with libpcap, with libz 1.2.7, without POSIX capabilities, without libnl, without SMI, without c-ares, without ADNS, without Lua, without Python, without GnuTLS, without Gcrypt, without Kerberos, without GeoIP, without PortAudio, with AirPcap. Running on Linux 3.8.0-25-generic, with locale en_US.UTF-8, with libpcap version 1.3.0, with libz 1.2.7, without AirPcap. Intel(R) Core(TM) i7-3517U CPU @ 1.90GHz Built using gcc 4.7.3. -- The problem is actually a bit more general than my summary, but it was a capture with MUL_DPKTS that tripped me up today. The problem is that in NetFlow v9 / IPFIX values can be sent using "reduced size encoding". This means that the size specified for each element (see http://www.iana.org/assignments/ipfix/ipfix.xml) is really just an upper bound. >From RFC5101: 6.2. Reduced Size Encoding of Integer and Float Types Information Elements containing integer, string, float, and octetarray types in the information model MAY be encoded using fewer octets than those implied by their type in the information model definition [RFC5102], based on the assumption that the smaller size is sufficient to carry any value the Exporter may need to deliver. This reduces the network bandwidth requirement between the Exporter and the Collector. Note that the Information Element definitions [RFC5102] will always define the maximum encoding size. For instance, the information model [RFC5102] defines byteCount as an unsigned64 type, which would require 64 bits. However, if the Exporter will never locally encounter the need to send a value larger than 4294967295, it may chose to send the value instead as an unsigned32. For example, a core router would require an unsigned64 byteCount, while an unsigned32 might be sufficient for an access router. MUL_DPKTS (aka postMCastPacketDeltaCount), for example, is specified as unsigned64. There for it can, however, be encoded as any unsigned8, unsigned16, unsigned24, ... unsigned64. The way this has been handled in the decodes so far is to create 2 hf_ entries (32 and 64) for each information element that someone trips over with a reduced size encoding. This results in code like the following scattered everywhere case 1: /* bytes */ if (length == 4) { ti = proto_tree_add_item(pdutree, hf_cflow_octets, tvb, offset, length, ENC_BIG_ENDIAN); } else if (length == 8) { ti = proto_tree_add_item(pdutree, hf_cflow_octets64, tvb, offset, length, ENC_BIG_ENDIAN); } else { ti = proto_tree_add_text(pdutree, tvb, offset, length, "Octets: length %u", length); } break; It seems there ought to be a way to more generally decode an integer for any length 1 .. 8. Probably there is. Suggestions welcome. Meanwhile I'm off to read the documentation.
You are receiving this mail because:
- You are watching all bug changes.
- Follow-Ups:
- [Wireshark-bugs] [Bug 8846] MUL_DPKTS decode for netflow needs 64 bit option
- From: bugzilla-daemon
- [Wireshark-bugs] [Bug 8846] MUL_DPKTS decode for netflow needs 64 bit option
- Prev by Date: [Wireshark-bugs] [Bug 8775] Revision 49670 breaks build
- Next by Date: [Wireshark-bugs] [Bug 8847] New: openSAFETY: CRC Maintenance, new CRC
- Previous by thread: [Wireshark-bugs] [Bug 8845] New: TCP Graph Zoom Out switching to Zoom In
- Next by thread: [Wireshark-bugs] [Bug 8846] MUL_DPKTS decode for netflow needs 64 bit option
- Index(es):