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

Ответить