Модуль приема и препроцессинга ethernet пакетов FPGA + Linux Kernel
Цена договорная
Цель работы - обеспечить передачу ethernet пакетов + служебная информация о пакете (метаданные) в linux userspace (минуя сетевой стек) с производительностью до ~150 000 пакетов/c с минимально возможной нагрузкой на процессорное ядро
Используемая платформа Intel (Altera) Cyclone V SX SoC + Linux
Разработанное IP ядро должно реализовать следующий функционал:
Прием ethernet пакета по интерфейсу GMII от IP реализующего ethernet switch
Формирование метаданных пакета :
Ведение статистики полученных данных :
Необходимо реализовать linux драйвер (kernel module) реализующий интерфейс управления IP Core и доступа к данным (метаданные + ethernet пакет) со следующим функционалом
Используемая платформа Intel (Altera) Cyclone V SX SoC + Linux
Разработанное IP ядро должно реализовать следующий функционал:
Прием ethernet пакета по интерфейсу GMII от IP реализующего ethernet switch
Формирование метаданных пакета :
- добавление поля таймстемп, зафиксированного в момент старта пакета на интерфейсе GMII
- при необходимости (только для ethernet пакетов с определенным ethertype) добавление поля hash (требуется обычный, не криптографический hash, для идентификации отдельных потоков данных между собой, например xxh32 или что-то подобное)
Ведение статистики полученных данных :
- общее число пакетов + число байт полученных в модуле
- число пакетов + число байт данных полученных после старта приема из HPS
- число сброшенных (пропущенных из-за переполненности кольцевого буфера) пакетов + число байт данных пропущенных после старта приема из HPS
Необходимо реализовать linux драйвер (kernel module) реализующий интерфейс управления IP Core и доступа к данным (метаданные + ethernet пакет) со следующим функционалом
- старт/стоп приема данных по интерфейсу GMII
- API чтения данных в стиле poll/receive (с возможностью ожидания готовности X пакетов и таймаутом не больше чем Y)
- получение статистики
- Файлы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.