Re: [BUG?] ipv6.7: SOCK_DGRAM can accept different protocols?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Sep 17, 2021 at 8:13 AM Alejandro Colomar
<colomar.6.4.3@xxxxxxxxx> wrote:
>
> Hi,
>
> Reading a stackoverflow question
> <https://stackoverflow.com/questions/51996808/do-we-need-to-specify-protocol-when-type-is-sock-dgram-or-sock-stream-in-soc>
> it noted that, while ip(7) notes that protocol can be left as 0 for both
> SOCK_STREAM and SOCK_DGRAM, ipv6(7) is misleading and seems to suggest
> that protocol may be significant for SOCK_DGRAM (at least in the SYNOPSIS).

It can be left as 0, but, I think, IPPROTO_UDPLITE (at least) can be
specified in both cases, if the caller wishes so (as well as
IPPROTO_MPTCP/IPPROTO_SCTP for SOCK_STREAM, and some other, more
obscure protocols, like DCCP or L2TP).

> I guess that's not true, and it can be left as 0, but since I don't
> know, I'll ask.
>
> Thanks,
>
> Alex
>
>
> --
>
> IP(7)                Linux Programmer's Manual               IP(7)
>
> NAME
>         ip - Linux IPv4 protocol implementation
>
> SYNOPSIS
>         #include <sys/socket.h>
>         #include <netinet/in.h>
>         #include <netinet/ip.h> /* superset of previous */
>
>         tcp_socket = socket(AF_INET, SOCK_STREAM, 0);
>         udp_socket = socket(AF_INET, SOCK_DGRAM, 0);
>         raw_socket = socket(AF_INET, SOCK_RAW, protocol);
>
>
> --
>
> IPV6(7)              Linux Programmer's Manual             IPV6(7)
>
> NAME
>         ipv6 - Linux IPv6 protocol implementation
>
> SYNOPSIS
>         #include <sys/socket.h>
>         #include <netinet/in.h>
>
>         tcp6_socket = socket(AF_INET6, SOCK_STREAM, 0);
>         raw6_socket = socket(AF_INET6, SOCK_RAW, protocol);
>         udp6_socket = socket(AF_INET6, SOCK_DGRAM, protocol);
>
>
> --
> Alejandro Colomar
> Linux man-pages comaintainer; https://www.kernel.org/doc/man-pages/
> http://www.alejandro-colomar.es/



-- 
Eugene Syromyatnikov
mailto:evgsyr@xxxxxxxxx
xmpp:esyr@jabber.{ru|org}



[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux