Ich habe ein FPGA über einen Arista-Switch mit einem Linux x86 verbunden. Die Verbindung von FPGA zu Arista ist 10 Gb Ethernet und die Verbindung von Arista zu x86 ist 1 Gb Ethernet.
Aus irgendeinem Grund kamen die Pakete, die ich so schnell wie möglich vom FPGA schickte, in der falschen Reihenfolge beim x86 an. Ich verwende tcpdump in einem isolierten Prozess, um die Reihenfolge der empfangenen Pakete zu bestimmen.
Ist es möglich, dass der Linux-Kernel für die Neuordnung der Pakete verantwortlich ist, oder beachtet der Linux-Kernel die Reihenfolge, die von der 1-GB-Schnittstelle vorgegeben wird?
Antwort1
Die Reihenfolge der Frames hängt vom Protokoll ab und ist daher Teil der TCP/IP-Transportschicht. BeispielsweiseTCPgarantiert die Bestellung währendUDPnicht. Wenn Sie dieEthernet-Frame-StrukturSie werden sehen, dass es keine Bestimmungen für die Bestellung gibt.