l2: fix vxlan src port entropy with mpls payload 48/40448/4
authorVladislav Grishenko <themiron@yandex-team.ru>
Wed, 24 Jan 2024 15:33:12 +0000 (20:33 +0500)
committerDave Wallace <dwallacelf@gmail.com>
Tue, 2 Apr 2024 02:11:02 +0000 (02:11 +0000)
commitf2fc97aafc717097fa984db62191ca7e13c276e5
tree41ececccbe3ce6e484fedb5dc486b1ae5580ee98
parent704d5a53e06d105c86822ea0cc20bb9c19f5b8d3
l2: fix vxlan src port entropy with mpls payload

l2 tunnels like vxlan, gtpu, geneva use vnet_l2_compute_flow_hash() to
compute flow hash for udp src port entropy. In case of inner mpls tunnels
to the same lsr ethernet src and dst macs are the same, so l2 flow hash
is also the same leading to no src port entropy and the only rss queue
overflow on receiver side.

Fix it for all the possible vnet_l2_compute_flow_hash callers by making
mpls playload hash in additon to ip4/ip6. Visible performance impact is
not expected as it's only one check for mpls ethertype for common cases.

Type: fix
Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
Change-Id: I69153d42fb3d7c094a670c674fac8d14039c626a
src/vnet/l2/l2_input.h
test/template_bd.py
test/test_vxlan.py