what defines a TCP connection as new, requiring BindConnectionToSession?
Rick Macklem <rmacklem-dxuVLtCph9gsA/[email protected]> Sun, 4 Apr 2021 03:21:34 +0000
| Newsgroups | gmane.linux.nfs,gmane.ietf.nfsv4 |
|---|---|
| Message-ID | <YQXPR0101MB0968DDE7E5E916B2397FBFCBDD789@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM> |
Hi,
I have been doing testing of network partitioning between a
Linux client (5.2.10) and a FreeBSD server and have observed
the following:
- If I unplug a net cable for a few minutes and the plug it
back in, the Linux client does a TCP "SYN", expects "SYN, ACK"
and then continues on, using the same port# as before the
network partitioning.
--> I had assumed the above created a "new connection" that
will only be bound to the backchannel if a
BindConnectionToSession is done on it.
Now I am not sure if this is considered a "new connection" or
the same connection (same port#) still bound to the back channel?
I am also wondering about this para. in RFC5661 pg. 493:
Invoking BIND_CONN_TO_SESSION on a connection already associated with
the specified session has no effect, and the server MUST respond with
NFS4_OK, unless the client is demanding changes to the set of
channels the connection is associated with. If so, the server MUST
return NFS4ERR_INVAL.
Since a "new connection" is bound to a session's fore channel by
sending an RPC with Sequence in it, does this imply that a
BindConnectionToSession done on a connection to bind a back channel
after an RPC with Sequence in it has been done on the connection,
must fail with NFS4ERR_INVAL?
As you can see, knowing what constitutes a new TCP connection matters.
Thanks in advance for any help with this, rick