From: David Carlier <devnexen@gmail.com>
To: mptcp@lists.linux.dev
Cc: Matthieu Baerts <matttbe@kernel.org>,
Mat Martineau <martineau@kernel.org>,
Geliang Tang <geliang@kernel.org>,
David Carlier <devnexen@gmail.com>
Subject: [PATCH mptcp-next v3 0/3] mptcp: MSG_ERRQUEUE support on the parent socket
Date: Tue, 21 Apr 2026 23:33:35 +0100 [thread overview]
Message-ID: <20260421223338.52743-1-devnexen@gmail.com> (raw)
MPTCP already advertises IP_RECVERR/IPV6_RECVERR as supported, but the
parent socket does not currently provide usable MSG_ERRQUEUE handling.
This series wires the MPTCP socket up to the IPv4/IPv6 error queue
paths. It propagates RECVERR-related sockopts to existing and future
subflows, makes poll() report pending errqueue activity through the
parent socket, and allows recvmsg(MSG_ERRQUEUE) on the MPTCP socket to
consume queued errors with the parent socket ABI.
The series also handles mixed-family subflows by applying the matching
sockopt according to each subflow family, and avoids silently losing an
error skb if requeueing to the parent socket fails under rmem pressure.
v2 -> v3:
- Only consume ssk->sk_err in the fallback / MPC-connect branch of
__mptcp_subflow_error_report(). Steady-state MPTCP now leaves
TCP's one-shot sk_err to TCP's own consumer instead of silently
draining it via sock_error().
- In mptcp_recv_error(), also route to inet_recv_error() when
sk->sk_err is set, so a fallback-propagated error reaches userspace
even when the parent errqueue is empty.
- Scope the new selftest to IP_RECVERR sockopt propagation only.
End-to-end errqueue delivery (TX timestamps, ICMP, zerocopy)
depends on subflow-side producers that are out of scope for this
series and will be covered by follow-up work. Fixes the
mptcp_sockopt selftest timeout reported by the MPTCP CI on v2.
v1 -> v2:
- Retargeted to mptcp-next per Matthieu Baerts' feedback (net-next
closed during the merge window; iterate on the MPTCP tree).
- Guard mptcp_setsockopt_v6_recverr() and its dispatch cases in
mptcp_setsockopt_v6() with #if IS_ENABLED(CONFIG_IPV6) to fix
the MPTCP CI link break on without_ipv6/with_mptcp configs
(undefined reference to ipv6_setsockopt).
v1: https://lore.kernel.org/mptcp/20260421152216.38127-1-devnexen@gmail.com/
v2: https://lore.kernel.org/mptcp/20260421191337.58341-1-devnexen@gmail.com/
David Carlier (3):
mptcp: propagate RECVERR sockopts to subflows
mptcp: support MSG_ERRQUEUE on the parent socket
selftests: mptcp: cover IP_RECVERR sockopt propagation
net/mptcp/protocol.c | 123 ++++++++++++++---
net/mptcp/sockopt.c | 129 ++++++++++++++++++
.../selftests/net/mptcp/mptcp_sockopt.c | 55 ++++++++
3 files changed, 287 insertions(+), 20 deletions(-)
base-commit: 4464afe97dc56e817a23b730979cbc6fc48f1912
--
2.53.0
next reply other threads:[~2026-04-21 22:33 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-21 22:33 David Carlier [this message]
2026-04-21 22:33 ` [PATCH mptcp-next v3 1/3] mptcp: propagate RECVERR sockopts to subflows David Carlier
2026-04-22 8:05 ` Paolo Abeni
2026-04-22 8:32 ` Matthieu Baerts
2026-04-22 8:35 ` Matthieu Baerts
2026-04-22 8:36 ` Matthieu Baerts
2026-04-22 8:48 ` Paolo Abeni
2026-04-22 8:50 ` Matthieu Baerts
2026-04-22 13:53 ` Paolo Abeni
2026-04-22 21:51 ` David CARLIER
2026-04-27 17:07 ` Matthieu Baerts
2026-04-21 22:33 ` [PATCH mptcp-next v3 2/3] mptcp: support MSG_ERRQUEUE on the parent socket David Carlier
2026-04-22 8:28 ` Paolo Abeni
2026-04-22 21:54 ` David CARLIER
2026-04-21 22:33 ` [PATCH mptcp-next v3 3/3] selftests: mptcp: cover IP_RECVERR sockopt propagation David Carlier
2026-04-21 23:38 ` [PATCH mptcp-next v3 0/3] mptcp: MSG_ERRQUEUE support on the parent socket MPTCP CI
2026-04-22 8:22 ` Matthieu Baerts
2026-04-22 8:56 ` David CARLIER
2026-04-27 21:10 ` [PATCH mptcp-next v4 0/4] " David Carlier
2026-04-27 21:10 ` [PATCH mptcp-next v4 1/4] mptcp: sockopt: factor inet_flags propagation into a mask David Carlier
2026-04-27 21:10 ` [PATCH mptcp-next v4 2/4] mptcp: propagate RECVERR sockopts to subflows David Carlier
2026-05-01 15:56 ` Matthieu Baerts
2026-04-27 21:10 ` [PATCH mptcp-next v4 3/4] mptcp: support MSG_ERRQUEUE on the parent socket David Carlier
2026-04-27 21:10 ` [PATCH mptcp-next v4 4/4] selftests: mptcp: cover IP_RECVERR sockopt propagation David Carlier
2026-04-28 18:48 ` [PATCH mptcp-next v4 0/4] mptcp: MSG_ERRQUEUE support on the parent socket Matthieu Baerts
2026-04-28 18:56 ` Matthieu Baerts
2026-04-28 19:15 ` David CARLIER
2026-05-01 14:49 ` Matthieu Baerts
2026-05-01 15:28 ` David CARLIER
2026-05-01 15:56 ` Matthieu Baerts
2026-04-28 19:48 ` MPTCP CI
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260421223338.52743-1-devnexen@gmail.com \
--to=devnexen@gmail.com \
--cc=geliang@kernel.org \
--cc=martineau@kernel.org \
--cc=matttbe@kernel.org \
--cc=mptcp@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.