Não é possível alterar as configurações da NIC com ethtool

2

Estou tentando alterar minhas configurações de NIC (Intel 10G NIC) usando o ethtool, mas não consigo fazer isso.

Eu tentei

ethtool -G xge0 rx 32768 tx 32768

e depois tentou ver se as configurações foram alteradas usando

ethtool -g xge0

Mas vejo a saída

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

Por que não posso alterar as configurações?

    
por Rayne 22.05.2012 / 12:52

1 resposta

4

O controlador só pode manipular 4.096 entradas de anel em cada anel. A NIC realmente precisa do endereço DMA de cada slot disponível em cada buffer de anel. Tem apenas 4.096 slots em cada direção. (E mais não ajudaria de qualquer maneira.)

O anel funciona assim (eu cobrirei apenas receber, porque é mais simples, mas o conceito é o mesmo):

  1. O driver aloca um certo número de buffers de recebimento na memória principal de DMA.

  2. O driver informa à NIC os endereços base desses buffers.

  3. À medida que a NIC recebe pacotes, ela os envia para esses buffers.

  4. O driver pergunta ao NIC quantos pacotes ele tem DMA na memória principal.

  5. O driver processa esses pacotes.

  6. O driver aloca novos buffers de recebimento para reabastecer o anel.

  7. O driver registra os endereços base dos novos buffers com a NIC.

Portanto, a NIC precisa conhecer o endereço físico de cada buffer no anel. Essa NIC tem apenas 4.096 slots em cada direção para esses endereços físicos.

    
por 22.05.2012 / 13:05