[Samba] Problem with SO_REUSEPORT in samba v4.16 No problem in v4.14

Berto Furth bertofurth at sent.com
Thu Aug 18 01:34:52 UTC 2022


Hi Samba folks,

I have having a problem running samba v4.16.4 on my very old Linux system running kernel v2.6.35. I had no problems with version samba v4.14.6. I am getting the following error messages in my logs 

../../source3/lib/util_sock.c:294(open_socket_in)  open_socket_in: setsockopt(SO_REUSEPORT) failed: Protocol not available
../../source3/smbd/server.c:1097(smbd_open_one_socket)  smbd_open_one_socket: open_socket_in failed: Protocol not available
../../source3/smbd/server.c:1264(open_sockets_smbd)  open_sockets_smbd: No sockets available to bind to.
INTERNAL ERROR: open_sockets_smbd() failed in pid 12523 (4.16.3)


The issue appears to be that in earlier versions of smbd, if the SO_REUSEPORT socket option could not be set then a debug message was printed but the code would continue on. My system runs Linux v2.6.35 which does not support SO_REUSEPORT (introduced in Linux v3.3)

I believe the behavior was changed in the following commit 

lib: Properly return errno from open_socket_in()" (Commit : 72540222c2290dc041fb01018de7febe44a4ac0d )
https://git.samba.org/?p=samba.git;a=commitdiff;h=72540222c2290dc041fb01018de7febe44a4ac0d

After this commit if setting SO_REUSEPORT fails then the socket would not be setup.

If I were to raise a bug asking for the old behavior back do you think it would be fixed?

Thanks so much,

Berto.



More information about the samba mailing list