Открыть конфигурацию vSwitch с помощью Python?

Как настроить Open vSwitch (OVS) с помощью python?

Обычно я использую команды оболочки для настройки Open vSwitch без контроллера OpenFlow. Например,

ovs-vsctl --may-exist add-br br0
ovs-vsctl --may-exist add-br br1
ovs-vsctl set bridge br1 protocols=OpenFlow13
ovs-vsctl --may-exist add-port br0 patch-tun -- set interface patch-tun type=patch options:peer=patch-int
ovs-vsctl set port patch-tun vlan_mode=trunk
ovs-vsctl --may-exist add-port br1 patch-int -- set interface patch-int type=patch options:peer=patch-tun
ovs-vsctl set port patch-int vlan_mode=trunk
ovs-ofctl --protocols=OpenFlow13 add-flow br1 "table=0,priority=1,in_port=1,dl_dst=00:00:00:00:00:00/01:00:00:00:00:00 actions=resubmit(,20)"
ovs-ofctl --protocols=OpenFlow13 add-flow br1 "table=0,priority=1,in_port=1,dl_dst=01:00:00:00:00:00/01:00:00:00:00:00 actions=resubmit(,21)"
.....

Но я чувствую боль в таком сценарии оболочки на тот случай, если мне придется динамически добавлять порт, удаление порта, добавление потока или удаление потока в зависимости от ситуации. (Хотя контроллер OpenFlow может это сделать, я не хочу, чтобы какой-либо контроллер работал, поскольку мой OVS работает только для моста и туннелирования vxlan.)

У OVS, похоже, есть собственная библиотека Python (https://github.com/openvswitch/ovs/tree/master/python), но не могу найти инструкцию. Или есть ли другая библиотека Python, которая может настроить OVS?


person takaomag    schedule 12.12.2014    source источник
comment
mininet, хотя это немного больше, чем просто библиотека Python mininet.org github.com/mininet/mininet/wiki/FAQ#python-api mininet.org/sample-workflow   -  person lxx    schedule 23.12.2014
comment
Вы уже нашли какой-нибудь пример? Я ищу то же самое.   -  person Khayam Gondal    schedule 12.03.2017


Ответы (1)


Я считаю, что это приложение для OVS - для выполнения некоторых тестов, если вы запустите ovs-test, вызовет эту реализацию python/ovstest/X.py. Но это работает, если вы устанавливаете: python setup.py install.

person WoodN3ry    schedule 13.07.2017
comment
Не могли бы вы более четко сформулировать свой вопрос? Попробуйте прочитать как задать хороший вопрос. - person Sam Chats; 13.07.2017