Tidak dapat mengubah pengaturan NIC dengan ethtool

2

Saya mencoba mengubah pengaturan NIC (Intel 10G NIC) saya menggunakan ethtool, tetapi sepertinya tidak bisa melakukannya.

Saya mencoba

ethtool -G xge0 rx 32768 tx 32768

dan kemudian mencoba melihat apakah pengaturan telah berubah menggunakan

ethtool -g xge0

Tapi saya melihat hasilnya

Ring parameters for xge0: 
Pre-set maximums: 
RX:        4096 
RX Mini:   0 
RX Jumbo:  0 
TX:        4096 
Current hardware settings: 
RX:        4096 
RX Mini:   0 
RX Jumbo:  0 
TX:        4096

Mengapa saya tidak bisa mengubah pengaturan?

Rayne
sumber

Jawaban:

4

Pengontrol hanya dapat menangani 4.096 entri dering di setiap dering. NIC sebenarnya membutuhkan alamat DMA dari setiap slot yang tersedia di setiap buffer cincin. Ini hanya memiliki 4.096 slot di setiap arah. (Lagi pula tidak akan banyak membantu.)

Cincin berfungsi seperti ini (saya hanya akan menerima, karena lebih sederhana, tetapi konsepnya sama):

  1. Pengemudi mengalokasikan sejumlah tertentu menerima buffer dalam memori utama DMAable.

  2. Pengemudi memberi tahu NIC alamat dasar buffer ini.

  3. Ketika NIC menerima paket, DMA memasukkannya ke buffer ini.

  4. Sopir bertanya kepada NIC berapa banyak paket yang telah DMA-nya masuk ke memori utama.

  5. Pengemudi memproses paket-paket ini.

  6. Pengemudi mengalokasikan buffer penerima baru untuk mengisi ulang cincin.

  7. Pengemudi mendaftarkan alamat dasar buffer baru dengan NIC.

Jadi NIC harus mengetahui alamat fisik masing-masing buffer di atas ring. NIC ini hanya memiliki 4.096 slot di setiap arah untuk alamat fisik tersebut.

David Schwartz
sumber