Perbedaan antara txqueuelen dan ethtool tx

12

Apa perbedaan antara txqueuelenpengaturan yang dapat diterapkan dengan:

ifconfig eth4 txqueuelen 5000
ip link set eth4 txqueuelen 5000

Dan txpengaturan ukuran cincin yang dapat diterapkan dengan:

ethtool -G eth4 tx 4096

Bagaimana ini berhubungan dengan /proc/sys/net/core/wmem*pengaturan global ?

Saya menggunakan RHEL6.

Christopher Neylan
sumber

Jawaban:

6

The net.core.wmem_defaultdan wmem_maxpengaturan mengontrol ukuran awal dan maksimum TX socket buffer dalam bytes. Sementara antrian itu sendiri hanyalah sebuah daftar skbpointer yang terhubung , kernel juga melacak ukuran byte total yang dikonsumsi oleh skb's saat mereka ditambahkan dan dihapus dari buffer socket. The wmem_defaultsysctl menetapkan pagu awal default untuk soket baru ( net/core/sock.c:sock_init_data()). Aplikasi diizinkan untuk meningkatkan ukuran buffer soketnya dan wmem_maxmerupakan langit-langit untuk fungsi itu ( net/core/sock.c:sock_setsockopt()).

Ketika sebuah paket telah dihapus dari buffer socket dan menemukan jalannya melalui tumpukan jaringan kernel, itu ditempatkan pada antrian transmisi untuk sebuah antarmuka untuk menunggu untuk dimuat ke NIC itu sendiri. The txqueuelenset oleh ifconfigatau ipperintah adalah jumlah frame diperbolehkan per antrian transmisi kernel untuk disiplin antrian ( net/sched/sch_generic.c:pfifo_fast_enqueue()).

Terakhir, ethtool -Ggunakan ioctl untuk mengatur jumlah entri dering untuk buffer cincin pada NIC itu sendiri.

Christopher Neylan
sumber
2

Saya tahu saya harus memberikan penjelasan yang panjang, tapi D dan Seimon sudah memilikinya . Singkatnya txqueuelenadalah ukuran buffer. Semua paket jaringan cocok dalam buffer ini, sedangkan txukuran paket dari Paket IP yang masuk dalam buffer tersebut. Itu jika saya mengerti posting itu dengan benar.

eyoung100
sumber