txqueuelen和ethtool tx之间的区别


12

txqueuelen可以使用以下任一设置之间的区别是什么:

ifconfig eth4 txqueuelen 5000
ip link set eth4 txqueuelen 5000

以及tx可应用于的戒指尺寸设置:

ethtool -G eth4 tx 4096

这些与全局/proc/sys/net/core/wmem*设置有何关系?

我正在使用RHEL6。

Answers:


6

net.core.wmem_defaultwmem_max设置控制TX插座缓冲器以字节为单位的初始和最大尺寸。尽管队列本身只是skb指针的链接列表,但内核也会跟踪skbs在套接字缓冲区中添加和删除时所消耗的总字节大小。该wmem_defaultsysctl的设置了新的套接字默认初始上限(net/core/sock.c:sock_init_data())。允许应用程序增加其套接字缓冲区的大小,并且wmem_max是该功能的上限(net/core/sock.c:sock_setsockopt())。

当数据包从套接字缓冲区中删除并通过内核网络堆栈找到其路径时,会将其放在传输队列中,等待接口加载到NIC本身。该txqueuelen集合由ifconfigip命令是每内核传输队列允许排队规则帧数(net/sched/sch_generic.c:pfifo_fast_enqueue())。

最后,ethtool -G使用ioctl设置NIC上环形缓冲区的环形条目数。


2

我知道我应该给出一个详尽的解释,但是D a Seimon已经有了。简而言之txqueuelen是缓冲区大小。所有网络数据包都适合此缓冲区,而在该缓冲区tx中的IP数据包的数据包大小就是。也就是说,如果我正确理解了该帖子。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.