[freebsd] netgraph
Eugene Grosbein
eugen at grosbein.net
Sun Apr 4 20:04:50 EEST 2021
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 штатный драйвер uart(4) уже создаёт файлы устройств
в /dev, плюс драйвер этот реализует абстракцию termios(4) line discipline и уже написаны демоны,
которые перекладывают байты в девайс и обратно: ppp, mpd5 и раньше ещё был slattach, но протокол SLIP
для работы поверх UART выпилили давно из FreeBSD (во время FreeBSD 4 он ещё работал).
Если вам интересно использование именно NETGRAPH через некое железо, то плясать надо от драйвера
этого железа, в какой форме драйвер принимает данные для отправки или выдаёт принятые от железа данные?
Если вы сами пишете такой драйвер - вполне возможно реализовать новую ноду NETGRAPH,
которая с одной стороны будет частью драйвера, общающейся с железом "напрямую",
а с другой стороны посредством нетграфовых хуков может быть соединена с ng_iface или ng_eiface
или ng_device.
More information about the freebsd
mailing list