You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Allow input configuration options to be specified as part of the libtrace URI. Options are specified as comma-separated key=value strings and end with a : character, e.g coremap=[1,2]:int:eth0.
New API function trace_hold_packet(), which allows users to safely retain a reference to a packet that has been received via a format for later use.
Added coremap option, trace_set_coremap(), to bind per-packet threads to physical CPU cores
Bug fixes
Fixed bug where XDP packet buffers were not released back to the fill queue properly.
Fixed thread-safety issues with freeing XDP packets.
Fixed bug where libtrace would unload XDP programs that were not loaded by libtrace.
Fixed crash when sending packets via DPDK.
Fixed crash when closing a pcap input that is NULL due to an error on initialisation.
Fixed read of freed memory when an error occurs in trace_create_output().
Fixed bogus bitshifting when expanding a toeplitz hash key.
Fixed DAG transmit functionality to actually work.
Fixed multiple issues with trace_get_outermost_vlan() and trace_get_outermost_mpls().
Fixed various bugs when promoting or demoting pcap packets from one linktype to another.
tracertstats should now correctly process trace files as fast as possible (but can be configured to run in "trace-time" instead).
Fixed inconsistencies when running tracertstats against the same trace file multiple times.
Fix concurrency bug which would cause an error result when calling trace_apply_filter() in a parallel program.
Fix possible packet buffer leak when reading a packet via pcap:.
Fixed packet header structures with incorrect field definitions (libtrace_8021q_t, libtrace_atm_cell_t, libtrace_atm_nni_cell_t, libtrace_atm_capture_cell_t, libtrace_atm_nni_capture_cell_t). If you use these in your code you may need to update your code to use the new field names.
Improvements
XDP now uses the undirectional hasher by default and moves hashing to the network card
XDP: warn users if flow director rules are found on the interface during initialisation.
XDP: push hashing onto the NIC where possible.
Improve receive performance for Linux native formats by ensuring internal structures are properly cache aligned.
A single libtrace program should now be able to run against multiple concurrent DPDK inputs (requires sensible use of the coremap option).
DPDK support now extended to Mellanox DPDK libraries.
Improved DPDK detection, including detection of DPDK meson builds for DPDK version 20.11 and newer