【问题标题】:Linux network stack queuesLinux 网络堆栈队列
【发布时间】:2014-02-24 08:31:16
【问题描述】:

我正在linux下调试一些网络驱动程序。在这个驱动程序的某个地方有 netif_stop_queue() 函数。它停止通过内核向我的驱动程序发送数据包,这没关系。

我想知道内核可以将这些数据包排队多长时间才能开始丢弃它们?是 ifconfig 中的 txqueuelen 参数告诉给定接口可以排队多少数据包还是内核中还有另一个队列?

【问题讨论】:

  • 查看 Qdisc 之类的东西。 IIRC,它处理所有发送到设备的数据包。

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


【解决方案1】:

net_device 结构netdevice.h, Line 1143 上的“unsigned long tx_queue_len”字段控制设备传输队列中可以排队的最大帧数

是的,它与 ifconfig 中的参数相同。您可以设置队列长度:

ifconfig <interface> txqueuelen <size>
Ex:
ifconfig eth0 txqueuelen 10000

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-17
    • 2014-04-21
    • 2013-09-18
    • 1970-01-01
    • 1970-01-01
    • 2011-03-20
    • 1970-01-01
    • 2017-06-01
    相关资源
    最近更新 更多