Здравствуйте!
Задался вопросом освоить ядро от Xilinx - Tri-Mode Ethernet MAC v5.4. Для этого создал тестовый проект в Xilinx ISE 14.7 под отладочную плату SP605. Вся прелесть в том, что тестовый проект под данное ядро уже полностью сконфигурирован для платы SP605, и это означает, что вмешательство пользователя сведено к минимуму. Но меня постигла неудача.
В проекте уже реализован генератор пакетов, а так же loopback, который меняет MAC адрес назначения и MAC адрес источника пришедшего пакета и отправляет его обратно. При включении генератора, контроллер исправно шлет пакеты на PC, которые я и наблюдаю Wireshark'ом. А вот при отключении генератора, контроллер должен все приходящие на него пакеты отправлять обратно, поменяв MAC адреса. Компьютер шлет в эфир ARP пакеты (Destination: Broadcast = FF:FF:FF:FF:FF:FF), которые, как ни странно, контроллер принимает, меняет MAC адреса местами и отправляет обратно, что я и наблюдаю в Wireshark. Но если я генерирую пакеты со стороны PC, к примеру с помощью Ostinato, у которых Destination Address отличен от FF:FF:FF:FF:FF:FF, то пакеты еще видны на приёме в ядро Tri-Mode Ethernet MAC, а на выходе из ядра уже отсутствуют. При этом, замечу, что PHY Marvell 88E1111 пропускает через себя пакеты, что логично, иначе я бы не наблюдал их чипскопом на входе в ядро. Т.е., скорее всего ошибка в настройке параметров работы ядра, как я понимаю. Что странно, т.к. проект отлажен самим производителем и настроен на работу с конкретной платой.
Возможно кто-то уже сталкивался с такой проблемой или знает пути ее решения. За любой совет я был бы вам очень признателен!