Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  YAFZCBALANCE (1)

.ds Aq ’


yafzcbalance - PF_RING ZC Load balancer for YAF.



    yafzcbalance [--in DEVICE]
                 [--cluster CLUSTER_ID]
                 [--num NUM_YAFS]
                 [--core CORE_ID]
                 [--time TIME_CORE_ID]
                 [--pidfile FILENAME]
                 [--log LOG_FILE]
                 [--user BECOME_USER]
                 [--stats SECONDS]


yafzcbalance is a tool that load balances packets received on one or more interfaces to multiple consumer processes. This process hashes the incoming packets and sends them to the appropriate yaf(1) process listening on a cluster ID/queue.

yafzcbalance is based off of the example application, zbalance_ipc, that is distributed with PF_RING. Changes have been made to simplify the process to run specifically with yaf(1).

yafzcbalance allows you to bind the application to a particular core. Additionally, you can bind the time pulse thread to the same or another core.

yafzcbalance or a similar application is required for running yaf on zc interfaces. yaf simply listens on a cluster ID, not on the zc interface. This application will listen on the interface(s) and distribute packets to the appropriate cluster.


The following options are available for yafzcbalance.
--in DEVICE The DEVICE is a comma-separated list of devices. Typically when the device is in zero-copy mode, each device name will be in the form zc:<device_name>.
--cluster CLUSTER_ID CLUSTER_ID is the unique ID for the PF_RING cluster. All applications belonging to the same cluster can share incoming packets in zero-copy. There can be multiple queues within a cluster that can be used for filtering and distributing packets towards multiple applications.
--num NUM_YAFS NUM_YAFS is the number of yaf(1) applications that yafzcbalance will distribute packets to. The default is 1.
--core CORE_ID Bind yafzcbalance to core CORE_ID.
--time TIME_CORE_ID By default, hardware timestamps are disabled in zero-copy mode. yaf(1) requires that a packet have a timestamp, so yafzcbalance creates a thread that will add a timestamp to the PF_RING packet header. Use this option to bind that thread to core TIME_CORE_ID.
--pidfile PID_FILE PID_FILE is the complete path to write the process ID of yafzcbalance.
--daemon Run yafzcbalance as a daemon.
--log LOG_FILE Write any log messages and process statistics to LOG_FILE. By default, process statistics are disabled. To turn on periodic process statistics, use the --stats option. Otherwise, you can send yafzcbalance the SIGUSR1 process signal to write process statistics to the LOG_FILE or stdout if --log is not present.
--user BECOME_USER After opening the live capture device, drop privilege to the named user BECOME_USER.
--stats SECONDS If present, yafzcbalance will write process statistics to the LOG_FILE or stdout every SECONDS seconds. yafzcbalance will write the per-interface statistics.
--version If present, print version and copyright information to standard error and exit.


In the following examples, the dollar sign ($) represents the shell prompt. The text after the dollar sign represents the command line.

 $ yafzcbalance --in zc:p6p1,zc:p6p1 -c 99 -n 2 -d -l /var/log/yafzcbalance.log

 $ yaf --in 99:0 --live zc --out localhost --ipfix tcp --ipfix-port=18000 --silk

 $ yaf --in 99:1 --live zc --out localhost --ipfix tcp --ipfix-port=18001 --silk

Known Issues

yafzcbalance will not start if yaf is already running on the cluster. If you see this error message:

    *** cluster recovery not supported ***
    pfring_zc_create_cluster error [Operation not supported]Please check your hugetlb configuration

Terminate the yaf processes and restart yafzcbalance. yafzcbalance must start before yaf.

Bug reports may be sent directly to the Network Situational Awareness team at <>.


Emily Sarneso and the CERT Network Situational Awareness Group Engineering Team, <>.


Search for    or go to Top of page |  Section 1 |  Main Index

2.8.1 YAFZCBALANCE (1) 5-Apr-2016

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.