Skip to main content

Plugin Configuration

Enabling the PHY TAP plugin

Plugins are enabled and configured through the expert_phy section of the OCUDU configuration file:

expert_phy:
enable_phy_tap: true
phy_tap_arguments: "enable_quiet_processing=true,tap_ul_epre=tcp://*:5555"

Or equivalently via command-line flags:

--expert_phy.enable_phy_tap=true \
--expert_phy.phy_tap_arguments="enable_quiet_processing=true,tap_ul_epre=tcp://*:5555"

How arguments are passed to the plugin

The entire phy_tap_arguments string is passed verbatim to create_phy_tap_factory() as the processor_arguments parameter. Parsing is the plugin's responsibility. The convention used in the example plugin is comma-separated key=value pairs, parsed with standard regex:

std::smatch m;
if (std::regex_search(args, m, std::regex(R"(enable_quiet_processing=(true|false))"))) {
enable_quiet = (m[1].str() == "true");
}

Supported arguments

ArgumentTypeDefaultDescription
enable_quiet_processingtrue|falsefalseEnables process_quiet() callbacks for slots with no uplink allocations. Disabled by default to avoid unnecessary CPU load on idle slots.
log_levelnone|error|warning|info|debugwarningControls the verbosity of the plugin's logger.
tap_ul_epreZMQ address string(disabled)Activates the ZMQ EPRE telemetry decorator and binds to the given address, e.g. tcp://*:5555. See Chaining Processors.

Adding custom arguments

Any key=value pair can be added to the argument string. Custom arguments are ignored by the built-in parsing; only the plugin's own create_phy_tap_factory() implementation reads them. This means a plugin can expose its own configuration surface without any changes to OCUDU's configuration schema.