mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-18 02:04:05 +08:00
ipv4: use l4 hash for locally generated multipath flows
This patch changes how the multipath hash is computed for locally generated flows: now the hash comprises l4 information. This allows better utilization of the available paths when the existing flows have the same source IP and the same destination IP: with l3 hash, even when multiple connections are in place simultaneously, a single path will be used, while with l4 hash we can use all the available paths. v2 changes: - use get_hash_from_flowi4() instead of implementing just another l4 hash function Signed-off-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
1032a66871
commit
9920e48b83
@ -1564,7 +1564,8 @@ void fib_select_path(struct net *net, struct fib_result *res,
|
||||
#ifdef CONFIG_IP_ROUTE_MULTIPATH
|
||||
if (res->fi->fib_nhs > 1 && fl4->flowi4_oif == 0) {
|
||||
if (mp_hash < 0)
|
||||
mp_hash = fib_multipath_hash(fl4->saddr, fl4->daddr);
|
||||
mp_hash = get_hash_from_flowi4(fl4) >> 1;
|
||||
|
||||
fib_select_multipath(res, mp_hash);
|
||||
}
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user