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

 
 
> Слегка "навороченная" 1-10Gbit Сетевая карта на ПЛИС, Легко ли реализуется?
syoma
сообщение Nov 15 2016, 11:57
Сообщение #1


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

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Здравствуйте.
Интересует мнение экспертов в правильном ли я направлении думаю.
Есть FPGA PCIe карточка на Virtex-6 или 7, у которой есть 4-8шт 10Gbit SFP+ Портов. Через SFP порты карточка подключается к Ethernet. Хотелось бы сделать из нее нечто вроде "продвинутой" сетевой карты. "Продвинутость" должна заключаться в том, что ПЛИС должна выделять из сетевого трафика отдельные MAC фреймы и обрабатывать из локально, чтобы получить более быструю реакцию на определенные события в сети. Весь остальной трафик должен тупо передаваться на CPU по PCIe для дальнейшей обработки процессором, в таком виде, как это обычно делает обычная сетевая карта.
Я так понимаю, что на уровне PCIe ПЛИС должна эмулировать какой-либо из стандартных Intelовских сетевых контроллеров типа i82xxx, чтобы она работала со стандартным драйвером со стороны процессора. Это так?

Ну и собственно основной вопрос - так вообще делают? Просто мы с таким в своих проектах не сталкивались, мы с PCIe больше дружим, а Ethernet только под свои нужды использовали. Выглядит не сильно сложно, но насколько это нетривиальная задача по реализации? В сети читаю, что так борются с DDoS атаками, а также делают майнинг.
Ну и вопрос, как такая карточка должна определяться со стороны CPU? Как свитч и несколько "виртуальных" endpoints?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Igor657
сообщение Nov 15 2016, 21:45
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 7-12-05
Пользователь №: 11 941



Про эмуляцию стандартной карты - не думаю, что это простой путь. Обычно их производители не раскрывают внутреннюю структуру и исходный код драйвера и следовательно повторить их будет не просто.

Обработка на уровне MAC не сложна, но с интерфейсом чип PHY-FPGA не всё так просто. Если опыта нет, то время потратите. Это я про 1G. С 10G не работал.

Как я понимаю стандарта на межпортовое взаимодействие сетевых карт в Виндовс нет. Каждый делает как хочет. Драйвер для PCIe на таких скоростях потребует поддержки DMA, что сильно усложняет дизайн
как в FPGA так и в драйвере.

Успехов!
Go to the top of the page
 
+Quote Post
AVR
сообщение Nov 16 2016, 12:38
Сообщение #3


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(Igor657 @ Nov 16 2016, 00:45) *
Про эмуляцию стандартной карты - не думаю, что это простой путь. Обычно их производители не раскрывают внутреннюю структуру и исходный код драйвера и следовательно повторить их будет не просто.
Что? Назовите хоть одну сетевую карту, исходный код которой закрыт для ОС Linux.

Считаю что автору темы не нужно страдать и пытаться мимикрировать под существующие сетевые карты какого-то производителя, а написать свой драйвер самому. Примеров множество http://lxr.free-electrons.com/source/drivers/net/ethernet/

Например этот простой: http://lxr.free-electrons.com/source/drive...linx_emaclite.c Видно что там по большей части подробные комментарии а не код, вся протокольная часть это забота ядра Linux, а драйвер туда сюда пакеты гоняет и прерывания пасёт. Lite примечателен еще тем, что там как раз урезанная версия, что подходит если надо сделать специализированную сетевуху, работающую в заведомо ограниченном окружении без вариаций.

Да, в этом примере http://lxr.free-electrons.com/source/drive...ethernet/xilinx нет PCI, тут показана именно сторона как из устройства засовывать в сетевой стек. PCIe драйвер это немного отдельно, но тоже важно.

Цитата(Igor657)
Драйвер для PCIe на таких скоростях потребует поддержки DMA, что сильно усложняет дизайн
На каких же скоростях сетевой контроллер не требует поддержки DMA? И как это усложняет, если DMA есть почти в любом простом драйвере? Как это усложнит дизайн стороны FPGA если без DMA проект бессмысленный.


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- syoma   Слегка "навороченная" 1-10Gbit Сетевая карта на ПЛИС   Nov 15 2016, 11:57
|- - akorud   Цитата(Igor657 @ Nov 15 2016, 22:45) Про ...   Nov 16 2016, 07:29
- - makc   Все правильно, основные сложности лежат в области ...   Nov 16 2016, 06:25
- - faa   Посмотрите проект White Rabbit на ohwr.org для при...   Nov 16 2016, 06:32
- - FAE   Цитата(syoma @ Nov 15 2016, 14:57) Здравс...   Nov 16 2016, 13:43
- - syoma   Спасибо за советы. Забыл уточнить, что пока на 10G...   Nov 17 2016, 09:29
|- - makc   Цитата(syoma @ Nov 17 2016, 12:29) MAC ко...   Nov 17 2016, 09:50
|- - akorud   Цитата(syoma @ Nov 17 2016, 10:29) Остало...   Nov 17 2016, 12:58
|- - syoma   Цитата(akorud @ Nov 17 2016, 15:58) Начин...   Nov 18 2016, 09:44
|- - akorud   Цитата(syoma @ Nov 18 2016, 10:44) Я имел...   Nov 18 2016, 12:48
- - syoma   Обновление такое - 1Гбит и 10Гбит на ПЛИС запущены...   Oct 13 2017, 10:06
- - blackfin   Цитата(syoma @ Nov 15 2016, 14:57) ...   Oct 13 2017, 10:26
- - Doka   syoma Если не секрет, для чего вычленять GOOSE из...   Oct 18 2017, 13:07


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

 


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


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