Turbo capture mode enablement

A description of how to configure the turbo capture mode, in order to handle higher traffic loads.

The turbo capture mode allows the Nozomi Networks solution to fully leverage all the central processing unit (CPU) cores in the system when capturing traffic from local interfaces. By fully parallelizing all packet processing stages and minimizing the packet data copies in memory, it is possible to handle extremely high loads even if arriving over a few interfaces.

When in turbo capture mode, it is not possible to simultaneously trace traffic into files. Therefore, it is no longer possible to configure continuous traces regardless if scoped (e.g. relating to a specific node) or not. Traces that are triggered by alerts are not affected and are available regardless of turbo capture mode status. However, due to the previous shortcoming, it is recommended that the turbo capture mode is enabled only when the traffic load is expected to exceed 3 Gigabit per second (Gb/s).

In order to enable turbo capture mode, you need to add the following line in the /data/cfg/n2os.conf.user file (after replacing the interfaces array with the ones that are applicable to the specific system):

turbo_capture params { "enabled": true, "pin_cores": true, "interfaces": ["vmx1", "vmx2"] }
The turbo_capture params argument is a JavaScript Object Notation (JSON) object that holds all the configuration options that are relevant for the feature:
  • enabled: (boolean) configures whether the turbo capture mode should be enabled.
  • pin_cores: (boolean) configures whether each of the packet processing threads should be pinned to a fixed thread. In systems with high CPU core counts, fixing these threads to run only in specific CPU cores is leading to more efficient resources utilization.
  • interfaces: (array) List of interfaces that are to be monitored in turbo capture mode. For interfaces that are not present in this array, no monitoring is to be done in turbo capture mode. Note that to be used in this mode, interface names should not contain underscore characters.

After updating the configuration file, the n2osids and n2ostrace services need to be restarted:

service n2osids stop
service n2ostrace stop