|
ПК не посылает pause frame при включеном Flow control., ищем причину ? |
|
|
|
 |
Ответов
|
Jan 10 2012, 17:29
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644

|
Цитата(Костян @ Dec 28 2011, 15:40)  Итак дано
ПЛИС -> Ethernet PHY -> кроссовый кабель -> ПК
ПЛИС формирует ethernet пакеты на 1Gb линке с загрузкой сети порядка 80% и постоянно отсылает их в сеть. Сетевая карта ПК настроена на 1000/full duplex flow_control ON ... - ПЛИС: Cyclone IV;
- Ethernet PHY: Marvell 88E1111;
- MAC: Altera Triple-Speed Ethernet MegaCore;
- MAC и PHY на модуле, вроде бы настроены на 1Gb/full duplex/flow_control ON;
- обмен между модулем и ПЭВМ происходит через отдельный сетевой адаптер "Intel® Gigabit CT Desktop Adapter";
- через второй (Fast Ethernet) адаптер подключен Интернет.
Если активным является окно программы обмена с модулем, то, при скорости PHY 1Gb/s потери пакетов нет. Потеря пакетов происходит если во время пересылки данных модуль->ПЭВМ в Проводнике открыть папку с фильмами в режиме отображения "... значки" или если одновременно говоришь с кем-нибудь через Skype. Предполагаю, что потеря пакетов вызвана высокой загрузкой процессора в какие-то моменты времени. Сетевой адаптер выдает pause-пакеты, а MAC модуля их принимает. Это видно по значениям регистра статистики MAC: aRxPAUSEMACCtrlFrames. То есть, flow-control вроде бы и работает, но все равно, происходит потеря пакетов. При скорости PHY 100М/s вызвать потерю пакетов из за перегрузки процессора не удается. Есть ли у кого-нибудь опыт решения подобной проблемы?
|
|
|
|
|
Jan 10 2012, 18:04
|

Местный
  
Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131

|
Цитата(Konst_777 @ Jan 10 2012, 20:29)  Сетевой адаптер выдает pause-пакеты, а MAC модуля их принимает. Это видно по значениям регистра статистики MAC: aRxPAUSEMACCtrlFrames. То есть, flow-control вроде бы и работает, но все равно, происходит потеря пакетов. Как я понял ситуацию, МАС внутри FPGA пауз-пакеты принимает, но притормаживания посылок не отрабатывает? Я использую самодельный упрощенный MAC, который нормально отрабатывает все, что мне нужно. Может, в вашем случае дело в глюкавости самой core готового супер-МАС, которую вы используете? Если брали ее с opencores, то почти наверняка какая-нибудь засада там сидит. Убеждался не раз, и зарекся в конце концов.
|
|
|
|
|
Jan 13 2012, 08:15
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644

|
Цитата(Aprox @ Jan 10 2012, 22:04)  ...Может, в вашем случае дело в глюкавости самой core готового супер-МАС, которую вы используете?... Altera в Errata не упоминает о проблемах с flow-control для Triple-Speed Ethernet MegaCore Function. И на форуме Altera никто пока на flow-control не жаловался. Похоже, что сетевой адаптер выдает pause-пакеты в самый последний момент, когда в его буфере уже остается свободного места меньше, чем длина пакета от модуля. А поскольку MAC модуля не приостанавливает выдачу данных до окончания выдачи текущего пакета, то и происходит потеря пакета. Вот, как проверить эту версию, я пока не знаю. Цитата(Костян @ Jan 11 2012, 13:52)  ПЭВМ и плата FPGA соединены кросс кабелем ? или через свитч ? Сейчас ПЭВМ и модуль с FPGA соединены кросс кабелем напрямую. Нужно будет проверить, останется ли потеря пакетов при подключении модуля к ПЭВМ через маршрутизатор TL-WR1043ND.
|
|
|
|
|
Jan 13 2012, 18:44
|

Местный
  
Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131

|
Цитата(Konst_777 @ Jan 13 2012, 11:15)  Похоже, что сетевой адаптер выдает pause-пакеты в самый последний момент, когда в его буфере уже остается свободного места меньше, чем длина пакета от модуля. А поскольку MAC модуля не приостанавливает выдачу данных до окончания выдачи текущего пакета, то и происходит потеря пакета. Вот, как проверить эту версию, я пока не знаю. Проверить можно другой сетевой картой, более авторитетной. Я тут полазил по последним новациям и обнаружил, что продвинутая общественность использует серверные сетевые адаптеры для ввода быстрых потоков непосредственно в память ПК, минуя Винды и центральный процессор. Удовольствие не сказать, чтобы очень дорогое. Пошукайте, может, вообще FlowCntrol не понадобится.
|
|
|
|
|
Jan 15 2012, 17:30
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644

|
Цитата(Aprox @ Jan 13 2012, 21:44)  Проверить можно другой сетевой картой, более авторитетной... То есть, существуют сетевые адаптеры, ПО которых позволяет пользователю задавать уровень заполненности буфера приема, при котором сетевые адаптеры будут выдавать пакет XOFF ? А можете порекомендовать такой сетевой адаптер? Цитата(Aprox @ Jan 13 2012, 21:44)  ...Я тут полазил по последним новациям и обнаружил, что продвинутая общественность использует серверные сетевые адаптеры для ввода быстрых потоков непосредственно в память ПК, минуя Винды и центральный процессор. Удовольствие не сказать, чтобы очень дорогое. Пошукайте, может, вообще FlowCntrol не понадобится. Flow control поддерживается всеми современными сетевыми адаптерами (Gigabit Ethernet, PCIe). Даже недорогими. "Зачем же платить больше ?" ©
|
|
|
|
Сообщений в этой теме
Костян ПК не посылает pause frame при включеном Flow control. Dec 28 2011, 12:40 AndreiUS В регистрах PHY включена опция Enable Pause? Dec 29 2011, 10:51 Костян QUOTE (AndreiUS @ Dec 29 2011, 09:51) В р... Dec 29 2011, 11:13 AndreiUS Цитатая предполагал, что паузами занимается MAC ур... Dec 29 2011, 11:32 Костян QUOTE (AndreiUS @ Dec 29 2011, 10:32) Пер... Dec 29 2011, 11:43 Victor® Цитата(AndreiUS @ Dec 29 2011, 15:32) Пер... Dec 30 2011, 20:50  Aprox Цитата(Victor® @ Dec 30 2011, 23:50) Ну, ... Dec 31 2011, 11:09   Victor® Цитата(Aprox @ Dec 31 2011, 14:09) Не фак... Dec 31 2011, 21:06    Костян QUOTE (Victor® @ Dec 31 2011, 20:06) Упра... Jan 3 2012, 07:02    Костян QUOTE (Aprox @ Jan 13 2012, 16:44) Я тут ... Jan 16 2012, 11:11 Костян QUOTE (Konst_777 @ Jan 10 2012, 15:29) [*... Jan 11 2012, 09:52 Костян установка бита en_pause в PHY ничего не дало. по п... Feb 14 2012, 13:35 Konst_777 Цитата(Костян @ Dec 28 2011, 15:40) Итак ... Feb 15 2012, 06:59
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|