Skip to content

Commit 70844a7

Browse files
committed
Updated documentation to remove references to HPNBufferSize
and TcpRcvBuf. Neither option are supported any more.
1 parent 4a775bd commit 70844a7

File tree

5 files changed

+8
-117
lines changed

5 files changed

+8
-117
lines changed

HPN-README

Lines changed: 8 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -51,28 +51,23 @@ metrics from multiplexed sessions will report on the activity of all sessions on
5151
This will likely result in less clear results and, as such, we suggest only gathering metrics
5252
from non-multiplexed session.
5353

54-
SCP with Resume functionality
55-
This feature allows SCP to resume failed transfers. In the event of a failed transfer
54+
HPNSCP with Resume functionality
55+
This feature allows hpnscp to resume failed transfers. In the event of a failed transfer
5656
issues the same scp command with the '-R' option. For example - if you issued:
57-
'scp myhugefile me@host:~'
57+
'hpnscp myhugefile me@host:~'
5858
and it dies halfway through the transfer issuing
59-
'scp -Z myhugefile me@host:~'
59+
'hpnscp -Z myhugefile me@host:~'
6060
will resume the transfer at the point where it left off.
6161

6262
This is implemented by having the source host send a hash (blake2b512) of the file to the
63-
target host. Teh target host then computes it's own hash of the target file. If the hashes match
63+
target host. The target host then computes it's own hash of the target file. If the hashes match
6464
then the file is skipped as this indicates a successful transfer. However, if the hashes do not
6565
match then the target sends the source its hash along with the size of the file. The source then
6666
computes the hash of the file *up to* the size of the target file. If those hashes match then
6767
the source only send the necessary bytes to complete the transfer. If the hashes do not match then
6868
the entire file is resent. If the target file is larger then the source file then the entire
6969
source file is sent and any existing target file is overwritten.
7070

71-
SCP however, will use the first scp in the user's path. This might not support the resume
72-
function and the attempt will fail. In those cases the user can explicitly define the path to the
73-
resume enabled scp with the '-z' option. For example:
74-
75-
'scp -Z -z /opt/hpnssh/usr/bin/scp myhugefile me@host:~'
7671

7772
MULTI-THREADED AES CIPHER:
7873
The AES cipher in CTR mode has been multithreaded (MTR-AES-CTR). This will allow ssh installations
@@ -124,63 +119,8 @@ more than 30%.
124119

125120
ex: scp -oNoneSwitch=yes -oNoneEnabled=yes -oNoneMacEnabled=yes file host:~
126121

127-
BUFFER SIZES:
128-
129-
If HPN is disabled the receive buffer size will be set to the
130-
OpenSSH default of 2MB (for OpenSSH versions before 4.7: 64KB).
131-
132-
If an HPN system connects to a nonHPN system the receive buffer will
133-
be set to the HPNBufferSize value. The default is 2MB but user adjustable.
134-
135-
If an HPN to HPN connection is established a number of different things might
136-
happen based on the user options and conditions.
137-
138-
Conditions: HPNBufferSize NOT Set, TCPRcvBufPoll enabled, TCPRcvBuf NOT Set
139-
HPN Buffer Size = up to 64MB
140-
This is the default state. The HPN buffer size will grow to a maximum of 64MB
141-
as the TCP receive buffer grows. The maximum HPN Buffer size of 64MB is
142-
geared towards 10GigE transcontinental connections.
143-
144-
Conditions: HPNBufferSize NOT Set, TCPRcvBufPoll disabled, TCPRcvBuf NOT Set
145-
HPN Buffer Size = TCP receive buffer value.
146-
Users on non-autotuning systems should disable TCPRcvBufPoll in the
147-
ssh_config and sshd_config
148-
149-
Conditions: HPNBufferSize SET, TCPRcvBufPoll disabled, TCPRcvBuf NOT Set
150-
HPN Buffer Size = minimum of TCP receive buffer and HPNBufferSize.
151-
This would be the system defined TCP receive buffer (RWIN).
152-
153-
Conditions: HPNBufferSize SET, TCPRcvBufPoll disabled, TCPRcvBuf SET
154-
HPN Buffer Size = minimum of TCPRcvBuf and HPNBufferSize.
155-
Generally there is no need to set both.
156-
157-
Conditions: HPNBufferSize SET, TCPRcvBufPoll enabled, TCPRcvBuf NOT Set
158-
HPN Buffer Size = grows to HPNBufferSize
159-
The buffer will grow up to the maximum size specified here.
160-
161-
Conditions: HPNBufferSize SET, TCPRcvBufPoll enabled, TCPRcvBuf SET
162-
HPN Buffer Size = minimum of TCPRcvBuf and HPNBufferSize.
163-
Generally there is no need to set both of these, especially on autotuning
164-
systems. However, if the users wishes to override the autotuning this would be
165-
one way to do it.
166-
167-
Conditions: HPNBufferSize NOT Set, TCPRcvBufPoll enabled, TCPRcvBuf SET
168-
HPN Buffer Size = TCPRcvBuf.
169-
This will override autotuning and set the TCP recieve buffer to the user defined
170-
value.
171-
172-
173122
HPN Specific Configuration options
174123

175-
TcpRcvBuf=[int]KB client
176-
Set the TCP socket receive buffer to n Kilobytes. It can be set up to the
177-
maximum socket size allowed by the system. This is useful in situations where
178-
the tcp receive window is set low but the maximum buffer size is set
179-
higher (as is typical). This works on a per TCP connection basis. You can also
180-
use this to artifically limit the transfer rate of the connection. In these
181-
cases the throughput will be no more than n/RTT. The minimum buffer size is 1KB.
182-
Default is the current system wide tcp receive buffer size.
183-
184124
TcpRcvBufPoll=[yes/no] client/server
185125
Enable of disable the polling of the tcp receive buffer through the life
186126
of the connection. You would want to make sure that this option is enabled
@@ -214,21 +154,6 @@ HPNDisabled=[yes/no] client/server
214154
of the HPN code produces a net decrease in performance. In these cases it is
215155
helpful to disable the HPN functionality. By default HPNDisabled is set to no.
216156

217-
HPNBufferSize=[int]KB client/server
218-
This is the default buffer size the HPN functionality uses when interacting
219-
with nonHPN SSH installations. Conceptually this is similar to the TcpRcvBuf
220-
option as applied to the internal SSH flow control. This value can range from
221-
1KB to 64MB (1-65536). Use of oversized or undersized buffers can cause performance
222-
problems depending on the length of the network path. The default size of this buffer
223-
is 2MB.
224-
225-
DisableMTAES=[yes/no] client/server
226-
Switch the encryption cipher being used from the multithreaded MT-AES-CTR cipher
227-
back to the stock single-threaded AES-CTR cipher. Useful on modern processors with
228-
AES-NI instructions which make the stock single-threaded AES-CTR cipher faster than
229-
the multithreaded MT-AES-CTR cipher. Set to no by default.
230-
231-
232157
Credits: This patch was conceived, designed, and led by Chris Rapier ([email protected])
233158
The majority of the actual coding for versions up to HPN12v1 was performed
234159
by Michael Stevens ([email protected]). The MT-AES-CTR cipher was
@@ -240,3 +165,6 @@ Credits: This patch was conceived, designed, and led by Chris Rapier (rapier@psc
240165

241166
Sponsors: Thanks to Niklas Hambuchen for being the first sponsor of HPN-SSH
242167
via github's sponsor program!
168+
169+
170+
Edited: October 11, 2023

hpnssh.1

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -549,7 +549,6 @@ For full details of the options listed below, and their possible values, see
549549
.It Hostname
550550
.It HPNDisabled*
551551
.It HPNBufferLimit*
552-
.It HPNBufferSize*
553552
.It IdentitiesOnly
554553
.It IdentityAgent
555554
.It IdentityFile
@@ -597,7 +596,6 @@ For full details of the options listed below, and their possible values, see
597596
.It StreamLocalBindUnlink
598597
.It StrictHostKeyChecking
599598
.It TCPKeepAlive
600-
.It TcpRcvBuf*
601599
.It TcpRcvBufPoll*
602600
.It Tunnel
603601
.It TunnelDevice

hpnssh_config.5

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1015,14 +1015,6 @@ a more stable connection. The option only impacts the receiving side of the conn
10151015
For example, a client receiving data from a server but not a client sending data.
10161016
By default this option is set to
10171017
.Cm no. HPNSSH only.
1018-
.It Cm HPNBufferSize
1019-
This is the default buffer size, in kilobytes, the HPN functionality uses when interacting
1020-
with nonHPN SSH installations. Conceptually this is similar to the TcpRcvBuf
1021-
option as applied to the internal SSH flow control. This value can range from
1022-
1KB to 64MB (1-65536). Use of oversized or undersized buffers can cause performance
1023-
problems depending on the length of the network path. The default size of this buffer
1024-
is 2MB.
1025-
.Cm HPNSSH only.
10261018
.It Cm IdentitiesOnly
10271019
Specifies that
10281020
.Xr ssh 1
@@ -2046,15 +2038,6 @@ for protocol-level keepalives.
20462038
Specify a configuration tag name that may be later used by a
20472039
.Cm Match
20482040
directive to select a block of configuration.
2049-
.It Cm TcpRcvBuf
2050-
Set the TCP socket receive buffer to n Kilobytes. It can be set up to the
2051-
maximum socket size allowed by the system. This is useful in situations where
2052-
the tcp receive window is set low but the maximum buffer size is set
2053-
higher (as is typical). This works on a per TCP connection basis. You can also
2054-
use this to artifically limit the transfer rate of the connection. In these
2055-
cases the throughput will be no more than n/RTT. The minimum buffer size is 1KB.
2056-
Default is the current system wide tcp receive buffer size.
2057-
.Cm HPNSSH only.
20582041
.It Cm TcpRcvBufPoll
20592042
Enable of disable the polling of the tcp receive buffer through the life
20602043
of the connection. You would want to make sure that this option is enabled

hpnsshd_config.5

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -892,13 +892,6 @@ For example, a client receiving data from a server but not a client sending data
892892
enabled on a server this will impact all incoming connections.
893893
By default this option is set to
894894
.Cm no. HPNSSH only.
895-
.It Cm HPNBufferSize
896-
This is the default buffer size, in kilobytes, that HPN functionality uses when interacting
897-
with nonHPN SSH installations. Conceptually this is similar to the TcpRcvBuf
898-
option as applied to the internal SSH flow control. This value can range from
899-
1KB to 64MB (1-65536). Use of oversized or undersized buffers can cause performance
900-
problems depending on the length of the network path. The default size of this buffer
901-
is 2MB.
902895
.It Cm IgnoreRhosts
903896
Specifies whether to ignore per-user
904897
.Pa .rhosts
@@ -1861,14 +1854,6 @@ This avoids infinitely hanging sessions.
18611854
.Pp
18621855
To disable TCP keepalive messages, the value should be set to
18631856
.Cm no .
1864-
.It Cm TcpRcvBuf
1865-
Set the TCP socket receive buffer to n Kilobytes. It can be set up to the
1866-
maximum socket size allowed by the system. This is useful in situations where
1867-
the tcp receive window is set low but the maximum buffer size is set
1868-
higher (as is typical). This works on a per TCP connection basis. You can also
1869-
use this to artifically limit the transfer rate of the connection. In these
1870-
cases the throughput will be no more than n/RTT KB/s. The minimum buffer size is 1KB.
1871-
Default is the current system wide tcp receive buffer size.
18721857
.IT Cm TcpRcvBufPoll
18731858
Enable of disable the polling of the tcp receive buffer throughout the life
18741859
of the connection. Make sure that this option is enabled for systems making

sshd_config

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,9 +115,6 @@ Subsystem sftp /usr/libexec/hpnsftp-server
115115
# disable hpn performance boosts
116116
#HPNDisabled no
117117

118-
# buffer size for hpn to non-hpn connections
119-
#HPNBufferSize 2048
120-
121118
# allow the use of the none cipher
122119
#NoneEnabled no
123120

0 commit comments

Comments
 (0)