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

 
 
> Ограничение длины 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
 
Start new topic
Ответов (1 - 2)
KRS
сообщение Apr 28 2010, 20:21
Сообщение #2


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Поставте на PC WireShark и посмотрите какие фреймы уходят!
Go to the top of the page
 
+Quote Post
evgen2
сообщение Apr 28 2010, 21:18
Сообщение #3


Местный
***

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



Цитата(KRS @ Apr 29 2010, 00:21) *
Поставте на PC WireShark и посмотрите какие фреймы уходят!

Ааа..Всё оказалось прозаичнее. На тестовом ноуте, с которого посылал пакеты какие-то вражеские шпиёны поставили MTU = 500 вместо стандартного 1500.
Может быть, этот шпиён - я сам, когда выполнял какие-то эксперименты..., но про это я очень хорошо забыл...

ЗЫ: от ыть, писал вроде ARM, а написалось AVR wassat.gif , совсем плохой к ночи стал...

Сообщение отредактировал evgen2 - Apr 28 2010, 21:23
Go to the top of the page
 
+Quote Post

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

 


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


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