> SCTP supports both SOCK_DGRAM, SOCK_STREAM as well as SOCK_SEQPACKET.
SOCK_STREAM sounds odd since SCTP doesn't provide a byte stream service - it provides a service that has explicit message boundaries. > DCCP should be SOCK_DGRAM only, if i understand correctly. Also odd; you mean socket(AF_INET, SOCK_DGRAM, 0) might provide a DCCP socket on systems that support DCCP? Or IPPROTO_DCCP would need to be explicitly specified? But ignoring the above oddities: > therefore, there's no 1-by-1 mapping from SOCK_xx to IPPROTO_xx. > to clarify, i agree there should be some way to support non-inet > protocols, however i'm not sure how service lookup works for non-inet > protocols. do people have any examples (such as appletalk or whatever)? I think that is what we need to figure out. Problem is that the socket() call takes both a type and a protocol argument and getnameinfo() has a single NI_DGRAM which implementations map to the single protocol argument in getservbyport(). But this reminds me; doesn't SCTP use the same port number space as TCP? Will DCCP use the same port number space as either TCP or UDP? The getnameinfo() man page seems to claim that NI_DGRAM is only needed because there are a few ports which are used for different protocols in UDP and TCP: A fifth flag bit, NI_DGRAM, specifies that the service is a datagram service, and causes getservbyport(3SOCKET) to be called with a second argument of "udp" instead of the default "tcp". This is required for the few ports (for example, 512-514) that have different services for UDP and TCP. If this isn't going to be an issue for SCTP or DCCP maybe we don't need to change anything. Erik -------------------------------------------------------------------- IETF IPv6 working group mailing list [EMAIL PROTECTED] Administrative Requests: https://www1.ietf.org/mailman/listinfo/ipv6 --------------------------------------------------------------------