Есть массив в который я пишу данные для передачи, добавляю в его начало TCP, IP заголовки, Ethernet фреймы. Затем ссылку на этот массив указываю в дескрипторе и включаю данный дескриптор на передачу. И пакет нормально уходит в сеть. Но изредка (с периодом от 1 секунды до 3-х минут) в сеть уходит пакет, содержащий первые 68 байт предыдущего пакета, а остальную часть пакета текущую. А так как в этих первых 68 байтах содержатся все заголовки TCP, IP, то TCP сессия нарушается. Не понимаю почему так происходит. Специально проверяю содержимое массива перед командой запуска на передачу. Все данные в массиве правильные! И почему все время портятся именно первые и именно 68 байт? Может кто сталкивался? Может у кого есть безошибочный код приема/передачи по ethernet для zynq?
|