Linux网络驱动和mtu

时间:2014-03-10 12:25:28

标签: linux linux-kernel linux-device-driver

我正在为Linux编写一些网络设备驱动程序。出于某些原因,我必须在初始化时为我的网络接口动态降低MTU。

当驱动程序计算并将MTU设置为例如值892时 - 内核将输出帧修剪为310字节。

问题是:为什么输出数据包长310个字节而不是892个字节?

编辑:(计算MTU的部分代码)

bitrate = 250;  // [kbit/s]
limit_us = upstream_timeslot = 5000; // [us]
mtu = (limit_us - 144) * bitrate * 2 / 15625 - fp->wdev->hard_header_len - sizeof(struct ether_header);

它只计算适合250kbps慢速传输的传输时隙的1帧的最大值。

0 个答案:

没有答案