O kernel do Linux pode embaralhar quadros Ethernet?

O kernel do Linux pode embaralhar quadros Ethernet?

Eu tenho um FPGA conectado a um Linux x86 através de um switch Arista. O link FPGA para Arista é Ethernet de 10 Gb e o link Arista para x86 é Ethernet de 1 Gb.

Por algum motivo, quando enviei um “burst” de 10 pacotes o mais rápido possível do FPGA, eles chegaram fora de ordem ao x86. Eu uso o tcpdump em um processo isolado para determinar a ordem dos pacotes recebidos.

É possível que o kernel Linux seja responsável pelo embaralhamento dos pacotes ou o kernel Linux respeita a ordem fornecida pela interface de 1 Gb?

Responder1

A ordem dos quadros depende do protocolo e, portanto, faz parte da camada de transporte TCP/IP. Por exemplo,TCPgarante o pedido enquantoUDPnão. Se você examinar oestrutura de quadro Ethernetvocê verá que não há disposições para pedidos.

informação relacionada