Arista 스위치를 통해 Linux x86에 FPGA가 연결되어 있습니다. FPGA-Arista 링크는 10Gb 이더넷이고 Arista-x86 링크는 1Gb 이더넷입니다.
어떤 이유에서인지 FPGA에서 가능한 한 빨리 10개 패킷의 "버스트"를 보냈더니 순서 없이 x86에 도착했습니다. 나는 수신된 패킷의 순서를 결정하기 위해 격리된 프로세스에서 tcpdump를 사용합니다.
Linux 커널이 패킷 셔플링을 담당할 수 있습니까? 아니면 Linux 커널이 1Gb 인터페이스에서 제공하는 순서를 존중합니까?
답변1
프레임 순서는 프로토콜에 따라 다르므로 TCP/IP 전송 계층의 일부입니다. 예를 들어,TCP동안 주문을 보장합니다UDP하지 않습니다. 조사해보면이더넷 프레임 구조주문에 대한 규정이 없음을 알 수 있습니다.