[Vm-dev] [DEV] Systemd socket activation patch for the VM

David T. Lewis lewis at mail.msen.com
Fri Jul 11 03:30:39 UTC 2014


On Thu, Jul 10, 2014 at 08:01:30PM -0700, Eliot Miranda wrote:
>  
> On Thu, Jul 10, 2014 at 6:21 PM, David T. Lewis <lewis at mail.msen.com> wrote:
> 
> >
> > On Thu, Jul 10, 2014 at 03:31:37PM +0200, Bert Freudenberg wrote:
> > >
> > >
> > > On 10.07.2014, at 01:54, Eliot Miranda <eliot.miranda at gmail.com> wrote:
> > >
> > > > Hi Max,
> > > >
> > > >     I've integrated, but there's a conflict with the Cog sources
> > because there's already support for RAW sockets in the Qwaq/Terf VM.  That
> > means socket type 2 is already taken.  So I've integrated like this:
> > > >
> > > > #define TCPSocketType       0
> > > > #define UDPSocketType       1
> > > > #ifdef HAVE_SD_DAEMON
> > > > # define ProvidedTCPSocketType  2
> > > > # define RAWSocketType      3
> > > > #else
> > > > # define RAWSocketType      2
> > > > #endif
> > > >
> > > > But I would prefer to integrate this:
> > > >
> > > > #define TCPSocketType       0
> > > > #define UDPSocketType       1
> > > > # define RAWSocketType      2
> > > > #define ProvidedTCPSocketType  3
> > > >
> > > > Is it too late for you to change the Smalltalk code so that
> > ProvidedTCPSocketType is 3?
> > >
> > > Speaking of which, would it make sense to reserve more socket types?
> > >
> > > According to
> > http://www.freedesktop.org/software/systemd/man/systemd.socket.html there
> > are TCP stream (SOCK_STREAM), UDP datagram (SOCK_DGRAM), and sequential
> > packet (SOCK_SEQPACKET) sockets.
> > >
> > > - Bert -
> > >
> >
> > There is quite a range of protocol families and socket types, so I'm not
> > sure
> > it is worth worrying about it too much right now. But I suppose we could
> > adopt
> > some sort of convention like this:
> >
> >
> > #define TCPSocketType                      0    /* SOCK_STREAM on AF_INET
> > or AF_INET6 */
> > #define UDPSocketTyp                       1    /* SOCK_DGRAM on AF_INET
> > or AF_INET6 */
> > #define RAWSocketType                      2    /* SOCK_RAW on AF_INET or
> > AF_INET6 */
> > #define SeqPacketSocketType                3    /* SOCK_SEQPACKET on
> > AF_INET or AF_INET6 */
> > #define ReliableDGramSocketType            4    /* SOCK_RDM on AF_INET or
> > AF_INET6 */
> >
> > #define ReuseExistingSocket                256
> >
> > #define ProvidedTCPSocketType              TCPSocketType +
> > ReuseExistingSocket
> > #define ProvidedUDPSocketType              UDPSocketType +
> > ReuseExistingSocket
> > #define ProvidedRAWSocketType              RAWSocketType +
> > ReuseExistingSocket
> > #define ProvidedSeqPacketSocketType        SeqPacketSocketType +
> > ReuseExistingSocket
> > #define ProvidedReliableDGramSocketType    ReliableDGramSocketType +
> > ReuseExistingSocket
> >
> 
> +1.  But let's use
> 
> #define ReuseExistingSocket                65536
> 
> ok?

+1

Plenty of room for protocol proliferation ;-)

Dave



More information about the Vm-dev mailing list