PF_RING 6.0.3 Just Released

Posted · Add Comment

Today we have released PF_RING 6.0.3,  a maintenance release that includes many fixes and small changes. The release changelog is listed below.

  • PF_RING Library
    • New pfring_open() flag PF_RING_USERSPACE_BPF to force userspace BPF instead of in-kernel BPF with standard drivers
    • New API pfring_get_card_settings() to read max packet length and NIC rx/tx ring size
    • New Napatech support
    • Support for up to 64 channels with standard drivers, pfring_set_channel_mask() has a 64bit channel mask parameter now
    • Reworked IPv6 parsing
    • Configure parameter –disable-numa to remove libnuma dependency
    • ARM fixes
    • Minor bpf memory leak fix
  • ZC Library
    • New pfring_zc_open_device() flag PF_RING_ZC_DEVICE_SW_TIMESTAMP to force sw timestamp
    • New API pfring_zc_get_queue_id() to read SPSC queue ID or interface index
    • New DAQ module for ZC
    • pfring_zc_send() is now returning errno=EMSGSIZE on packet too long
    • Fix for receiving packets from stack using
    • Fix for send_pkt_burst() with IPC SPSC queues
    • Fix for drop stats when using SPSC queues over the standard pf_ring API
    • Fix for /proc stats in IPC mode when using the standard pf_ring API
    • Fix for packet timestamp when using SPSC queues over the standard pf_ring API
    • Fix for stats when inter-process SPSC queues are used
  • PF_RING-aware Libpcap
    • New PF_RING-aware libpcap v.1.6.2
    • New .npcap (compressed pcap) files support
    • Fix for libpcap over ZC, reworked poll support
  • PF_RING kernel module
    • New eth_type field in kernel filters
    • Reworked BPF support
    • Polling Mode/Breed under /proc is now “ZC” for ZC devices (in place of DNA)
    • Increased max dev name size
    • transparent_mode is now deprecated
    • Fix for ‘any’ device
    • Fix for kernel >=3.19
    • Fix for hw vlan strip in case of multiple sockets on the same device (standard drivers)
    • Fix for kernel Oops (rx vlan offload check)
  • PF_RING-aware/ZC Drivers
    • New Intel i40e (X710/XL710) ZC drivers
    • New ixgbe ZC driver v.3.22.3
    • ixgbe poll fix
    • Fixes for Centos/RH 6.6
    • Fixes for kernel >=3.16
  • Examples
    • New zbalance_DC_ipc: a master process balancing packets to multiple consumer processes,
      using multiple threads for packet filtering in a Divide-and-Conquer fashion,
      with an optional stage for sorting filtered packets before distribution
    • New zreplicator: example application receiving packets from n ingress interfaces and replicating them to m egress interfaces
    • pfcount: -N parameter to exit after reading packets
    • zsend:
      • IPC support to attach to an external cluster/queue
      • added -P to use pulse-time thread for tx rate control
      • added -Q to enable VM support (to attach a consumer running in a VM)
    • zbalance_ipc:
      • ability to create ingress sw queues (instead of opening interfaces) with -i Q (comma-separated list of Q and interfaces is allowed)
      • added daemon mode
      • added pid file
      • proc stats fix
      • interface and per-queue stats with -p
    • pflatency:
      • added -o and -c
      • max/min/avg stats
    • zfifo fixes