From: David Gibson <david@gibson.dropbear.id.au>
To: Stefano Brivio <sbrivio@redhat.com>, passt-dev@passt.top
Cc: David Gibson <david@gibson.dropbear.id.au>
Subject: [PATCH 0/3] More graceful handling of kernels without SO_BINDTODEVICE
Date: Fri, 28 Nov 2025 16:33:55 +1100 [thread overview]
Message-ID: <20251128053358.1576513-1-david@gibson.dropbear.id.au> (raw)
Kernels before v5.7 don't allow unprivileged processes to use the
SO_BINDTODEVICE socket option, which is how we implement per-device
listening (e.g. "-t ""%eth0/80"). Currently we detect this error
quite late, and don't produce a particularly helpful error message.
Improve error messages in this case by explicitly probing for support
of the option early.
More importantly this will allow me to implement fallback handling for
older kernels in upcoming socket binding cleanups.
Note: this series applies directly on the current main branch, I'm
going to rebase my socket binding series on top of this, instead of
the other way around.
David Gibson (3):
util: Correct error message on SO_BINDTODEVICE failure
util: Extend sock_probe_mem() to sock_probe_features()
conf: More useful errors for kernels without SO_BINDTODEVICE
conf.c | 6 ++++++
passt.c | 2 +-
passt.h | 1 +
util.c | 26 +++++++++++++++++++++-----
util.h | 2 +-
5 files changed, 30 insertions(+), 7 deletions(-)
--
2.51.1
next reply other threads:[~2025-11-28 5:34 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-28 5:33 David Gibson [this message]
2025-11-28 5:33 ` [PATCH 1/3] util: Correct error message on SO_BINDTODEVICE failure David Gibson
2025-11-28 5:33 ` [PATCH 2/3] util: Extend sock_probe_mem() to sock_probe_features() David Gibson
2025-11-28 5:33 ` [PATCH 3/3] conf: More useful errors for kernels without SO_BINDTODEVICE David Gibson
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=20251128053358.1576513-1-david@gibson.dropbear.id.au \
--to=david@gibson.dropbear.id.au \
--cc=passt-dev@passt.top \
--cc=sbrivio@redhat.com \
/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.
Code repositories for project(s) associated with this public inbox
https://passt.top/passt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for IMAP folder(s).