diff options
author | Vladislav Grishenko <themiron@yandex-team.ru> | 2024-01-24 16:17:23 +0500 |
---|---|---|
committer | Neale Ranns <neale@graphiant.com> | 2024-04-09 04:47:02 +0000 |
commit | 302db471a01b5c21b80e9bc769315cef4da0ed80 (patch) | |
tree | be284a966c720d6dc601128759e42a62553db2a7 /src/vnet/ip/ip_packet.h | |
parent | 2a7bc81ae302b02e8e0d4eec7db82c1ca15b7f7a (diff) |
mpls: fix default mpls lb hash config
In case of multiple path within tunnel, mpls lookup node
computes lb hash with mpls_compute_flow_hash config value 0,
so only mpls label and l4 ports gets accounted, not 5-tuple.
This leads to flow traffic polarization and disbalance over
mpls paths.
Use mpls hash config from lb instead, usually it'll be
MPLS_FLOw_HASH_DEFAULT with 5-tuple plus flowlabel.
As optimization, fix flow hash reuse from the previous lookup
node if present, like ip_lookup does. Previously mpls lookup
always calcs the hash.
Test lb distribution for both cases.
Also, use the same flow hash hex format in ip4/ip6 and mpls
traces for easier reading, most code changes is due fixstyle
formatting.
Type: fix
Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
Change-Id: Ib89e1ab3edec14269866fe825a3e887d6c817b7c
Diffstat (limited to 'src/vnet/ip/ip_packet.h')
0 files changed, 0 insertions, 0 deletions