Bug #4836
Updated by daniel 3 months ago
Implement the load sharing function for UDP data.
* on a new LSP select a NSVC based on data weight
e.g. count all weight as sum_weight, LSP %modulo sum_weight, select the NSVC.
<pre>
NSVC1: data weight: 10 (0-9)
NSVC2: data weight: 5 (10-14)
sum = 15, LSP%sum in (0- 9) LSP = 14 => NSVC1 NSVC2
sum = 15, LSP%sum in (10-14) LSP = 3 => NSVC2 NSVC1
</pre>
Maintain a LSP table per NSE containing "LSP, NSVC, timestamp/counter". The timestamp is used to remove old entries when the table is full.
* on a new LSP select a NSVC based on data weight
e.g. count all weight as sum_weight, LSP %modulo sum_weight, select the NSVC.
<pre>
NSVC1: data weight: 10 (0-9)
NSVC2: data weight: 5 (10-14)
sum = 15, LSP%sum in (0- 9) LSP = 14 => NSVC1 NSVC2
sum = 15, LSP%sum in (10-14) LSP = 3 => NSVC2 NSVC1
</pre>
Maintain a LSP table per NSE containing "LSP, NSVC, timestamp/counter". The timestamp is used to remove old entries when the table is full.