Skip to content

Commit b9cd26f

Browse files
Paolo Abenikuba-moo
authored andcommitted
mptcp: push at DSS boundaries
when inserting not contiguous data in the subflow write queue, the protocol creates a new skb and prevent the TCP stack from merging it later with already queued skbs by setting the EOR marker. Still no push flag is explicitly set at the end of previous GSO packet, making the aggregation on the receiver side sub-optimal - and packetdrill self-tests less predictable. Explicitly mark the end of not contiguous DSS with the push flag. Fixes: 6d0060f ("mptcp: Write MPTCP DSS headers to outgoing data packets") Cc: [email protected] Signed-off-by: Paolo Abeni <[email protected]> Reviewed-by: Mat Martineau <[email protected]> Signed-off-by: Matthieu Baerts (NGI0) <[email protected]> Link: https://lore.kernel.org/r/20240223-upstream-net-20240223-misc-fixes-v1-4-162e87e48497@kernel.org Signed-off-by: Jakub Kicinski <[email protected]>
1 parent 5b49c41 commit b9cd26f

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

net/mptcp/protocol.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1260,6 +1260,7 @@ static int mptcp_sendmsg_frag(struct sock *sk, struct sock *ssk,
12601260
mpext = mptcp_get_ext(skb);
12611261
if (!mptcp_skb_can_collapse_to(data_seq, skb, mpext)) {
12621262
TCP_SKB_CB(skb)->eor = 1;
1263+
tcp_mark_push(tcp_sk(ssk), skb);
12631264
goto alloc_skb;
12641265
}
12651266

0 commit comments

Comments
 (0)