This is to announce a new PF_RING major release 7.8.
The main changes in this release include:
- The new ice ZC driver supporting E800 Series 100 Gigabit Intel adapters.
- Hardware timestamp support for packet trailers and keyframes generated by Arista 7150 Series and Metawatch. This also includes device information such as the Device ID and the Port ID.
- BPF support for all ZC devices and queues, both to filter received or transmitted traffic.
- ZC API extensions to further simplify its use, which is one of the main advantages of this library, together with performance and flexibility.
- FT (Flow Table) improvements for flow export with slicing, which is the ability to deliver periodic flow updates before flow termination. Improved also the application protocol detection.
- New libpcap v.1.9.1 and tcpdump v.4.9.3 including fixes for several CVEs.
- Extended nBPF primitives to match Local or Remote IPs.
- More sample applications and extensions to the existing ones to cover more use cases.
Below you can find the complete changelog.
Enjoy!
Changelog
- PF_RING Library
- Add support for Device ID and Port ID to the extended packet header
- Add Arista 7150 Series hw timestamps support (keyframes and packet trailer parsing and stripping)
- Add Metawatch Metamako hw timestamps support (packet trailer parsing and stripping)
- errno EINTR is now returned on breakloop
- Improve XDP support
- Replace configure –enable-xdp with –disable-xdp (XDP enabled by default when supported)
- ZC Library
- New PF_RING_ZC_DEVICE_METAWATCH_TIMESTAMP flag to enable Metawatch hw timestamps
- New pfring_zc_get_pool_id API to get the Pool ID
- New pfring_zc_run_balancer_v2 pfring_zc_run_fanout_v2 APIs to support filtering functions
- BPF support in ZC interfaces, standard interfaces and SPSC queues
- Add support for BPF in TX queues
- Builtin GTP hash now expose GTP info (flags)
- Fix CRC strip on ixgbevf
- FT Library
- New pfring_ft_flow_get_id API to get the flow ID
- New PFRING_FT_IGNORE_HW_HASH flag to ignore hw packet hash
- New PKT_FLAGS_FLOW_OFFLOAD_1ST packet flag (first packet of a flow)
- Add support for flow slicing
- New API pfring_ft_flow_get_users to get flow users (in case of slicing)
- Improve application protocol detection
- Fix bogus-IP headers parsing
- PF_RING-aware Libpcap/Tcpdump
- New libpcap v.191
- New tcpdump v.4.9.3
- stats.ps_recv now includes packets dropped due to out of buffer space
- PF_RING Kernel Module
- Fix channels with standard drivers
- Fix 64-bit channel mask
- Fix defragmentation of packets with ethernet padding
- Fix unnecessary device mapping causing ifindex exhaustion
- PF_RING Capture Modules
- Update support for Fiberblaze adapters
- Fix filtering with Accolade adapters
- ZC Drivers
- New ice ZC driver supporting E800 Series Intel adapters
- Support for Ubuntu 20 LTS
- Support for CentOS/RedHat 8.2
- Fix queue attach/detach in ixgbe-zc
- Support for kernel 5.4
- nBPF
- Add support for matching Local/Remote IP (new extended-BPF primitives)
- Support uppercase AND/OR in extended-BPF filters
- Fix extended-BPF grammar
- Examples
- New zfilter_mq_ipc sample app (packet filtering with multiple threads and fanout to multiple consumer processes)
- ftflow:
- New -H option to ignore hw hash setting PFRING_FT_IGNORE_HW_HASH
- New -t option to print stats only
- ftflow_dpdk
- New -l option to run loopback tests
- Add RX/TX ring size configuration
- pfsend:
- New -z option to precompute randomized sequence
- New -W ID[,ID] option to forge VLAN and QinQ VLAN
- zbalance_ipc:
- New -x option to filter by VLAN ID
- Add ability to set BPF to egress queues
- Add ability to refresh BPF filters at runtime
- New -G : option to forward GTP-C traffic to a specific queue
- New zcount -f option to set BPF filters
- New pfcount -F option (do not strip FCS)
- New zcount/zcount_ipc -t option to read the packet payload
- New pcount -e option to set the capture direction
- Add VLAN to the flows dumped by ftflow
- Fix transmission of small packets (less than 60 bytes)
- Fix CPU affinity in ZC sample applications
- Misc
- Handle failures in service restart during package updates
- Add linux headers dependency to the pfring-dkms package
- Add actual version/revision to pfring-drivers-zc-dkms packages
- Fix installed .so library and links
- Fix ZC DAQ compilation and API update
- Fix service scripts to avoid command injections