gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:29:56 26 4
gpt4 key购买 nike

你好,

我使用设置套接字选项 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 个源地址后出现无法设置 IP_ADD_SOURCE_MEMBERSHIP 错误!

提前致谢

Derby 约蒂

最佳答案

看起来您正在达到内核限制。

检查配置的值:

/proc/sys/net/ipv4/igmp_max_msf

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

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

关于c - 使用 IP_ADD_SOURCE_MEMBERSHIP 无法为 RAW 套接字添加超过 10 个源地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4645093/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com