реклама на сайте
подробности

 
 
> Ограничение длины UDP пакета, засада в EasyWEB под LPC
evgen2
сообщение Apr 28 2010, 17:40
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 236
Регистрация: 1-04-06
Пользователь №: 15 688



Использую EasyWEB из, например, кейловских примеров.
Обращаюсь к lpc2378 по UDP - все работает, пока посылаю меньше 256 байт. Как только больше - наворачивается в файле tcpip.c в строке

if (!(ReadFrameBE_EMAC() & (IP_FLAG_MOREFRAG | IP_FRAGOFS_MASK))) // only unfragm. frames

Т.е. UDP пакет оказывается фрагментированным. Хотя во всяких уных книжках написано, что разбиение на фрагменты начинается для фрагментов больше MTU (который обычно 1500 байт)

Собственно - вопросы:
* зависит ли граница начала разбиения на фреймы UDP-пакетов от расположения луны, эзернет-карточки PC, драйверов, версии TCP стека, версии оса "
* какие танцы нужно выполнить при открытии сокета со стороны PC чтобы не было фрагментации ?
* какие танцы можно исполнить со стороны AVR ? Вроде бы в хидерах есть некое IP_FLAG_DONTFRAG

#define IP_FLAG_DONTFRAG 0x4000 // don't fragment IP frame
#define IP_FLAG_MOREFRAG 0x2000 // more fragments available

Непонятно однако, к какому месту приклаадывать это IP_FLAG_DONTFRAG
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 06:35
Рейтинг@Mail.ru


Страница сгенерированна за 0.0131 секунд с 7
ELECTRONIX ©2004-2016