
У меня есть FPGA, подключенная к Linux x86 через коммутатор Arista. Соединение FPGA-Arista — 10Gb Ethernet, а соединение Arista-x86 — 1Gb Ethernet.
По какой-то причине, когда я отправил "всплеск" из 10 пакетов максимально быстро из FPGA, они пришли в неупорядоченном виде на x86. Я использую tcpdump в изолированном процессе, чтобы определить порядок полученных пакетов.
Возможно ли, что ядро Linux отвечает за перетасовку пакетов или ядро Linux учитывает порядок, предоставляемый интерфейсом 1 Гбит?
решение1
Порядок кадров зависит от протокола и поэтому является частью транспортного уровня TCP/IP. Например,ТКПгарантирует заказ во времяУДПнет. Если вы посмотритеструктура кадра Ethernetвы увидите, что никаких положений о заказе не предусмотрено.