Re: SO_REUSEPORT and Unix domain sockets
From: Tobias Oberstein
Date: Sun Sep 21 2014 - 09:50:53 EST
Am 20.09.2014 03:44, schrieb Eduardo Silva:
How can this be used for sockets of type AF_UNIX?
I can only get it working with TCP sockets, not Unix domain sockets.
When using TCP, the incoming clients will get nicely balanced to all
processes listening. With Unix domain sockets, the incoming clients all get
connected only to the last started process.
The test code (Python) I was trying is here:
http://stackoverflow.com/questions/23742368/can-so-reuseport-be-used-on-unix-domain-sockets
Any hints appreciated,
/Tobias
Looking at the original patch looks like the implementation is only
done for TCP and UDP:
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c617f398edd4db2b8567a28e899a88f8f574798d
Ok, I see. Unfortunate.
UNIX domain sockets use the file system as the address name space, so
SO_REUSEPORT would not be applicable.
Yes, in case of Unix domain sockets, it's about "reusing paths", not ports.
Such an option for in-kernel load-balancing of Unix domain sockets would
be useful ..
/Tobias
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/