Skip to content

Power management

Forwarding workers poll their NICs continuously, so each worker core reads 100% in the OS regardless of traffic — and burns the matching power at idle. Adaptive polling lets an idle worker nap briefly instead of hot-spinning.

Opt-in, and why

It is off by default: with it off the data plane is byte-identical to the validated hot-poll baseline. The nap is timer-based, so after an idle gap the first packet sees a wake latency about the length of the nap; there is no cost under load, because the nap never fires while traffic is flowing. For latency-strict deployments leave it off or use a small nap value.

cli
power adaptive enable
power nap 50            # microseconds, 1-5000
commit ; save
show power              # adaptive state + per-worker nap counts

Software PPPoE RSS

A related opt-in toggle: on a NIC that cannot RSS inside PPPoE, worker 0 hashes each upstream PPPoE frame by subscriber IP and fans it out to the other workers. It evens the load but does not scale past one dispatcher core, since worker 0 still parses every upstream packet. For PPPoE at production scale, use a NIC with hardware PPPoE RSS.

cli
dispatch enable
dispatch                # live state
show health             # confirm the spread