Павел Курочкин, Денис Габидуллин: "Создаём с нуля ethernet-дивайс на базе linux и FPGA"
Создаём с нуля ethernet-дивайс на базе linux и FPGA
Мы расскажем про то:
- как аппаратно устроены NICи. не только на сетевых картах, но и на встраиваемых железках. Особое внимание уделим хардварному интерфейсу между линуксом и ethernet (какие чипы используются для PHY, что делает MAC-контроллер и какие тут есть заморочки). Отдельно остановимся на PCIexpress.
- что необходимо для того, чтобы в ядре появилось сетевое устройство. Начнём с базовых вещей - как обеспечить передачу фреймов между железкой и драйвером, а потом перейдём к вопросам быстродействия, эффективной обработки прерываний и т.п.
- что необходимо, чтобы управлять сетевым устройством (скоростью линка, автосогласованием, чтением информации об SFP и т.п.). какие для этого в ядре есть интерфейсы и наработки.
Павел Курочкин
Россия. Санкт-Петербург
CTO
НТЦ Метротек
Технический директор в НТЦ Метротек. Начинал свой путь FPGA-разработчиком, дальше поднимался вверх по архитектурной лестнице: драйвера/embedded, linux network programming, shell, GUI на Qt и даже highload. Ценит Unix Way, в особенности текстовые интерфейсы, изо всех сил старается не усложнять без необходимости. Из последних разработок - высоконагруженная система мониторинга RTP-потоков, новое поколение приборов ET/ETL-N производства НТЦ Метротек.
Денис Габидуллин
Россия. Санкт-Петербург
Lead developer
НТЦ Метротек
Ведущий разработчик в НТЦ Метротек. Имеет огромный опыт в разработке самого современного и высокоскоростного RTL-кода FPGA, драйверов под linux. Ценит полный контроль над разрабатываемыми системами и кодом. Последние проекты: FPGA-коммутатор 10/40/100 gigabit ethernet, новое поколение приборов ET/ETL-N производства НТЦ Метротек.