We’re excited to announce a new stable release of n2disk v. 3.8. This release is bringing significant new capabilities to the network monitoring and recording landscape, and it is packed with features that enhance both functionalities and performance.
Here’s a closer look at the highlights of this release:
- New Smart Recording support to intelligently manage and optimize storage usage.
- Multithreaded Packet Capture to take advantage of RSS (Receive Side Scaling) capabilities on NVIDIA/Mellanox ConnectX adapters. In fact on those adapters it is not possible to scale the performance by spawning multiple (n2disk) processes, a multithreaded application is mandatory.
- Inline Packet Deduplication with ndedup to eliminate duplicated packets eating up bandwidth and processing power on the monitoring tools, or save disk resources when dumping traffic to disk dramatically increasing data retention.
For the full list of changes and new features, please read the changelog below. Instead for detailed documentation and tutorials, visit our official documentation or the dedicated blog posts.
Enjoy!
Changelog
Breakthroughs
- New Smart Recording support (disk2disk service)
- New n2disk multithreaded capture (support for RSS with NVIDIA/Mellanox adapters)
- New ndedup utility for inline packet deduplication
- Zero-copy batch traffic forwarding as transparent bridge
- Support for multiple segments or RSS queues with mulththreading
- Configurable window size
n2disk
- Add Device and Port ID to indexed metadata
- Add support for Metawatch in packet capture mode
- Add support for indexing tunneled traffic in VXLAN
- Add support for IP-in-GRE-IP-in-VXLAN-in-IP encapsulation
- Add support for ERSPAN
- Add support for Arista 7280 headers
- Add support for FT-driven slicing
- Add threads for notifications (exec command) and queues to notify pcaps in order
- Index L2 packets
- Index ICMP protocol
- Index Arista Metawatch Device and Port ID with –extended-index 4 (even without –hw-timestamp metawatch)
- New options
- Add –disable-rss option to disable RSS (send all traffic to queue 0)
- Add –file-mode and –dir-mode options to set permissions on disk
- Add –indexer-threads <cores> (same semantic of -k <cores> -K) to set indexer threads core affinity
- Add –reader-priority, –writer-priority, –indexer-priority to set threads priority
- Add –numa-affinity to set NUMA node affinity
- Add –other-cpu-affinity option to set core affinity for auxiliary threads
- Add –no-overwriting option to disable pcap recycling
- Add –hole-detection <msec> option to detect traffic holes
- Add –disable-chunk-mode option to disable chunk mode when automatically detected
- Add –profiling option to enable pipeline profiling
- Add –no-demo option to fail on no/expired license
- Enable libpcap capture on Linux (fallback to libpcap when pf_ring is not available)
- Improve Arista timestamps management to skip packets until the first keyframe is received
- Disable dump to specific disks in case of write failure when multiple volumes are available
- Fix standard BPF filters with zc interfaces
- Fix used disk space computation with compressed npcap files
- Fix exit status on failure
- Fix fd leak
- Fix DLT with vanilla pcap capture
- Deprecate -n option
Flow export
- Add –probe-ip option to specify the probe ip
- Reworked ZMQ export (now using ZMQ export support provided by PF_RING FT)
- Fix exported flows stats
npcapextract
- Add match for Device and Port ID
- Add support for time in epoch format in -b/-e
- Add support for nanoseconds time interval
- Handle extraction from pcap files which are not strictly honoring the timeline boundaries
- Fix extraction filters on IPv6 add
npcap library (PF_RING timeline module)
- Add support for nanoseconds time interval
- Fix memory corruption with big pcap and big index files
disk2n (replay)
- Add –keep-crc option to keep the CRC
- Fix –takeoff-time
Misc
- Add ARM support
- Add Ubuntu 22/24 support and package
- Add Debian 11/12 support and package
- Add FreeBSD support and package
- Add n2disk user to the ntop group
- Add UNIT_NAME and INSTANCE_NAME env var to systemd services
- Install binaries to /usr/bin