Неможливо змінити настройки NIC за допомогою ettool


2

Я намагаюся змінити налаштування NIC (Intel 10G NIC) за допомогою ethtool, але не можу цього зробити.

я намагався

ethtool -G xge0 rx 32768 tx 32768

а потім спробував перевірити, чи змінилися налаштування за допомогою

ethtool -g xge0

Але я бачу вихід

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

Чому я не можу змінити налаштування?

Відповіді:


4

Контролер може обробляти лише 4 096 записів кільця в кожному кільці. NIC фактично потребує DMA-адреси кожного доступного слота у кожному кільці буфера. У ньому всього 4 096 прорізів у кожному напрямку. (І більше нічого б насправді не допомогло.)

Кільце працює так (я висвітлюю лише отримання, тому що це простіше, але концепція однакова):

  1. Драйвер виділяє певну кількість буферів прийому в основній пам'яті DMAable.

  2. Драйвер повідомляє NIC базові адреси цих буферів.

  3. Оскільки NIC отримує пакети, він DMA передає їх у ці буфери.

  4. Драйвер запитує NIC, скільки пакетів він DMAed в основну пам'ять.

  5. Драйвер обробляє ці пакети.

  6. Драйвер виділяє нові приймальні буфери для поповнення кільця.

  7. Драйвер реєструє базові адреси нових буферів за допомогою NIC.

Отже, NIC повинен знати фізичну адресу кожного буфера в кільці. Цей NIC має лише 4 096 слотів у кожному напрямку для цих фізичних адрес.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.