Estou trabalhando com a placa de rede Intel 82599ES 10-Gigabit SFI / SFP + com o driver ixgbe nativo do linux 4.4.0-116-genérico. Eu estou querendo saber sobre a tabela de indireção de fluxo vindo com NIC que tem 16 filas fdir.
Essas filas podem ser refletidas como saída de comando
sudo ethtool -x enp2s0f1
RX flow hash indirection table for enp2s0f1 with 40 RX ring(s):
0: 0 1 2 3 4 5 6 7
8: 8 9 10 11 12 13 14 15
16: 0 1 2 3 4 5 6 7
24: 8 9 10 11 12 13 14 15
32: 0 1 2 3 4 5 6 7
40: 8 9 10 11 12 13 14 15
48: 0 1 2 3 4 5 6 7
56: 8 9 10 11 12 13 14 15
64: 0 1 2 3 4 5 6 7
72: 8 9 10 11 12 13 14 15
80: 0 1 2 3 4 5 6 7
88: 8 9 10 11 12 13 14 15
96: 0 1 2 3 4 5 6 7
104: 8 9 10 11 12 13 14 15
112: 0 1 2 3 4 5 6 7
120: 8 9 10 11 12 13 14 15
RSS hash key:
98:66:ff:44:ee:dd:32:dd:16:d3:e3:c0:16:b7:0d:11:1c:3d:e3:a6:1d:f1:44:14:36:8d:32:b1:4a:75:ae:d8:f2:97:7c:aa:7c:4c:9e:fb
Portanto, com base no hash, o tráfego de entrada é dividido em filas de 16 fdir, mas depois é mapeado em 40 buffers de anel, também conhecidos como filas RSS.
Eu posso ajustar filas fdir com vários comandos ethtool -X
para seu peso de processamento. Ao mesmo tempo, com a ajuda de /proc/irq/IRQ_NUMBER/smp_affinity
, podemos controlar o agendamento de interrupções de RSS para CPUs específicas.
Mas não consigo descobrir como mapas de tráfego entre filas de fdir para filas de rss quando a contagem é diferente.
Agradecemos antecipadamente pela ajuda.
Tags drivers intel ethernet linux-kernel