Во FreeBSD добавлена поддержка протокола Netlink, применяемого в ядре Linux

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 2514
Зарегистрирован: 20.08.2022

#

Во FreeBSD добавлена поддержка протокола Netlink, применяемого в ядре Linux
Дата публикации:Wed, 05 Oct 2022 12:07:26 +0300


В кодовую базу FreeBSD принята реализация коммуникационного протокола Netlink (RFC 3549), применяемого в Linux для организации взаимодействия ядра с процессами в пространстве пользователя. Проект ограничивается поддержкой семейства операций NETLINK_ROUTE для управления состоянием сетевой подсистемы в ядре.

В текущем виде уровень поддержки Netlink позволяет использовать во FreeBSD Linux-утилиту ip из пакета iproute2 для управления сетевыми интерфейсами, установки IP-адресов, настройки маршрутизации и манипуляции объектами nexthop, хранящими данные о состоянии, используемом для передачи пакета в желаемую точку назначения. После незначительного изменения заголовочных файлов возможно использование Netlink в пакете маршрутизации Bird.

Реализация Netlink для FreeBSD оформлена в виде загружаемого модуля ядра, по возможности не затрагивающего другие подсистемы ядра и создающего отдельные очереди задач (tasqueue) для обработки поступающих по протоколу сообщений и выполнения операций в асинхронном режиме. В качестве причины портирования Netlink называется отсутствие стандартного механизма для взаимодействия с подсистемами ядра, что приводит к тому, что разные подсистемы и драйверы изобретают собственные протоколы.

Netlink предлагает унифицированный коммуникационный слой и расширяемый формат сообщений, который может выступать в роли посредника, автоматически объединяющего в одном запросе разрозненные данные от разных источников. Например, на Netlink могут быть переведены такие подсистемы FreeBSD, как devd, jail и pfilctl, ныне использующие собственные вызовы ioctl, что значительно упростит создание приложений для работы с данными подсистемами. Кроме того, использование Netlink для изменения объектов и групп nexthop в стеке маршрутизации позволит более эффективно взаимодействовать с процессами маршрутизации в пространстве пользователя.




Реализованные в настоящее время возможности:
  • Получение информации о маршрутах, объектах и группах nexthops, сетевых интерфейсах, адресах и соседних хостах (arp/ndp).
    Формирование уведомлений о появлении и отключении сетевых интерфейсов, установке и удалении адресов, добавлении и удалении маршрутов.
    Добавление и удаление маршрутов, объектов и групп nexthops, шлюзов,
    сетевых интерфейсов.

    Интеграция с интерфейсом Rtsock для управления таблицей маршрутизации.


Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=57873

Жизнь за Нер'зула!

Ответить