The s6-ipcserverd docs specifically state that it expects a bound and listening SOCK_STREAM socket, and this led me to the `ipc_accept()` call that the program makes. Out of curiosity, is there another s6-family program that handles SOCK_DGRAM sockets? Otherwise, I'll look in to socklog as Laurent suggested.
There is not, because the UCSPI model - the one that s6-ipcserver implements - is about handling data *streams*, and forking a child to handle each separate client (as the venerable inetd does). There are workarounds and hacks to handle datagram sequences with a similar architecture, but it's never perfect: clients have to connect (which an additional restriction), you lose natural message boundaries, and you don't have an explicit EOF so the child needs to die on a timeout - which makes the thing awkward and actually *adds* complexity, when the whole point of UCSPI is to make every component as simple as possible. When you need to listen to a /dev/log datagram socket, socklog is definitely the simplest, and correct, approach. -- Laurent