On Mon, 5 Apr 2021 00:04:50 +0700 Eugene Grosbein <eu...@grosbein.net> wrote:
> 02.04.2021 14:43, Nick Kostirya via freebsd пишет: > > Привет. > > > > У меня наивный вопрос про netgraph. > > > > Я правильно понял, что при помощи ng_socket можно соединить два компьютера > > в одну сеть через, например, UART проводами или при помощи радио? > > Для этого лишь достаточно написать демона, который будет просто > > перекладывать байты из socket в UART сразу или передавать радиочипу? > > Не этой нодой. > > ng_socket это "переходник" между BSD-сокетами стека TCP/IP и внутренностями > NETGRAPH и не более того. > То есть, если у нас есть некая абстрактная нода или сеть нод внутри NETGRAPH > и их надо кормить > данными, приходящими из TCP/IP (или в обратную сторону, или в обе), для этого > можно использовать ng_socket. А в случае UART можно использовать ng_tty(4)? Общение с железкой осуществляется через gpio и uart. Сначала она настраивается через uart, потом при помощи gpio переключается в режим, когда через uart (/dev/cuaU* или /dev/ttyU*) идут только данные, которые прямо без обработки можно заворачивать в TCP/IP. Получится, после настрой железки, при помощи ng_tty создать netgraph ноду и ее при помощи ng_ksocket соединить ее к стеку TCP/IP? > > Для передачи данных (соединения в сеть) через UART штатный драйвер uart(4) > уже создаёт файлы устройств > в /dev, плюс драйвер этот реализует абстракцию termios(4) line discipline и > уже написаны демоны, > которые перекладывают байты в девайс и обратно: ppp, mpd5 и раньше ещё был > slattach, но протокол SLIP > для работы поверх UART выпилили давно из FreeBSD (во время FreeBSD 4 он ещё > работал). > > Если вам интересно использование именно NETGRAPH через некое железо, то > плясать надо от драйвера > этого железа, в какой форме драйвер принимает данные для отправки или выдаёт > принятые от железа данные? Драйверов пока нет. Другие железки работают через spi протокол. Но что-то они не хочет дружить с микрокомпьютером под управление FreeBSD, так что скорее всего сделаю через промежуточный микропроцессор, который spi будет преобразовывать в uart. Тем более, что упомянутая выше так сама делает. > > Если вы сами пишете такой драйвер - вполне возможно реализовать новую ноду > NETGRAPH, > которая с одной стороны будет частью драйвера, общающейся с железом > "напрямую", > а с другой стороны посредством нетграфовых хуков может быть соединена с > ng_iface или ng_eiface > или ng_device. _______________________________________________ freebsd mailing list freebsd@uafug.org.ua http://mailman.uafug.org.ua/mailman/listinfo/freebsd