Skip to content

Releases: LibtraceTeam/libtrace

Libtrace 4.0.7

15 May 03:48
b4c8ba1
Compare
Choose a tag to compare

New features

  • Added new API functions for exploring meta-data that is either attached to a specific packet or included in a trace as separate records (e.g. ERF provenance or pcap-ng meta-data). Many meta-data fields have a specific accessor function that can be called directly (e.g. trace_get_interface_fcslen()). You can also use trace_get_section() to get an array containing all meta-data items within a particular section, which will allow you to get access to any fields for which we have not implemented direct access functions.
  • Added new API functions to instant decoding all of the post-layer 2, pre-layer 3 headers in a packet so you can now easily explore any / all VLAN, MPLS, etc. headers in a packet without having to effectively re-implement trace_get_layer3() in your own code. See trace_get_layer2_headers() for more details.
  • Added support for both reading and writing TZSP sniffing streams.

Bug fixes

  • Fixed uninitialised bytes in message structure sent via trace_post_reporter.
  • Fixed build errors caused by attempting to #include pcap-int.h.
  • Fixed bug where a corrupt ERF record could cause a libtrace program to become un-haltable.
  • Fixed bug in error tracking when creating a fanout socket for the ring and int formats.
  • Fixed potential segfault when halting a libtrace program that was reading from a ring: input.
  • Fixed uninitialised mutex when copying a packet.

Improvements

  • Improved parallel performance by skipping some needless per-packet sanity checks.

Libtrace 4.0.6

16 Jan 00:52
Compare
Choose a tag to compare

See https://github.com/LibtraceTeam/libtrace/wiki/ChangeLog for a full detailed list of changes in this release.

Major changes in this release:

  • Added write support for pcapng trace files.
  • Fixed segmentation fault when using tracereplay on certain packet types.
  • Fixed bug where trace_event() API was ignoring all received packets.
  • Fixed build issue when enabling DPDK.
  • Fixed build issue where recvmmsg availability was not detected properly.
  • Fixed packet corruption bug when using the "jump to IP header mode" in tracesplit.
  • Better error messaging and handling -- no more unexpected assertion failures!
  • Improved read performance of both ring: and ndag: live captures.
  • traceends and tracetopends now use the parallel API.

Libtrace 4.0.5

20 Nov 03:15
Compare
Choose a tag to compare

See https://github.com/LibtraceTeam/libtrace/wiki/ChangeLog for a full detailed list of changes in this release.

Major changes in this release:

  • Fixed bug where only one client could subscribe to an nDAG multicast group concurrently.
  • Fixed bad payload length calculations on outgoing packets when IP length field is populated by hardware.
  • Fixed build error when compiling with DPDK support.
  • Improved performance when decoding ETSI records via etsilive:
  • Improved ERF / DAG packet processing performance by caching the framing length.

Libtrace 4.0.4

02 Jul 03:35
Compare
Choose a tag to compare

See https://github.com/LibtraceTeam/libtrace/wiki/ChangeLog for a full detailed list of changes in this release.

Major additions in this release:

  • Added reference counting API for keeping track of packets shared across multiple threads.
  • Added new input format for receiving live streams of packets encoded using the ETSI LI standard.
  • Libpacketdump can now also decode ETSI-encoded packets.
  • Added CLI option to tracereplay to "speed up" replays by a given factor, i.e. set to 2 to replay at double speed.

Bug fixes:

  • Fixed problems with trying to have two ring: inputs active at the same time.
  • Fixed missing subseconds in timestamps from pcapng: packets.
  • Fixed bug that was causing poor ndag: performance.
  • Fixed bug that prevented trace_pstop() from working correctly on some live inputs.
  • Many other minor bug fixes and tidyups.

Libtrace 4.0.3

02 Mar 02:36
Compare
Choose a tag to compare

See https://github.com/LibtraceTeam/libtrace/wiki/ChangeLog for a full detailed list of changes in this release.

This release exposes some previously internal structures and information via the public API, specifically:

  • Processing thread ids
  • Message Queue data structure
  • Toeplitz hasher
  • trace_prepare_packet()

Major bugs fixed in this release:

  • Problems with capturing packets from GRE tunnel interfaces are resolved.
  • Fixed inability to handle ERF provenance records.
  • DPDK packet truncation, causing some payload to replaced with zeroes.
  • A couple of nDAG packet corruption bugs.

Other important changes:

  • Updated DAG code to use 64 bit API so should now work with large streams.
  • Some nDAG performance enhancements.
  • New format: dpdkndag:, which will decode nDAG records that are intercepted by a DPDK interface (as opposed to receiving them via conventional multicast).

Libtrace 4.0.2

15 Nov 02:08
Compare
Choose a tag to compare

This release adds support for two new input formats: pcapng and nDAG.

It also fixes a number of bugs, most notably:

  • Bad IPv6 fragment offset calculation.
  • Compile error when building traceanon against newer versions of libssl.
  • Bad libpacketdump decoding for truncated IPv6 and SCTP.
  • Compile error when pcap-bpf.h is missing.
  • Failure to detect and link against DPDK if it was built as a shared library.