我正在尝试向 TCP 内核代码添加一些功能(在tcp_input.c)。我希望我实现的代码仅在某些情况下运行。我想添加一个控制标志,可以从用户空间应用程序设置它。
我(认为我)需要添加一个新的套接字选项,以便我可以完成以下操作setsockopt()
.
内核空间:
if(tcp_flags.simulate_ecn_signal) {
// run code for simulating ecn signal
}
用户空间:
if(tcp_info.tcpi_retransmits > LIMIT) {
u8 simulate_ecn_signal = 1;
// set the flag, so that the kernel code runs
if (setsockopt(sock, IPPROTO_TCP, TCP_FLAGS, &simulate_ecn_signal, sizeof(simulate_ecn_signal)) < 0)
printf("Can't set data with setsockopt.\n");
}
在上面的示例代码中,我添加了一个示例标志 simulate_ecn_signal
我认为它可能是一个名为的(新)套接字选项(结构)的成员 tcp_flags
(可能包含多个标志值)。
如何定义新的套接字选项才能实现此目的?
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)