Intel 82599ES FDIR과 RSS 대기열 간의 매핑

Intel 82599ES FDIR과 RSS 대기열 간의 매핑

저는 Linux 4.4.0-116 일반 기본 ixgbe 드라이버와 함께 Intel 82599ES 10기가비트 SFI/SFP+ NIC를 사용하고 있습니다. 16개의 fdir 대기열이 있는 NIC와 함께 제공되는 흐름 간접 참조 테이블이 궁금합니다.

이러한 대기열은 명령의 출력으로 반영될 수 있습니다.


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

따라서 들어오는 트래픽은 해싱을 기반으로 16개의 fdir 대기열로 나뉘지만 그런 다음 40개의 링 버퍼(RSS 대기열이라고도 함)에 매핑됩니다.

ethtool -X다양한 명령을 사용하여 fdir 대기열의 처리 가중치를 조정할 수 있습니다 . 또한 의 도움으로 /proc/irq/IRQ_NUMBER/smp_affinity특정 CPU에 대한 RSS 인터럽트 일정을 제어할 수 있습니다.

하지만 fdir 대기열의 개수가 일치하지 않을 때 트래픽이 RSS 대기열에 어떻게 매핑되는지 알 수 없습니다.

도움을 주셔서 미리 감사드립니다.

관련 정보