1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-OpenR

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Открытое маршрутизирование: OpenR

Поддержите Украину Статус сборки Статус документации

Open Routing, или OpenR, — это внутренне разработанный и реализованный протокол и платформа внутреннего маршрутизирования (Interior Routing Protocol/Platform) компании Facebook. OpenR был изначально спроектирован и построен для маршрутизации в сетях типа Terragraph. Гибкая архитектура OpenR привела к его использованию в других сетях, включая новую WAN-сеть Express Backbone компании Facebook.

Документация


Для начала работы с OpenR обратитесь к нашей подробной документации.

Примеры библиотек


Для просмотра полезных способов использования библиотек для создания программ, работающих с OpenR, обратитесь к директории examples.

Ресурсы


Вклад

---Для начала вклада в проект ознакомьтесьТип документа для перевода: markdown
Язык исходного текста: венгерский
Язык финального текста должен быть: русский

YöntemzőmzőmzőmzőmzőmzőmzőmzőmzőmzőmzőmzőmzőmzőmzőmzőmzőmzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмzőмОдин шаг сборки — UbuntuМы предоставили скрипт build/build_openr.sh, который был протестирован на LTS-версиях Ubuntu. Скрипт использует gendeps.py для установки всех необходимых зависимостей, сборки OpenR и установки C++-бинарников, а также python-инструментов. Пожалуйста, модифицируйте скрипт по необходимости для вашей платформы. Также обратите внимание, что некоторые библиотечные зависимости требуют более новой версии, чем та, которая предоставляется стандартным менеджером пакетов системы, и поэтому мы компилируем их из исходного кода, а не устанавливаем через менеджер пакетов. Пожалуйста, обратите внимание на эти случаи в скрипте и необходимые версии.

Шаги сборки

# Установка зависимостей и сборка openr
bash ./build/build_openr.sh

# Для запуска тестов (некоторые тесты требуют привилегий sudo)
python3 build/fbcode_builder/getdeps.py test \
  --src-dir=. \
  --project-install-prefix openr:/opt/facebook \
  openr

Если вы внесли какие-либо изменения, вы можете запустить cmake ../openr и make из каталога сборки, чтобы собрать openr с вашими изменениями.

Установка

openr собирает как статические, так и динамические библиотеки, и шаг установки устанавливает библиотеки и все заголовочные файлы в /opt/facebook/openr/lib и /opt/facebook/openr/include/, а также python-модули в вашем каталоге site-packages Python. Примечание: скрипт build_openr.sh выполнит этот шаг за вас.- Вручную вы можете запустить getdeps.py для установки в другом месте

  • см. build_openr.sh

Установка Python-библиотек и CLI

Вам потребуется python pip или setuptools для сборки и установки python-модулей. Все библиотечные зависимости будут автоматически установлены, за исключением модуля fbthrift-python, который вам потребуется установить вручную с помощью шагов, аналогичных описанным ниже. Это установит breeze, инструмент CLI для взаимодействия с OpenR.

  • Установка Python требует компилятора fbthrift / thrift1, который должен быть установлен и добавлен в PATH
cd openr/openr/py
python setup.py build
sudo python setup.py install

Сборка и использование Docker

OpenR теперь имеет Dockerfile. Он использует gendeps.py для сборки всех зависимостей + OpenR.

docker build --network host .

Запуск

Вы можете указать файл конфигурации, привязав каталог с файлом openr.cfg в /config

docker run --name openr --network host openr_ubuntu
  • Чтобы использовать пользовательскую конфигурацию, примонтируйте /config в контейнер
    • OpenR бинарный файл будет искать /config/openr.conf

Лицензия

OpenR лицензирован по MIT.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

OpenR — это маршрутный протокол/платформа, внутренне разработанный и спроектированный в Facebook. Развернуть Свернуть
C++ и 6 других языков
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-OpenR.git
git@api.gitlife.ru:oschina-mirror/mirrors-OpenR.git
oschina-mirror
mirrors-OpenR
mirrors-OpenR
main