From: Arnaldo Carvalho de Melo <acme@redhat.com>
To: dccp@vger.kernel.org
Subject: Re: [RFC] [DCCP]: Deprecate SOCK_DCCP in favour of SOCK_DGRAM
Date: Tue, 13 May 2008 17:33:26 +0000 [thread overview]
Message-ID: <20080513173326.GG15306@ghostprotocols.net> (raw)
In-Reply-To: <20080513072853.GB4514@gerrit.erg.abdn.ac.uk>
Em Tue, May 13, 2008 at 09:59:35AM -0700, David Stevens escreveu:
> Arnaldo Carvalho de Melo <acme@redhat.com> wrote on 05/13/2008 09:23:25
> AM:
>
> > Em Tue, May 13, 2008 at 08:50:59AM -0700, David Stevens escreveu:
> > > Are they mutually exclusive?
> > >
> > > Why not add SOCK_DGRAM/IPPROTO_DCCP support while leaving
> >
> > Because DCCP is not SOCK_DGRAM at all? :)
>
> Well, SOCK_STREAM/IPPROTO_DCCP then. :-) But it isn't really that
> either, as Remi said.
> If you do a connect() on a UDP socket, it doesn't cease to
> be a SOCK_DGRAM socket, so I don't really care about that distinction,
> but if others do, that's ok with me. There are ACKs here, too, so maybe.
A "connection" on a UDP socket is not performed as a reliable handshake,
its just simple "hey kernel, everytime I do a write please send to this
default destination, would you do it for me?", whereas a connection on a
DCCP socket is much like the same as a TCP connection. In Linux they
share most of the connection establishment, minisocks, timewait sockets
infrastructure even.
So for connection purposes, DCCP is SOCK_STREAM, but when data is to be
transmitted it really is a SOCK_DGRAM, i.e. it is neither :)
> My point was really that, though not as pretty, the world won't
> end if there are two ways to get to the same kind of socket, and
> especially if adding a new one makes getaddrinfo() easier to deal with.
> If the best way isn't the existing way, we could add it, and keep the
> old way for backward compatibility only.
> A "0" protocol had better continue to be TCP and UDP, and
> specifying IPPROTO_DCCP makes it clear what the user wants, regardless
As it makes specifying a SOCK_DCCP on a patched glibc :) If someone
comes with a better name than SOCK_DCCP and keep the value already
allocated, the better, SOCK_DCCP looks too much specific to one
protocol, but it is just that there is only one specification for a
reliable connection + unreliable data transfer protocol (that I know
of).
> of the type. So "just working" (even with any of SOCK_DGRAM, SOCK_STREAM,
> and SOCK_DCCP) seems perfectly reasonable to me. My $.02.
> A wrapper sound ok to me too.
I think that the wrapper for older libcs + patching libc to know about
this new kind of socket is the way to go.
- Arnaldo
WARNING: multiple messages have this Message-ID (diff)
From: Arnaldo Carvalho de Melo <acme@redhat.com>
To: David Stevens <dlstevens@us.ibm.com>
Cc: David Miller <davem@davemloft.net>,
dccp@vger.kernel.org, Gerrit Renker <gerrit@erg.abdn.ac.uk>,
netdev@vger.kernel.org
Subject: Re: [RFC] [DCCP]: Deprecate SOCK_DCCP in favour of SOCK_DGRAM
Date: Tue, 13 May 2008 14:33:26 -0300 [thread overview]
Message-ID: <20080513173326.GG15306@ghostprotocols.net> (raw)
In-Reply-To: <OF8AA2B2D0.51E14DBC-ON88257448.005BC2A0-88257448.005D57D0@us.ibm.com>
Em Tue, May 13, 2008 at 09:59:35AM -0700, David Stevens escreveu:
> Arnaldo Carvalho de Melo <acme@redhat.com> wrote on 05/13/2008 09:23:25
> AM:
>
> > Em Tue, May 13, 2008 at 08:50:59AM -0700, David Stevens escreveu:
> > > Are they mutually exclusive?
> > >
> > > Why not add SOCK_DGRAM/IPPROTO_DCCP support while leaving
> >
> > Because DCCP is not SOCK_DGRAM at all? :)
>
> Well, SOCK_STREAM/IPPROTO_DCCP then. :-) But it isn't really that
> either, as Remi said.
> If you do a connect() on a UDP socket, it doesn't cease to
> be a SOCK_DGRAM socket, so I don't really care about that distinction,
> but if others do, that's ok with me. There are ACKs here, too, so maybe.
A "connection" on a UDP socket is not performed as a reliable handshake,
its just simple "hey kernel, everytime I do a write please send to this
default destination, would you do it for me?", whereas a connection on a
DCCP socket is much like the same as a TCP connection. In Linux they
share most of the connection establishment, minisocks, timewait sockets
infrastructure even.
So for connection purposes, DCCP is SOCK_STREAM, but when data is to be
transmitted it really is a SOCK_DGRAM, i.e. it is neither :)
> My point was really that, though not as pretty, the world won't
> end if there are two ways to get to the same kind of socket, and
> especially if adding a new one makes getaddrinfo() easier to deal with.
> If the best way isn't the existing way, we could add it, and keep the
> old way for backward compatibility only.
> A "0" protocol had better continue to be TCP and UDP, and
> specifying IPPROTO_DCCP makes it clear what the user wants, regardless
As it makes specifying a SOCK_DCCP on a patched glibc :) If someone
comes with a better name than SOCK_DCCP and keep the value already
allocated, the better, SOCK_DCCP looks too much specific to one
protocol, but it is just that there is only one specification for a
reliable connection + unreliable data transfer protocol (that I know
of).
> of the type. So "just working" (even with any of SOCK_DGRAM, SOCK_STREAM,
> and SOCK_DCCP) seems perfectly reasonable to me. My $.02.
> A wrapper sound ok to me too.
I think that the wrapper for older libcs + patching libc to know about
this new kind of socket is the way to go.
- Arnaldo
next prev parent reply other threads:[~2008-05-13 17:33 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-13 7:28 [RFC] [DCCP]: Deprecate SOCK_DCCP in favour of SOCK_DGRAM Gerrit Renker
2008-05-13 7:28 ` Gerrit Renker
2008-05-13 7:39 ` David Miller
2008-05-13 7:39 ` David Miller
2008-05-13 9:37 ` Gerrit Renker
2008-05-13 9:37 ` Gerrit Renker
2008-05-13 13:46 ` Gerrit Renker
2008-05-13 13:46 ` Gerrit Renker
2008-05-13 15:50 ` David Stevens
2008-05-13 15:50 ` David Stevens
2008-05-13 16:23 ` Arnaldo Carvalho de Melo
2008-05-13 16:23 ` Arnaldo Carvalho de Melo
2008-05-13 16:59 ` David Stevens
2008-05-13 16:59 ` David Stevens
2008-05-13 17:03 ` Gerrit Renker
2008-05-13 17:03 ` Gerrit Renker
2008-05-13 17:06 ` Rémi Denis-Courmont
2008-05-13 17:06 ` Rémi Denis-Courmont
2008-05-13 17:33 ` Arnaldo Carvalho de Melo [this message]
2008-05-13 17:33 ` Arnaldo Carvalho de Melo
2008-05-13 17:34 ` Arnaldo Carvalho de Melo
2008-05-13 17:34 ` Arnaldo Carvalho de Melo
2008-05-13 17:37 ` Rémi Denis-Courmont
2008-05-13 17:37 ` Rémi Denis-Courmont
2008-05-13 17:50 ` Arnaldo Carvalho de Melo
2008-05-13 17:50 ` Arnaldo Carvalho de Melo
2008-05-13 17:53 ` Arnaldo Carvalho de Melo
2008-05-13 17:53 ` Arnaldo Carvalho de Melo
2008-05-13 19:14 ` Ulrich Drepper
2008-05-13 19:14 ` Ulrich Drepper
2008-05-13 22:34 ` David Miller
2008-05-13 22:34 ` David Miller
2008-05-14 8:09 ` Gerrit Renker
2008-05-14 8:09 ` Gerrit Renker
2008-05-14 14:06 ` Ulrich Drepper
2008-05-14 14:06 ` Ulrich Drepper
2008-05-14 14:45 ` Gerrit Renker
2008-05-14 14:45 ` Gerrit Renker
2008-05-14 16:06 ` Ulrich Drepper
2008-05-14 16:06 ` Ulrich Drepper
2008-05-14 17:22 ` Gerrit Renker
2008-05-14 17:22 ` Gerrit Renker
2008-05-14 17:39 ` Sridhar Samudrala
2008-05-14 17:39 ` Sridhar Samudrala
2008-05-14 17:43 ` Ulrich Drepper
2008-05-14 17:43 ` Ulrich Drepper
2008-05-14 17:47 ` Rémi Denis-Courmont
2008-05-14 17:47 ` Rémi Denis-Courmont
2008-05-14 17:49 ` Rémi Denis-Courmont
2008-05-14 17:49 ` Rémi Denis-Courmont
2008-05-14 17:57 ` Ulrich Drepper
2008-05-14 17:57 ` Ulrich Drepper
2008-05-14 18:00 ` Gerrit Renker
2008-05-14 18:00 ` Gerrit Renker
2008-05-14 18:06 ` Ulrich Drepper
2008-05-14 18:06 ` Ulrich Drepper
2008-05-14 18:07 ` Ulrich Drepper
2008-05-14 18:07 ` Ulrich Drepper
-- strict thread matches above, loose matches on Subject: below --
2008-05-13 12:53 [RFC] [DCCP]: Deprecate SOCK_DCCP in favour of SO Remi Denis-Courmont
2008-05-13 12:53 ` [RFC] [DCCP]: Deprecate SOCK_DCCP in favour of SOCK_DGRAM Remi Denis-Courmont
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080513173326.GG15306@ghostprotocols.net \
--to=acme@redhat.com \
--cc=dccp@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.