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 pip
или setuptools
для сборки и установки python-модулей.
Все библиотечные зависимости будут автоматически установлены, за исключением модуля fbthrift-python
,
который вам потребуется установить вручную с помощью шагов, аналогичных описанным ниже. Это установит breeze
, инструмент CLI для взаимодействия с OpenR.
fbthrift
/ thrift1
, который должен быть установлен и добавлен в PATHcd openr/openr/py
python setup.py build
sudo python setup.py install
OpenR теперь имеет Dockerfile
. Он использует gendeps.py
для сборки всех зависимостей + OpenR.
docker build --network host .
Вы можете указать файл конфигурации, привязав каталог с файлом openr.cfg
в /config
docker run --name openr --network host openr_ubuntu
/config
в контейнер
/config/openr.conf
OpenR лицензирован по MIT.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )