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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> ПК не посылает pause frame при включеном Flow control., ищем причину ?
Костян
сообщение Dec 28 2011, 12:40
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059



Итак дано

ПЛИС -> Ethernet PHY -> кроссовый кабель -> ПК


ПЛИС формиурет ethernet пакеты на 1Gb линке с загрузкой сети порядка 80% и постоянно отсылает их в сеть.
Сетевая карта ПК настроена на 1000/full duplex flow_control ON

Каждый пакет нумеруется с инкрементом. ПК принимает пакеты с частыми потярями по 1..40 пакетов за раз.
По всей видимости ПК не успевает считывать с буфера сетевой карты пакеты , но при этом pause frame не формируются сетевой картой . В чем причина ?

pause frame пытаюсь словить при помощи ПЛИС, ослеживая все принимаемые PHY пакеты. Пусто.
Go to the top of the page
 
+Quote Post
AndreiUS
сообщение Dec 29 2011, 10:51
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 293
Регистрация: 23-12-08
Из: Тверь
Пользователь №: 42 694



В регистрах PHY включена опция Enable Pause?
Go to the top of the page
 
+Quote Post
Костян
сообщение Dec 29 2011, 11:13
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059



QUOTE (AndreiUS @ Dec 29 2011, 09:51) *
В регистрах PHY включена опция Enable Pause?

хм..нет. я предполагал, что паузами занимается MAC уровень. При чем тут PHY ?
Go to the top of the page
 
+Quote Post
AndreiUS
сообщение Dec 29 2011, 11:32
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 293
Регистрация: 23-12-08
Из: Тверь
Пользователь №: 42 694



Цитата
я предполагал, что паузами занимается MAC уровень. При чем тут PHY ?

Первоначально я тоже так думал... Почитайте соседнюю тему.
Go to the top of the page
 
+Quote Post
Костян
сообщение Dec 29 2011, 11:43
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059



QUOTE (AndreiUS @ Dec 29 2011, 10:32) *
Первоначально я тоже так думал... Почитайте соседнюю тему.

спасибо. действительно, я не подумал про автопереговоры.
Go to the top of the page
 
+Quote Post
Victor®
сообщение Dec 30 2011, 20:50
Сообщение #6


Lazy
******

Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76



Цитата(AndreiUS @ Dec 29 2011, 15:32) *
Первоначально я тоже так думал... Почитайте соседнюю тему.


Ну, дык во многих (а может и всех всех) фаях страпится поддержка паузы.

P.S.
Не в обиду - читайте мануал sm.gif


--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
Go to the top of the page
 
+Quote Post
Aprox
сообщение Dec 31 2011, 11:09
Сообщение #7


Местный
***

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



Цитата(Victor® @ Dec 30 2011, 23:50) *
Ну, дык во многих (а может и всех всех) фаях страпится поддержка паузы.

Не факт. Например, в меню настройки сетевых карт есть специальная опция- Вкл/Выкл Flow Control. И относится сия опция к МАС девайсу, а не к PHY. Да и пауз-пакет относится, как пишут в мануалах, к управлению на уровне MAC.
Go to the top of the page
 
+Quote Post
Victor®
сообщение Dec 31 2011, 21:06
Сообщение #8


Lazy
******

Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76



Цитата(Aprox @ Dec 31 2011, 14:09) *
Не факт. Например, в меню настройки сетевых карт есть специальная опция- Вкл/Выкл Flow Control. И относится сия опция к МАС девайсу, а не к PHY. Да и пауз-пакет относится, как пишут в мануалах, к управлению на уровне MAC.


Управление на уровне MAC, говорите?
Думаю имеется ввиду MDIO, по которому связан MAC с PHY.
Ладно - новый год внесет ясность.

Всех с 2012!!! Нехай щастыть!


--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
Go to the top of the page
 
+Quote Post
Костян
сообщение Jan 3 2012, 07:02
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059



QUOTE (Victor® @ Dec 31 2011, 20:06) *
Управление на уровне MAC, говорите?

Да, именно на MAC уровне. И именно на этом уровне задается размер этой самой паузы.
Структуру кадра PAUSE Frame можно посмотреть по след. ссылки
http://ivt.psati.ru/metods/Seti_EVM/El_Uch...lan/5/index.htm (в самом низу страницы)

Либо в википедии
http://en.wikipedia.org/wiki/Ethernet_flow_control (прямо показано окошко с wireshark c захватом pause frame ) . Хотя тут тоже непонятка. Раз паузы обрабатываются только на mac уровне, как этот пакет попал в wireshark?

QUOTE
Думаю имеется ввиду MDIO, по которому связан MAC с PHY.

Насколько я понял по MDIO тоже связь идет. Грубо говоря две физики пообщались между собой и решили, что паузы потянут, они выставляют биты в своей конфигурации и уже mac уровень считывает их по MDIO и разрешает/запрешает на своем уровне обработку этих самых пауз.

QUOTE
Ладно - новый год внесет ясность.

хм.. посмотрим ;-)
Go to the top of the page
 
+Quote Post
Konst_777
сообщение Jan 10 2012, 17:29
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 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 вызвать потерю пакетов из за перегрузки процессора не удается.

Есть ли у кого-нибудь опыт решения подобной проблемы?
Go to the top of the page
 
+Quote Post
Aprox
сообщение Jan 10 2012, 18:04
Сообщение #11


Местный
***

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



Цитата(Konst_777 @ Jan 10 2012, 20:29) *
Сетевой адаптер выдает pause-пакеты, а MAC модуля их принимает. Это видно по значениям регистра статистики MAC: aRxPAUSEMACCtrlFrames. То есть, flow-control вроде бы и работает, но все равно, происходит потеря пакетов.

Как я понял ситуацию, МАС внутри FPGA пауз-пакеты принимает, но притормаживания посылок не отрабатывает? Я использую самодельный упрощенный MAC, который нормально отрабатывает все, что мне нужно. Может, в вашем случае дело в глюкавости самой core готового супер-МАС, которую вы используете? Если брали ее с opencores, то почти наверняка какая-нибудь засада там сидит. Убеждался не раз, и зарекся в конце концов.
Go to the top of the page
 
+Quote Post
Костян
сообщение Jan 11 2012, 09:52
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059



QUOTE (Konst_777 @ Jan 10 2012, 15:29) *
[*]MAC и PHY на модуле, вроде бы настроены на 1Gb/full duplex/flow_control ON;
[*]обмен между модулем и ПЭВМ происходит через отдельный сетевой адаптер "Intel® Gigabit CT Desktop Adapter";


ПЭВМ и плата FPGA соединены кросс кабелем ? или через свитч ?
Go to the top of the page
 
+Quote Post
Konst_777
сообщение Jan 13 2012, 08:15
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 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.
Go to the top of the page
 
+Quote Post
Aprox
сообщение Jan 13 2012, 18:44
Сообщение #14


Местный
***

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



Цитата(Konst_777 @ Jan 13 2012, 11:15) *
Похоже, что сетевой адаптер выдает pause-пакеты в самый последний момент, когда в его буфере уже остается свободного места меньше, чем длина пакета от модуля. А поскольку MAC модуля не приостанавливает выдачу данных до окончания выдачи текущего пакета, то и происходит потеря пакета. Вот, как проверить эту версию, я пока не знаю.

Проверить можно другой сетевой картой, более авторитетной. Я тут полазил по последним новациям и обнаружил, что продвинутая общественность использует серверные сетевые адаптеры для ввода быстрых потоков непосредственно в память ПК, минуя Винды и центральный процессор. Удовольствие не сказать, чтобы очень дорогое. Пошукайте, может, вообще FlowCntrol не понадобится.

Go to the top of the page
 
+Quote Post
Konst_777
сообщение Jan 15 2012, 17:30
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 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). Даже недорогими. "Зачем же платить больше ?" ©
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 19:51
Рейтинг@Mail.ru


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