]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit - sys/netinet6/in6_pcb.c
Implement flowid calculation for outbound connections to balance
authorAlexander V. Chernikov <melifaro@FreeBSD.org>
Sun, 18 Oct 2020 17:15:47 +0000 (17:15 +0000)
committerAlexander V. Chernikov <melifaro@FreeBSD.org>
Sun, 18 Oct 2020 17:15:47 +0000 (17:15 +0000)
commit0c325f53f16731f608919a4489f96fbbe28d2344
tree47edfa6af78113b91e7dad7f002817c6e110b01f
parent186bcdaac7c70e59eb04412ad402a6fb57b97d11
Implement flowid calculation for outbound connections to balance
 connections over multiple paths.

Multipath routing relies on mbuf flowid data for both transit
 and outbound traffic. Current code fills mbuf flowid from inp_flowid
 for connection-oriented sockets. However, inp_flowid is currently
 not calculated for outbound connections.

This change creates simple hashing functions and starts calculating hashes
 for TCP,UDP/UDP-Lite and raw IP if multipath routes are present in the
 system.

Reviewed by: glebius (previous version),ae
Differential Revision: https://reviews.freebsd.org/D26523
20 files changed:
sys/conf/files
sys/net/radix.c
sys/net/route.h
sys/net/route/mpath_ctl.c
sys/net/route/route_var.h
sys/netinet/in_fib.c
sys/netinet/in_fib.h
sys/netinet/in_pcb.c
sys/netinet/in_rss.c
sys/netinet/in_rss.h
sys/netinet/raw_ip.c
sys/netinet/udp_usrreq.c
sys/netinet6/in6_fib.c
sys/netinet6/in6_fib.h
sys/netinet6/in6_pcb.c
sys/netinet6/in6_rss.c
sys/netinet6/in6_rss.h
sys/netinet6/ip6_output.c
sys/netinet6/raw_ip6.c
sys/netinet6/udp6_usrreq.c