Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| en:dpi:dpi_components:platform:dpi_config [2026/03/02 14:28] – [Ports configuration] elena.krasnobryzh | en:dpi:dpi_components:platform:dpi_config [2026/06/03 11:33] (current) – [dpdk_engine=7: Explicit Dispatcher Configuration] elena.krasnobryzh | ||
|---|---|---|---|
| Line 396: | Line 396: | ||
| * TX queue count = number of processing threads. Processing threads write directly to their own TX queue on the card. | * TX queue count = number of processing threads. Processing threads write directly to their own TX queue on the card. | ||
| + | ==== dpdk_engine=7: | ||
| + | <note important> | ||
| + | |||
| + | This engine allows you to explicitly define which ports are served by each dispatcher. It is intended for complex and heterogeneous configurations where standard dispatcher distribution schemes are not suitable. For example, when a cluster contains ports with different performance characteristics (100G, 40G, 10G) or when individual processing parameters are required for specific groups of ports. | ||
| + | |||
| + | The number of dispatchers is determined by the number of '' | ||
| + | |||
| + | A '' | ||
| + | |||
| + | This engine is universal and can be used to implement all dispatcher distribution schemes supported by other '' | ||
| + | |||
| + | Dispatchers are configured using '' | ||
| + | |||
| + | The following configuration errors are considered fatal: | ||
| + | * a cluster port is not included in any ''< | ||
| + | * a cluster port is included in the ''< | ||
| + | * the ''< | ||
| + | |||
| + | This engine is universal and can be used to express all other engines, for example: | ||
| + | < | ||
| + | dpdk_engine=0: | ||
| + | | ||
| + | out_dev=port3: | ||
| + | dpdk_dispatch=port1, | ||
| + | |||
| + | dpdk_engine=1: | ||
| + | | ||
| + | out_dev=port3: | ||
| + | dpdk_dispatch=port1, | ||
| + | dpdk_dispatch=port3, | ||
| + | |||
| + | dpdk_engine=2: | ||
| + | dpdk_rss=4 | ||
| + | | ||
| + | out_dev=port3: | ||
| + | dpdk_dispatch=port1, | ||
| + | dpdk_dispatch=port3, | ||
| + | |||
| + | dpdk_engine=3: | ||
| + | | ||
| + | out_dev=port3: | ||
| + | dpdk_dispatch=port1, | ||
| + | dpdk_dispatch=port2, | ||
| + | |||
| + | dpdk_engine=4: | ||
| + | | ||
| + | out_dev=port3: | ||
| + | dpdk_dispatch=port1 | ||
| + | dpdk_dispatch=port2 | ||
| + | dpdk_dispatch=port3 | ||
| + | dpdk_dispatch=port4 | ||
| + | |||
| + | dpdk_engine=6: | ||
| + | dpdk_rss=4 | ||
| + | | ||
| + | out_dev=port3: | ||
| + | dpdk_dispatch=port1, | ||
| + | dpdk_dispatch=port2, | ||
| + | </ | ||
| + | |||
| + | A '' | ||
| + | |||
| + | * **'' | ||
| + | * '' | ||
| + | * '' | ||
| + | * both parameters are mandatory\\ Multiple '' | ||
| + | * **'' | ||
| + | * '' | ||
| + | * **Dispatcher descriptor** — available only for '' | ||
| + | * ''< | ||
| + | * '' | ||
| + | * '' | ||