Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Увеличить макс. размер пакета UDP на ML605
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
count_enable
Стандартный пример UDP эхо на Microblaze+lwIP, xethernet_lite. Все пакеты больше 1500 дропаются, больше 1000 - идут потери до 20%. Не могу найти в каком заголовке задаётся макс. размер пакета. Не подскажете?
dm.pogrebnoy
UDP, он же в IP, а IP он же в Ethernet. А Ethernet фрейм ограничен размером 1514 байт + 4 байта CRC.
UDP
MTU

Вам нужно смотреть в сторону Jumbo-фреймов. Но не все оборудование его поддерживает.
JUMBO

А потери будут, всегда, если у вас в сети больше одного устройства, коллизию пакетов никто не отменял.
тыц
count_enable
Вот о джамбо и идёт речь. Точно знаю что плата поддерживает, но на форумах очень запутанные и противоречивые данные какие дефайны надо править чтобы включить поддержку.
count_enable
UPD: Поменял корку на AXI_ETHERNET + DMA, теперь работает на 1 Гбит/с но в дефолтной конфигурации не поддерживает больших пакетов. Прочитал xapp1026, поменял установки BSP как рекомендуется на стр. 24, добавил дефайн с lwIP #define USE_JUMBO_FRAMES 1, но ничего не поменялось.
Corvus
А на приёмном конце, в настройках сетевой Jumbo Frame разрешены?
count_enable
Цитата(Corvus @ May 6 2015, 19:50) *
А на приёмном конце, в настройках сетевой Jumbo Frame разрешены?
Конечно Вы правы, большое спасибо.

Мораль: Xilinx не всегда виноват. Почему 7 винда до сих пор не включает их по дефолту - тайна сия великая есть.
doom13
Цитата(count_enable @ May 6 2015, 14:36) *
Стандартный пример UDP эхо на Microblaze+lwIP, xethernet_lite. Все пакеты больше 1500 дропаются, больше 1000 - идут потери до 20%. Не могу найти в каком заголовке задаётся макс. размер пакета. Не подскажете?

Размер UDP задаётся в заголовке UDP и может достигать 2^16 (примерно), используйте фрагментацию и сможете отправлять UDP макимального размера. LwIP поддерживает фрагментацию, т.о. если длина пакета будет превышать 1500 он сам разделит пакет на фрагменты и отправит.
eugen_pcad_ru
Цитата(count_enable @ May 6 2015, 15:36) *
Стандартный пример UDP эхо на Microblaze+lwIP, xethernet_lite. Все пакеты больше 1500 дропаются, больше 1000 - идут потери до 20%. Не могу найти в каком заголовке задаётся макс. размер пакета. Не подскажете?

Да, еще. Стандартные API функции при работе с сокетом UDP-пакеты нормально не ловят. Для отладки лучше всего использовать wireshark. Ну и соединение точка-точка.
count_enable
Всем еще раз большое спасибо. Именно за такие быстрые и дельные советы люблю этот форум.
dxp
QUOTE (count_enable @ May 6 2015, 17:36) *
Все пакеты больше 1500 дропаются, больше 1000 - идут потери до 20%.

Откуда про 20%? При уменьшении размера с 1500 до 1000 потери возрастают на 1.5%, см график по ссылке.

count_enable
За потери не знаю кто был виноват, это был одноразовый получасовой тест. Сейчас потери в пределах нормы (меньше 1 на 1000) при гигабитном линке.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.