Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Jun 2021 11:11:04 +0200
From:      Peter Eriksson <pen@lysator.liu.se>
To:        Rick Macklem <rmacklem@uoguelph.ca>
Cc:        freebsd-net <freebsd-net@freebsd.org>
Subject:   Re: RFC: NFS trunking (multiple TCP connections for a mount
Message-ID:  <362300CE-30DA-4552-A3E4-0F3DFE385B2A@lysator.liu.se>
In-Reply-To: <YQXPR0101MB0968DC173855A82AAF45F08FDD039@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM>
References:  <YQXPR0101MB0968DC173855A82AAF45F08FDD039@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM>

next in thread | previous in thread | raw e-mail | index | archive | help

> I don't understand how multiple TCP connections to the same
> server IP address will distribute the load across multiple network
> interfaces?
> I thought that lagg would have handled this?


A lagg typically keeps all data in a TCP stream on a specific lagg =
member (depending on how the lagg is set up, unless you select the =
=E2=80=9Croundrobin=E2=80=9D option in freebsd -  don=E2=80=99t do that =
unless you like out-of-order packets=E2=80=A6)

Network equipment with laggs typically hash the IP streams over the lagg =
members based on MAC addresses (source&target), IP addresses =
(source&target) and port numbers.=20

(We have been diagnosing a fun problem locally where we see packet =
losses/performance drops over our internal backbone network for certain =
combinations of odd/even IP addresses/port numbers when things pass =
certain SPB =E2=80=9Crouters=E2=80=9D (which typically hash the streams =
over many =E2=80=9Cchannels=E2=80=9D between routers)=E2=80=A6 Fun fun. =
:-)

I think the multiple NFS TCP streams could make for some nice =
performance improvements in certain cases. And it would be a more =
generalisation of having multiple streams between two hosts - =
one-or-many over IPv4 and one-or-many over IPv6 at the same time. =
Windows SMB has a similar feature.

Just avoid the Linux NFS mounting deadlock issue with =E2=80=9Cdown=E2=80=9D=
 servers please  :-)

- Peter=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?362300CE-30DA-4552-A3E4-0F3DFE385B2A>