使用 IP_ADD_SOURCE_MEMBERSHIP 无法为 RAW 套接字添加超过 10 个源地址

发布于 2024-10-11 02:11:34 字数 689 浏览 6 评论 0原文

嗨,

我使用设置套接字选项 IP_ADD_SOURCE_MEMBERSHIP 添加超过 10 个源地址。但在 10 个源地址之后我无法进一步添加。谁能告诉我如何为每个套接字添加超过 10 个地址。我的代码如下,

sock = socket(AF_INET, SOCK_RAW, IPPROTO_UDP);

/* 下面的代码重复超过 10 次 */

struct ip_mreq_source  mc_req;

mc_req.imr_multiaddr.s_addr   = grpaddr;
mc_req.imr_interface.s_addr   = ifaddr;
mc_req.imr_sourceaddr.s_addr  = srcaddr;

if ((setsockopt (sock, IPPROTO_IP, IP_ADD_SOURCE_MEMBERSHIP,
                 (void*) &mc_req,
                 sizeof (mc_req))) < 0)
{
    printf ("Can't set  IP_ADD_SOURCE_MEMBERSHIP!\n");
    exit (1);
}

添加 10 个源地址后出现错误 Can't set IP_ADD_SOURCE_MEMBERSHIP!。

预先感

谢德布约蒂

HI,

I use set socket option IP_ADD_SOURCE_MEMBERSHIP to add more then 10 source address. But after 10 source address I am unable to add further. Can anyone tell me how can add more then 10 address per socket. My code is as follows,

sock = socket (AF_INET, SOCK_RAW, IPPROTO_UDP);

/* The below code repeted for more then 10 times */

struct ip_mreq_source  mc_req;

mc_req.imr_multiaddr.s_addr   = grpaddr;
mc_req.imr_interface.s_addr   = ifaddr;
mc_req.imr_sourceaddr.s_addr  = srcaddr;

if ((setsockopt (sock, IPPROTO_IP, IP_ADD_SOURCE_MEMBERSHIP,
                 (void*) &mc_req,
                 sizeof (mc_req))) < 0)
{
    printf ("Can't set  IP_ADD_SOURCE_MEMBERSHIP!\n");
    exit (1);
}

After adding 10 source address Error comes as Can't set IP_ADD_SOURCE_MEMBERSHIP!.

Thanks in advance

Debjyoti

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

如梦亦如幻 2024-10-18 02:11:34

看起来您已经达到了内核限制。

中配置的值

检查/proc/sys/net/ipv4/igmp_max_msf

并根据需要进行调整。例如:

echo 20 > /proc/sys/net/ipv4/igmp_max_msf

That looks like you're hitting a kernel limit.

Check the value configured in:

/proc/sys/net/ipv4/igmp_max_msf

and adjust it as needed. For example:

echo 20 > /proc/sys/net/ipv4/igmp_max_msf
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文