public inbox for passt-dev@passt.top
 help / color / mirror / code / Atom feed
* [PATCH 0/3] More graceful handling of kernels without SO_BINDTODEVICE
@ 2025-11-28  5:33 David Gibson
  2025-11-28  5:33 ` [PATCH 1/3] util: Correct error message on SO_BINDTODEVICE failure David Gibson
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: David Gibson @ 2025-11-28  5:33 UTC (permalink / raw)
  To: Stefano Brivio, passt-dev; +Cc: David Gibson

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


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

end of thread, other threads:[~2025-11-28  5:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-11-28  5:33 [PATCH 0/3] More graceful handling of kernels without SO_BINDTODEVICE David Gibson
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

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).