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