【问题标题】:Linux kernel IPv4 and IPv6 socket creation: EPROTONOSUPPORT and ESOCKTNOSUPPORT errorsLinux 内核 IPv4 和 IPv6 套接字创建:EPROTONOSUPPORT 和 ESOCKTNOSUPPORT 错误
【发布时间】:2018-08-16 22:19:01
【问题描述】:

我正在尝试了解IPv4 socketIPv6 socket Linux 内核实现。

两种方法 inet_create()inet6_create() 看起来非常相似。 他们都可以返回用户空间EPROTONOSUPPORTESOCKTNOSUPPORT,不知道在什么情况下会发生这种情况。

【问题讨论】:

    标签: sockets linux-kernel ipv6 network-protocols ipv4


    【解决方案1】:

    ESOCKTNOSUPPORT 表示所选协议不支持套接字类型。例如,您不能用IPPROTO_IP 创建SOCK_SEQPACKET。根据ip(7) man page,只有SOCK_STREAMSOCK_DGRAMSOCK_RAW是ip的有效socket类型。

    EPROTONOSUPPORT 表示不支持所选的套接字协议。例如,如果您要求AF_INET6 并且系统管理员已通过将模块列入黑名单来禁用 IPv6。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-15
    • 2015-03-05
    • 2014-01-06
    • 1970-01-01
    • 1970-01-01
    • 2015-12-25
    • 2012-07-27
    • 2013-10-09
    相关资源
    最近更新 更多