Dmi*_*tri 6 c linux mtu probe quic
我正在实现DPLPMTUDerrno = EMSGSIZE ,当我发送的 UDP 数据包长于本地接口的 MTU 时,我想阻止 Linux 内核返回 -1 。我想避免在发送多个数据报时(特别是使用sendmmsg(2))时处理错误处理的痛苦,每个数据报可能属于不同的连接。我宁愿让内核丢弃数据包并让应用程序 DPLPMTUD 逻辑计算出 MTU。
ip(7)有这样说:
It is possible to implement RFC 4821 MTU probing with SOCK_DGRAM\n or SOCK_RAW sockets by setting a value of IP_PMTUDISC_PROBE\n (available since Linux 2.6.22). This is also particularly use\xe2\x80\x90\n ful for diagnostic tools such as tracepath(8) that wish to de\xe2\x80\x90\n liberately send probe packets larger than the observed Path MTU.\nRun Code Online (Sandbox Code Playgroud)\n然而设置此选项并不会产生预期的效果。下面是说明问题的代码:
\n It is possible to implement RFC 4821 MTU probing with SOCK_DGRAM\n or SOCK_RAW sockets by setting a value of IP_PMTUDISC_PROBE\n (available since Linux 2.6.22). This is also particularly use\xe2\x80\x90\n ful for diagnostic tools such as tracepath(8) that wish to de\xe2\x80\x90\n liberately send probe packets larger than the observed Path MTU.\nRun Code Online (Sandbox Code Playgroud)\n当我发送大于 MTU 的数据包时,sendto()上面返回 -1 并errno设置为EMSGSIZE-- 正是我想要避免的。
有办法做我想做的事吗?
\n| 归档时间: |
|
| 查看次数: |
1103 次 |
| 最近记录: |