Как настроить 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?