All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH mptcp-next] Squash-to: mptcp: Retransmit DATA_FIN (again)
@ 2021-04-23  1:11 Mat Martineau
  2021-04-23 15:02 ` Paolo Abeni
  2021-04-23 15:27 ` Matthieu Baerts
  0 siblings, 2 replies; 3+ messages in thread
From: Mat Martineau @ 2021-04-23  1:11 UTC (permalink / raw)
  To: mptcp; +Cc: Mat Martineau, pabeni, matthieu.baerts

Previous testing happened to involve cases where data had been sent and
the retrans timer was already running. Packetdrill testing revealed that
the timer was not being started in cases where no data had been
transmitted, so __mptcp_retrans() was never called. This change starts
the timer when the original DATA_FIN is sent, if the timer is not
already running.

Packetdrill PR is forthcoming.

Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
---
 net/mptcp/protocol.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c
index 6cbddfc18158..aec8e77b18e4 100644
--- a/net/mptcp/protocol.c
+++ b/net/mptcp/protocol.c
@@ -2497,6 +2497,8 @@ void mptcp_subflow_shutdown(struct sock *sk, struct sock *ssk, int how)
 			pr_debug("Sending DATA_FIN on subflow %p", ssk);
 			mptcp_set_timeout(sk, ssk);
 			tcp_send_ack(ssk);
+			if (!mptcp_timer_pending(sk))
+				mptcp_reset_timer(sk);
 		}
 		break;
 	}
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH mptcp-next] Squash-to: mptcp: Retransmit DATA_FIN (again)
  2021-04-23  1:11 [PATCH mptcp-next] Squash-to: mptcp: Retransmit DATA_FIN (again) Mat Martineau
@ 2021-04-23 15:02 ` Paolo Abeni
  2021-04-23 15:27 ` Matthieu Baerts
  1 sibling, 0 replies; 3+ messages in thread
From: Paolo Abeni @ 2021-04-23 15:02 UTC (permalink / raw)
  To: Mat Martineau, mptcp; +Cc: matthieu.baerts

On Thu, 2021-04-22 at 18:11 -0700, Mat Martineau wrote:
> Previous testing happened to involve cases where data had been sent and
> the retrans timer was already running. Packetdrill testing revealed that
> the timer was not being started in cases where no data had been
> transmitted, so __mptcp_retrans() was never called. This change starts
> the timer when the original DATA_FIN is sent, if the timer is not
> already running.
> 
> Packetdrill PR is forthcoming.
> 
> Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
> ---
>  net/mptcp/protocol.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c
> index 6cbddfc18158..aec8e77b18e4 100644
> --- a/net/mptcp/protocol.c
> +++ b/net/mptcp/protocol.c
> @@ -2497,6 +2497,8 @@ void mptcp_subflow_shutdown(struct sock *sk, struct sock *ssk, int how)
>  			pr_debug("Sending DATA_FIN on subflow %p", ssk);
>  			mptcp_set_timeout(sk, ssk);
>  			tcp_send_ack(ssk);
> +			if (!mptcp_timer_pending(sk))
> +				mptcp_reset_timer(sk);
>  		}
>  		break;
>  	}

LGTM, thanks!

Acked-by: Paolo Abeni <pabeni@redhat.com>


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH mptcp-next] Squash-to: mptcp: Retransmit DATA_FIN (again)
  2021-04-23  1:11 [PATCH mptcp-next] Squash-to: mptcp: Retransmit DATA_FIN (again) Mat Martineau
  2021-04-23 15:02 ` Paolo Abeni
@ 2021-04-23 15:27 ` Matthieu Baerts
  1 sibling, 0 replies; 3+ messages in thread
From: Matthieu Baerts @ 2021-04-23 15:27 UTC (permalink / raw)
  To: Mat Martineau, pabeni; +Cc: mptcp

Hi Mat, Paolo,

On 23/04/2021 03:11, Mat Martineau wrote:
> Previous testing happened to involve cases where data had been sent and
> the retrans timer was already running. Packetdrill testing revealed that
> the timer was not being started in cases where no data had been
> transmitted, so __mptcp_retrans() was never called. This change starts
> the timer when the original DATA_FIN is sent, if the timer is not
> already running.
> 
> Packetdrill PR is forthcoming.
> 
> Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>

Thank you for the patch and the review!

- 820118888287: "squashed" in "mptcp: Retransmit DATA_FIN"
- Results: 9fb030889e08..0f7c6f5b4a89

Builds and tests are now in progress:

https://cirrus-ci.com/github/multipath-tcp/mptcp_net-next/export/20210423T152727
https://github.com/multipath-tcp/mptcp_net-next/actions/workflows/build-validation.yml?query=branch:export/20210423T152727

Cheers,
Matt
-- 
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-04-23 15:27 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-23  1:11 [PATCH mptcp-next] Squash-to: mptcp: Retransmit DATA_FIN (again) Mat Martineau
2021-04-23 15:02 ` Paolo Abeni
2021-04-23 15:27 ` Matthieu Baerts

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.