Когда то давным давно делал аппаратный стек UDP на Altere, выжимая максимальную скорость из 100Мбит. И вот что у меня осталось в памяти, но я могу ошибаться. Можно было пихать в PHY следующий пакет на следующий такт. Получал максимально возможную скорость передачи от устройства (видеокамера), ещё народ в этой конференции писал что не может быть такого потока. В исходниках сохранён комментарий "Промежуток между пакетами 960 нс". Я не знаю сколько должно быть, но оставляю это время в текущих проектах. Помнится следующая особенность данного промежутка. PHY установленное в устройстве будет тупо принимать пакеты по MMI и тупо передавать их в сетку, так как в PHY железная логика. Простые PHY не содержат не каких длинных буферов и тому подобного (так было давно). Посмотрите внимательно на структуру вашего PHY, есть там буфера или нет, я думаю нет (простый 100 мегабитные). Также PHY работает и по приёму, без буферов. Но фишка оказалась в том что в компьютере часто стоит такой же PHY, только на PCI и тоже без буферов. А на этой шине PCI повешена куча устройств которые тоже нужно обслуживать, и время на это при приходе пакетов подряд без промежутков нет, а тем более на одновременное выполнения приёма и передачи. Короче всё зависит от PHY приёмника (в компьютере). При уменьшении времени Интеловская плата встроенная в материнку принимала пакеты, похоже она подключена напрямую к чипу на материнке, где есть буфер, а Реалтековская дешевая за 5 баксов на PCI начинала пропускать, там по структуре нет буфера. К тому же начинала падать передача от компьютера, от PHY в Альтеру приходил только кусок пакета, при увеличении промежутка в компьютер, пакет от компьютера тоже увеличивался - приходя в норму.
Опс.. опередили:
Цитата(Alex11 @ May 14 2015, 19:16)

Interpacket gap - 96 бит соблюсти обязательно.
это на какой частоте, сколько по времени между пакетами?