From: Xin Long <lucien.xin@gmail.com> Date: 2021-06-24 15:48:14
As David Laight noticed, it currently takes quite some time to find
the optimal pmtu in the Search state, and also lacks the black hole
detection in the Search Complete state. This patchset is to address
them to mke the PLPMTUD probe more effective and efficient.
Xin Long (2):
sctp: do black hole detection in search complete state
sctp: send the next probe immediately once the last one is acked
Documentation/networking/ip-sysctl.rst | 12 ++++++++----
include/net/sctp/structs.h | 3 ++-
net/sctp/sm_statefuns.c | 5 ++++-
net/sctp/transport.c | 11 ++++-------
4 files changed, 18 insertions(+), 13 deletions(-)
--
2.27.0
From: Xin Long <lucien.xin@gmail.com> Date: 2021-06-24 15:48:16
Currently the PLPMUTD probe will stop for a long period (interval * 30)
after it enters search complete state. If there's a pmtu change on the
route path, it takes a long time to be aware if the ICMP TooBig packet
is lost or filtered.
As it says in rfc8899#section-4.3:
"A DPLPMTUD method MUST NOT rely solely on this method."
(ICMP PTB message).
This patch is to enable the other method for search complete state:
"A PL can use the DPLPMTUD probing mechanism to periodically
generate probe packets of the size of the current PLPMTU."
With this patch, the probe will continue with the current pmtu every
'interval' until the PMTU_RAISE_TIMER 'timeout', which we implement
by adding raise_count to raise the probe size when it counts to 30
and removing the SCTP_PL_COMPLETE check for PMTU_RAISE_TIMER.
Signed-off-by: Xin Long <lucien.xin@gmail.com>
---
include/net/sctp/structs.h | 3 ++-
net/sctp/transport.c | 11 ++++-------
2 files changed, 6 insertions(+), 8 deletions(-)
From: Xin Long <lucien.xin@gmail.com> Date: 2021-06-24 15:48:18
These is no need to wait for 'interval' period for the next probe
if the last probe is already acked in search state. The 'interval'
period waiting should be only for probe failure timeout and the
current pmtu check when it's in search complete state.
This change will shorten the probe time a lot in search state, and
also fix the document accordingly.
Signed-off-by: Xin Long <lucien.xin@gmail.com>
---
Documentation/networking/ip-sysctl.rst | 12 ++++++++----
net/sctp/sm_statefuns.c | 5 ++++-
2 files changed, 12 insertions(+), 5 deletions(-)
@@ -2835,10 +2835,14 @@ encap_port - INTEGER Default: 0 plpmtud_probe_interval - INTEGER- The time interval (in milliseconds) for sending PLPMTUD probe chunks.- These chunks are sent at the specified interval with a variable size- to probe the mtu of a given path between 2 endpoints. PLPMTUD will- be disabled when 0 is set, and other values for it must be >= 5000.+ The time interval (in milliseconds) for the PLPMTUD probe timer,+ which is configured to expire after this period to receive an+ acknowledgment to a probe packet. This is also the time interval+ between the probes for the current pmtu when the probe search+ is done.++ PLPMTUD will be disabled when 0 is set, and other values for it+ must be >= 5000. Default: 0