| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| en:dpi:load_balancer:setting [2025/12/17 08:41] – [Setting /etc/dpi/fastdpi.conf] elena.krasnobryzh | en:dpi:load_balancer:setting [2025/12/23 07:38] (current) – [Setting /etc/dpi/fastdpi.conf] elena.krasnobryzh |
|---|
| * ''1'' — read/write engine with two dispatcher threads: a dispatcher for each direction; | * ''1'' — read/write engine with two dispatcher threads: a dispatcher for each direction; |
| * ''2'' — Read/write engine with RSS support: for each direction, ''dpdk_rss'' dispatchers are created (default ''dpdk_rss=2''), so total number of dispatchers = 2 * ''dpdk_rss''— to work with in_dev, and a separate dispatcher to work with out_dev.\\ When the parameter value is 2, the ''mqrx_lb_engine'' engine is activated. The principle of operation is the same as in the usual mode ''dpdk_engine=2'', only rss is enabled on in_dev, and only one rx queue is created on out_dev.\\ \\ Learn more about the ''dpdk_engine'' parameter by [[en:dpi:dpi_components:platform:dpi_config#the_dispatcher_thread_load|clicking here]]. | * ''2'' — Read/write engine with RSS support: for each direction, ''dpdk_rss'' dispatchers are created (default ''dpdk_rss=2''), so total number of dispatchers = 2 * ''dpdk_rss''— to work with in_dev, and a separate dispatcher to work with out_dev.\\ When the parameter value is 2, the ''mqrx_lb_engine'' engine is activated. The principle of operation is the same as in the usual mode ''dpdk_engine=2'', only rss is enabled on in_dev, and only one rx queue is created on out_dev.\\ \\ Learn more about the ''dpdk_engine'' parameter by [[en:dpi:dpi_components:platform:dpi_config#the_dispatcher_thread_load|clicking here]]. |
| - Select a balancing algorithm in the ''lb_hash_type'' parameter. The ''maglev'' algorithm with fixed hash table size is used for traffic balancing, where: | - The ''lb_hash_type'' parameter is used to select the hashing algorithm. Currently, the maglev algorithm is supported (parameter value ''0'') — an algorithm with a fixed-size hash table. The hash for load balancing is calculated as follows: |
| * ''1'' — if src and dst ip are both local, then hash is calculated based on these two addresses; | * if both src and dst IPs are local, the hash is calculated based on these two addresses; |
| * ''2'' — if only src ip local, then hash is calculated based on src ip; | * if only the src IP is local, the hash is calculated based on the src IP; |
| * ''3'' — if only dst ip local, hash is calculated on the basis of dst ip; | * if only the dst IP is local, the hash is calculated based on the dst IP; |
| * ''4'' — hash is calculated based on src and dst ip.\\ \\ Based on the calculated hash value, the output interface is determined by determining the index of the hash table cell containing the interface index from the array of output interfaces. | * otherwise, the hash is calculated based on src and dst IPs.\\ \\ The calculated hash value is then used to determine the output interface by finding the index of the hash table cell that contains the interface index from the array of output interfaces. |