LINUX.ORG.RU

Soft switch/router VPP

 , , , ,


4

3

Цель открытого проекта VPP — создание свича/маршрутизатора L2/L3+ с множеством функций, включая полноценный NAT, с высокой производительностью обрабатывающего сетевые пакеты при использовании обычного процессора за счёт векторной обработки данных (эта технология уже используется в новых промышленных сетевых устройствах). Проект ведётся Cisco, Pantheon Technologies и другими.

Продукт работает на Intel DPDK. Этот фрэймворк позволяет использовать сетевую карту Intel в обход ядра операционной системы.

Продукт не является стабильным; все отчёты об ошибках и запросы функциональности принимаются кураторами. Разработчики будут благодарны за тестирование.

>>> Страница VPP

>>> Страница DPDK

>>> Список рассылки

>>> Подробности

★★★

Проверено: Shaman007 ()
Последнее исправление: sudopacman (всего исправлений: 14)

Ответ на: комментарий от AVL2

12 физических ядер = 20% idle, 8.5gbps in/2gbps out + море ошибок rx_missed, так что на линуксе таким скоростям при натированни трафика трудно жить :)

init_ ★★★
() автор топика
Ответ на: комментарий от init_

tap это интерфейс для передачи/маршрутизации пакетов. bird (BGP) это программа для изменения таблиц маршрутизации линукс. tap интерфейс bird скорее всего сможет слушать без переписывания, но каким образом bird будет изменять таблицы маршрутизации (fib) внутри VPP не понятно. Скорее нужно просить разраба bird чтобы он изучил VPP чтобы прикрутить BGP,OSPF и т.д для работы с fib внутри VPP.
я могу и ошибаться конечно.

Vlad-76 ★★★★
()
Ответ на: комментарий от init_

если найдет скиньте схему тестов, будет интересно. Собираю пограничиник, упираюсь в 550000 pps на одном ядре на сервере с двумя сокетами и 8-мью ядрами.

Vlad-76 ★★★★
()
Ответ на: комментарий от AVL2

«Я все таки склоняюсь к мысли, что это попытка сискарей обкатать новую прошивку своих маршрутизаторов на интелах. Благо интелы у них давно уже используются.»

Судя по этому документу https://fd.io/wp-content/uploads/sites/34/2017/07/FDioVPPwhitepaperJuly2017.pdf скорость роутинга (pps) в VPP на последних топовых процах очень даже внушительна, но вот все фичи, которые циско с своих решениях пока поставляет не факт что будут быстро работать. хотя ASR100X платформу VPP с доработками КМК может уделать.
" А вот 10gb линки обслуживать уже затруднительно. Возможно при таких скоростях у провайдеров уже и выбора особого не будет." Смотря для чего линк использовать. Сегодня маршрутизировал трафик - на одном ядре CPU получил без потерь 0,5 млн пакетов в секунду. 8 ядер в сервере. 2,3 млн пакетов по 700 байт нужно обработать чтобы пропустит полосу в 13 ГБит/с.

Vlad-76 ★★★★
()
Последнее исправление: Vlad-76 (всего исправлений: 1)
Ответ на: комментарий от AVL2

Я все таки склоняюсь к мысли, что это попытка сискарей обкатать новую прошивку своих маршрутизаторов на интелах.

И много ты видел открытых прошивок от циски? Склоняйся в другую сторону.

LamerOk ★★★★★
()
Ответ на: комментарий от init_

«Second, for OSPF to function properly, each router needs to know the other is reachable. This is done via ICMP.» Можете объяснить каким образом доступность проверяется через ICMP?
Приведите конфиг bird для BGP.
Каким образом будет происходить экспорт/импорт маршрутов между BGP и OSPF протоколами в bird? По старинке через table master, которая в свою очередь связана с linux main table ?

Vlad-76 ★★★★
()
Ответ на: комментарий от LamerOk

есть эмуляторы для IOS циско которые работают на PC. для Cisco останется вынести из IOS dataplain в VPP, доработать интерфейс для control plain VPP и уже разработанный софт Cisco заиграет новыми краскам. Софт циски никакого интереса с точки зрения его изучения никому не интересен. Скорее Cisco нужно двигать/теснить на рынке своих конкурентов.

Vlad-76 ★★★★
()
Последнее исправление: Vlad-76 (всего исправлений: 1)
Ответ на: комментарий от init_

гм, почему же это где-то в недрах упрятано?... и да, как-то сомнительно что роуты попадут в FIB (хотя, если патчить через LD_PRELOAD вызовы netlink...)

NiTr0 ★★★★★
()
Ответ на: комментарий от Vlad-76

ктож говорил что в жизни все легко :)

init_ ★★★
() автор топика
Ответ на: комментарий от Vlad-76

я так понимаю маршрутизация осуществляется как обычно, а вот сам пакетный процессинг через VPP, здесь идет речь скорее всего что VPP занимается чисто обработкой пакетов, ну а BIRD уже юзерспэйс, там же tap устройства, они по идее никакой процессорной загрузки не несут

init_ ★★★
() автор топика
Ответ на: комментарий от Vlad-76

а 50g линки обслуживать почти нереально :)

init_ ★★★
() автор топика
Ответ на: комментарий от init_

круто, можно начать пробовать ковыряться
«Unfortunately the VPP's router plugin is not being actively maintained and is not part of the official VPP repository, being maintained separately in the VPP Sandbox (VPPsb) [5]. Its latest versions are broken since a few changes were made in the VPP API, so we're going to use older versions of VPP/VPPsb where things are known to work.» - это означает что последнюю версию VPP связующий плагин не поддерживает?

Vlad-76 ★★★★
()
Ответ на: комментарий от init_

Еще бы эмулятор Cisco IOS совместно запустить с VPP и совсем круто будет.

Vlad-76 ★★★★
()
Ответ на: комментарий от init_

я так понимаю маршрутизация осуществляется как обычно, а вот сам пакетный процессинг через VPP

что в вашем понимании «маршрутизация» и что «пакетный процессинг»? как VPP узнает, что в таблице маршрутизации ядра добавился/удалился маршрут?

NiTr0 ★★★★★
()
Ответ на: комментарий от NiTr0

https://github.com/FRRouting/frr/wiki/Alternate-forwarding-planes:-VPP
«This tutorial explains how to integrate the two projects together. In other words, how to build a router using FRR for the control plane and VPP for the data-plane. For this to work, we're going to use VPP's router plugin [4], which acts as a glue between VPP and any Linux-based routing stack. This plugin implements logic to punt control packets to the Linux network stack so routing daemons can work. Also, it implements a netlink-based mechanism that continually synchronizes the Linux's kernel routing table into VPP's FIB (the fast-path).»
получается что в linux будут маршруты и в VPP будут те же самые маршруты.
tap интерфейсы, которые проброшенные в VPP, открываются/слушайются демонами маршрутизации, запускаемые в linux

Vlad-76 ★★★★
()
Последнее исправление: Vlad-76 (всего исправлений: 3)
Ответ на: комментарий от Vlad-76

да я также понял, но надо собирать VPP определенной версии, это конечно костыль, но именно для таких затребованных вещей скорее всего это вариант. я не отрицаю того, что VPP сами разовьют данный реквест в будущем, но надо им хотябы написать в список рассылки и проголосовать за него несколькими людьми к примеру

init_ ★★★
() автор топика
Ответ на: комментарий от init_

может проще разрабов bird попросить чтобы они переделали (добавили возможность) свое детище на работу не с linux fib а с VPP fib? Зачем лишнее звено в виде плагина?Проще настраивать опять же - только VPP и bird нужен. Концептуальнее правильнее - dataplane (VPP) и controlplane (bird).

Vlad-76 ★★★★
()
Последнее исправление: Vlad-76 (всего исправлений: 3)
Ответ на: комментарий от Vlad-76

вы поймите, что в данном плане, VPP является маршрутизатором умным, а BGP это по сути фича маршрутизатора, возьмите к примеру какой-нибудь extreme summit там ведь есть функция BGP, поэтому скорее всего лучше добавить в VPP это дело, чем мутить юзерспэйс линуксы, ведь например NAT они сделали, как и туннелирование трафика

init_ ★★★
() автор топика
Ответ на: комментарий от init_

Так я с этого и начал, есть ли BGP,OSPF,netflow exporter в VPP
оказалось что нет. и тесть тогда нечего.
А раз нет в VPP умности в виде OSPF,BGP то умным его сложно назвать. Потому как BGP,OSPF это основные фичи маршрутизаторов.
Сложно представить себе ситуацию когда железка не поддерживает ни одного протокола маршрутизации - BGP,OSPF,RIP и др. и ее при этом на рынке или сообществе продвигают как умный маршрутизатор!!!

Vlad-76 ★★★★
()
Последнее исправление: Vlad-76 (всего исправлений: 1)
Ответ на: комментарий от Vlad-76

не всем железкам нужен bgp, ospf и тд, netflow там есть, только не netflow, а ipfix. Каждому свое, мне вот лично от VPP нужен трафик шейпер и NAT, BGP у меня занимается другая железка. С другой стороны не у всех железок есть mpls :) зато в VPP это есть, если вам очень нужен VPP с BGP то воспользуйтесь FRR плагином или напишите в сообщество чтобы пилили свой функционал с BGP...

init_ ★★★
() автор топика
Ответ на: комментарий от init_

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

Vlad-76 ★★★★
()
Ответ на: комментарий от Vlad-76

есть эмуляторы для IOS циско
Cisco нужно двигать/теснить на рынке своих конкурентов.

Как это всё подтверждает гипотезу AVL2, что VPP - открытый полигон тестирования новых прошивок Cisco?

LamerOk ★★★★★
()
Ответ на: комментарий от LamerOk

Мое мнение субъективно.
Эмуляторы cisco тут в том что если уж для Cisco IOS написали эмуляцию специфики ее аппаратуры, ради того чтобы просто IOS запустился на PC, то затраты на адаптацию уже разработанного софта под VPP будут скорее всего не большими (это мое предположение, т.к. внутри IOS это unix)
Cisco тестит VPP на новых процах интел "https://fd.io/wp-content/uploads/sites/34/2017/07/FDioVPPwhitepaperJuly2017.p... к чему бы это?Cisco видит в этом перспективу?
Искать варианты для удешевления своего продукта и продвигать новый - для бизнеса это единственный путь выживания, а то конкуренты обставят.
Cisco ищет пути своего развития. VPP как вариант. Может быть возьмет и купит VPP (я не знаю на чьи деньги собралась и живет команда разрабов VPP в настоящее время, может быть на свои) чтобы не вкладываться в разработку. По типу как Cisco купила или перекупила контору Catalyst, которая занималась разработкой коммутаторов.
Очень даже логично на такие проекты обращать внимание конторам, которые занимаются разработкой программно-аппаратных устройств для сетей передачи данных.

Vlad-76 ★★★★
()
Последнее исправление: Vlad-76 (всего исправлений: 3)
Ответ на: комментарий от LamerOk

а может быть хочет держать вероятного (возможного) конкурента на короткой дистанции.

Vlad-76 ★★★★
()
Ответ на: комментарий от Vlad-76

затраты на адаптацию уже разработанного софта под VPP будут скорее всего не большими

Затраты на адаптацию ПО «чтоб запустилось» - это херня по сравнению с затратами на оптимизацию, тестированием и созданием инфраструктуры поддержки (штат сотрудников в первую очередь).

Гипотеза, что IOS для продакшена переедет на intel/amd - это допущение из разряда фантастики.

для Cisco IOS написали эмуляцию специфики ее аппаратуры, ради того чтобы просто IOS запустился на PC

Нет. Это сделали не для «просто запуска на PC». Это сделали для удешевления обучения цискоадминов, потому что железные циски слишком дороги, чтобы их использовать для обучения. Кроме обучения запуск IOS на PC не имеет целей.

Cisco тестит VPP на новых процах интел … к чему бы это?

Любая серьёзная контора такого уровня тестит всех существующих и гипотетических конкурентов. И это «ни к чему». Это просто ежедневная рутина как зубы чистить.

LamerOk ★★★★★
()
Ответ на: комментарий от LamerOk

https://trex-tgn.cisco.com/trex/doc/trex_manual.html - это конечно не софт для продакшена. Возможно Cisco просто светится таким образом. Зачем ей возиться всерьез с Intel серваками и сетевухами
https://www.itweek.ru/infrastructure/article/detail.php?ID=120585
Cisco call manager под виндой крутится, винда на intel.
Cisco ASA на AMD https://habrahabr.ru/company/cbs/blog/303770/
Смысл тестить всех конкурентов? Это же затраты. Без цели извлечения к.л. выгоды? Зубы чистят для здоровья, экономии на стоматологах. Cisco тестит что ей позволят, а не то что она (всех) захочет
ПО поводу перезда IOS для продакшена на intel или амд, ну Cisco посчитает свои денежки, посовещается с экспертами своими и решит.
Кто сделает самый быстрый/функциональный и дешевый чип/процессор для сетевых задач - того и будут юзать. А софт один хрен пилить.

Время покажет что станет и с VPP и с Cisco ))

Vlad-76 ★★★★
()
Ответ на: комментарий от LamerOk

Гипотеза, что IOS для продакшена переедет на intel/amd - это допущение из разряда фантастики.

Это еще ерунда. Вот гипотеза, что мaкбуки для продакшена переедут на intel/amd - вот это допущение из разряда фантастики.

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

Хорошая попытка, но нет. Передёргивание слишком очевидно.

Как раз этот пример хорошая иллюстрация моего тезиса. macOS не пережила переезда на intel и умерла вместе с PowerPC.

LamerOk ★★★★★
()
Последнее исправление: LamerOk (всего исправлений: 2)
Ответ на: комментарий от LamerOk

Ну появится IOSX. С такими же конфигами и таким же юзерспейсом. Или вовсе новым, если решат, что так будет лучше.

Можно подумать, вся проблема в букве. Или в том, что это другая ось.

AVL2 ★★★★★
()
Последнее исправление: AVL2 (всего исправлений: 1)
Ответ на: комментарий от AVL2

это другая ось.

Это мой поинт. Хорошо, что он до тебя дошёл.

LamerOk ★★★★★
()
Ответ на: комментарий от AVL2

прошу заметить что промышленные циски новых поколений уже давно не используют IOS, итак, например SCE серия базируется чисто на линуксе, новые - тем более на линуксе, процессоры ASIC был переходным этапом, а теперь нужны только xeon для управления железом и все, так что - все меняется и далеко не в худшую сторону

init_ ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.