带SOCK_DGRAM的AF_PACKET原始IP数据包需要分段吗?

我在Linux中使用AF_PACKET套接字看到的大多数示例代码都使用SOCK_RAW版本发送以太网数据包。我希望将AF_PACKET套接字与第3层SOCK_DGRAM选项一起使用,以发送带有自定义IP标头的自定义UDP数据包。我的问题是,我是否必须处理用户空间中的IP分段并将多个分段的IP数据包写入AF_PACKET套接字,还是可以编写一个包含30K数据的UDP数据包,内核会为我对其进行分段?

wuliqunaowuliqunao 回答:带SOCK_DGRAM的AF_PACKET原始IP数据包需要分段吗?

开发之后,我可以确认如果您将AF_PACKET套接字与SOCK_DGRAM一起用于IP数据包,则必须手动处理分段。我试图编写一个4000字节的UDP数据报,并收到“消息大小太长”错误。

本文链接:https://www.f2er.com/3155552.html

大家都在问