Что это такое?
Библиотека для быстрого поиска самого длинного совпадающего префикса в IPv6-сетях на основе алгоритма PlanB.
Это независимая переработка алгоритма PlanB из научной статьи в виде портативной библиотеки на C++17 с MIT-лицензией. Проект добавляет недостающие в оригинале возможности: кроссплатформенность, Python-интерфейс, тесты и поддержку динамических таблиц...
Для разработчиков сетевого ПО, исследователей компьютерных сетей и преподавателей, которым нужна производительная реализация алгоритмов маршрутизации.
Оригинальный код из научной статьи PlanB был привязан к Linux и AVX-512, не имел лицензии и не подходил для реальных проектов.
Библиотека реализует алгоритм PlanB — линейное B+-дерево, оптимизированное для поиска IPv6-префиксов. Она автоматически использует AVX-512 команды для параллельной обработки, а при их отсутствии переключается на скалярный режим. Поддерживает динамическое обновление таблиц маршрутизации без блокировок и имеет Python-биндинги для удобства использования.
Это независимая переработка алгоритма PlanB из научной статьи в виде портативной библиотеки на C++17 с MIT-лицензией. Проект добавляет недостающие в оригинале возможности: кроссплатформенность, Python-интерфейс, тесты и поддержку динамических таблиц маршрутизации.
Проект родился из разочарования автора в оригинальной реализации научной статьи — он взял хорошую идею и сделал её действительно пригодной для использования в реальных проектах.
Стоит пробовать, если вам нужна производительная реализация LPM для IPv6 — это качественный инженерный проект с хорошей документацией и тестами.
Проект активно развивается — есть подробные бенчмарки, Python-интерфейс и качественная документация. Хотя звёзд пока немного, кодовая база выглядит зрелой.
Карточка собрана по данным GitHub, README и структуре репозитория. Это не официальная документация проекта.
Библиотека для быстрого поиска самого длинного совпадающего префикса в IPv6-сетях на основе алгоритма PlanB.
Для разработчиков сетевого оборудования, исследователей, создателей SDN-контроллеров и преподавателей компьютерных сетей.
Если проект подходит под ваш сценарий, можем помочь с установкой, интеграцией, доработкой или аккуратным форком под вашу инфраструктуру.