Arlleex 187 3 июля Опубликовано 3 июля · Жалоба 50 минут назад, fguy сказал: Для уникаста арп то же не обязателен - вы заранее узнаете мас назначения и пишите его в ядро. И как вы себе этот ужас представляете? Перешивать железку всякий раз, когда ее надо подключить к другому компу? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ivanii 3 3 июля Опубликовано 3 июля · Жалоба Ввести с клавиатуры, ввести через сериал консоль, передать конфиг флешкой и т.д. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 187 3 июля Опубликовано 3 июля · Жалоба Ну коли автору такой мазохизм подходит - то почему нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 35 3 июля Опубликовано 3 июля · Жалоба 3 hours ago, Aleksey25 said: У Аlex Forencich хорошая библиотека для Гигабитных сетей, в моем распоряжении PHY только на 100MBit. Но рассмотреть Аlex Forencich как пример стоит, согласен. На уровне стека выше PHY все одно что 1G что 100M. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fguy 5 3 июля Опубликовано 3 июля · Жалоба 2 часа назад, Arlleex сказал: И как вы себе этот ужас представляете? Перешивать железку всякий раз, когда ее надо подключить к другому компу? А IP другого компа вы как собираетесь ему давать - вот тем же путем и МАС. Если девайс на цинке, то передать параметры канала выдачи с плис можно через проц или зашивать конфиг с настройками в загрузочную флэшку. Если это обычная плис без встроенного проца, то ядро для упаковки пакетов подключаю к микроблэйзу для конфигурации, а так же для отправки пакетов с проца, а канал приема пакетов с ядра эзернет через фифоху в микроблэйз и свой микростэк (лвипу нужно будет 256 кбайт озу - а свой и в 64 кб помещается) с арп, пинг и удипи для управления девайсом. Если проц совсем не нужен, то все адреса можно положить в брам и его инициализировать дампом при сборке бит-файла (так же как интегрируется код микроблэйза), а ядром вычитывать из него адреса. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 35 3 июля Опубликовано 3 июля · Жалоба 1 hour ago, fguy said: А IP другого компа вы как собираетесь ему давать - вот тем же путем и МАС Конфигурация параметров сети для HW стека (кроме стандартных DHCP, ARP) может быть выполнена разными способами как с использованием сторонних каналов, так и чисто по сети, например магическим пакетом с удалённого PC на жёстко заданный адрес. И для этого совсем необязательно имеет MB в железке. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fguy 5 3 июля Опубликовано 3 июля · Жалоба 1 минуту назад, RobFPGA сказал: Кофигурация параметрвов сети для HW стека (кроме стандартных DHCP, ARP) может быть выполнена разными способами как с использованием стронних каналов, так и чисто по сети, например магическим пакетом с удаленного PC на жестко заданный адресс. То же вариант. Как то нужно было по быстрому конфигурить на плис адрес передачи - дык сделали это через пинг - ядро отправляло пакеты на адрес источника в пришедшем пакете пинга. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BSACPLD 15 3 июля Опубликовано 3 июля · Жалоба 6 hours ago, Arlleex said: ICMP не обязательно. До тех пор, пока железка не будет интегрироваться в чужую сетку с 100500 разных устройств и несколькими слоями маршрутизаторов. В случае чего, как связь с железкой проверять будете? У меня вот один раз очень интересный случай был. Железка это камера со встроенным маршрутизатором на ПЛИС. Связь с железкой по своему протоколу есть. Пинги на железку и комп подключенный к общей сети через железку проходят, а интернета на компе нет. Что в результате оказалось - битый кабель. На коротких пакетах всё ОК, на длинных пакетах данные бились так, что выставлялся RX_ERR на выходе PHY. Выяснил экспериментально меняя длину ICMP запроса. Поменял кабель и всё заработало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 187 3 июля Опубликовано 3 июля · Жалоба 9 минут назад, BSACPLD сказал: До тех пор, пока железка не будет интегрироваться в чужую сетку с 100500 разных устройств и несколькими слоями маршрутизаторов. В случае чего, как связь с железкой проверять будете? Я потому и написал про простейшую связь в виде точка-точка, а-ля комп-железка. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fguy 5 3 июля Опубликовано 3 июля · Жалоба 3 часа назад, BSACPLD сказал: До тех пор, пока железка не будет интегрироваться в чужую сетку с 100500 разных устройств и несколькими слоями маршрутизаторов. Проход пакетов от одного девайса до другого по такой сетке обеспечивает админ, а не навороченность (в плане поддержки кучи протоколов) ядра в плис. Мне реализации обычного udp c возможностью выставить нужные МАС, IP адрес и порт всегда хватало что бы пакеты дошли хоть по радиомостам, хоть по много-км территории предприятия с хз какой структурой сети. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BSACPLD 15 3 июля Опубликовано 3 июля · Жалоба 4 hours ago, fguy said: Проход пакетов от одного девайса до другого по такой сетке обеспечивает админ, а не навороченность (в плане поддержки кучи протоколов) ядра в плис. Мне реализации обычного udp c возможностью выставить нужные МАС, IP адрес и порт всегда хватало что бы пакеты дошли хоть по радиомостам, хоть по много-км территории предприятия с хз какой структурой сети. И все админы, с которыми мне приходилось сталкиваться, использовали именно ping для проверки работы сети 🙂 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ivanii 3 4 июля Опубликовано 4 июля · Жалоба 10 часов назад, BSACPLD сказал: все админы, с которыми мне приходилось сталкиваться, использовали именно ping для проверки работы сети Открою тайну - прохождение ICMP даже по 1500 байт не гарантирует прохождения жирного потока, прохождения данных по IP и тем более TCP, "чудес" бывает много и разных. И даже если у вас "все работает" это не значит что вся сеть работает ШТАТНО и сети это не вредит. Для своего эксперимента в "своей" изолированной сети(или VLAN) можно творить любую дичь, для чужих сетей лучше придерживаться стандартов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BSACPLD 15 4 июля Опубликовано 4 июля · Жалоба 2 hours ago, Ivanii said: И даже если у вас "все работает" это не значит что вся сеть работает ШТАТНО и сети это не вредит. Для своего эксперимента в "своей" изолированной сети(или VLAN) можно творить любую дичь, для чужих сетей лучше придерживаться стандартов. Так я как раз и писал выше про необходимость поддержки минимального набора протоколов, чтобы железка могла работать практически в любой сети и никому не мешать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fguy 5 4 июля Опубликовано 4 июля · Жалоба 6 минут назад, BSACPLD сказал: Так я как раз и писал выше про необходимость поддержки минимального набора протоколов, чтобы железка могла работать практически в любой сети и никому не мешать. Интерфейс управления естественно должен поддерживать arp и ping для работы хотя бы с udp, а интерфейсу выдачи данных по тому же мультикаст/уникаст проку с этого нуль. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BkmZZZzzz 2 5 июля Опубликовано 5 июля · Жалоба Вот неплохая реализация базового IP/UDP стека (большинство модулей проверено - работают) - https://github.com/alexforencich/verilog-ethernet Это чуть более полноценная реализация на SystemVerilog (тоже нормально работает, проблемы только с ICMP-модулем - глючит на объёмах больше 800 байт) - https://github.com/hypernyan/eth_vlg Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться