=== Туннели GENEVE

Ссылки: +
link:https://reviews.freebsd.org/D54172[Добавление поддержки Geneve (RFC8926)] URL: link:https://reviews.freebsd.org/D54172[]

Контакт: Seyed Pouria Mousavizadeh Tehrani <info@spmzt.net>

Я работал над реализацией туннелей GENEVE в течение трёх месяцев, и сейчас она находится на рассмотрении.
GENEVE реализует обобщённый интерфейс сетевого туннеля для виртуализации, предназначенный для систем-арендаторов (tenant systems), поверх нижележащей L3 (IP/UDP) сети, предоставляя услуги уровня 2 (ethernet) или уровня 3 с использованием протокола GENEVE.

Вот что было сделано:

* Поддержка одноадресной (unicast) и многоадресной (multicast) нижележащей сети как для IPv4, так и для IPv6.
* Поддержка клеток (Jails) и туннелей geneve с привязкой к VNET.
* Возможности разгрузки RXCSUM/TXCSUM/TSO.
* Поддержка наследования и настройки значений ToS, TTL и DF.
* Поддержка NETLINK/WITHOUT_NETLINK для if_geneve.
* Обновлен ifconfig для поддержки создания и изменения туннелей с использованием NETLINK для if_geneve.
* Написана справочная страница (man page) для man:geneve[4] и обновлена man:ifconfig[8] для включения параметров geneve.
* Написаны тесты.

Зависимости и связанные рецензии, необходимые для поддержки реализации geneve:

* Исправление ошибки в назначении дампа netlink link:https://reviews.freebsd.org/D54190[D54190] (готово)
* Исправление ошибки в наследовании учётных данных netlink link:https://reviews.freebsd.org/D54109[54109] (на рассмотрении)
* Обновление поведения туннелирования ECN в соответствии с RFC6040 (требуется для GENEVE) link:https://reviews.freebsd.org/D53516[53516] (на рассмотрении)

Рецензия большая, потому что я реализовал функции, которые уже доступны на других платформах, перед отправкой.
Вы можете помочь ускорить процесс, рецензируя и оставляя отзывы на phabricator.

//
// The FreeBSD Russian Documentation Project
//
// Original EN revision (31.12.2025): 276bbd583def32ce1e28a6da509e0e273a70f561
//
