用Python打开vSwitch配置?

时间:2014-12-12 11:23:11

标签: python openvswitch virtual-network

如何通过python配置Open vSwitch(OVS)?

通常,我使用shell命令配置没有OpenFlow控制器的Open vSwitch。例如,

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)"
.....

但是我觉得这样的shell脚本很痛苦,以防我必须根据情况动态地添加端口,del-port,add-flow或del-flow。 (虽然OpenFlow控制器可能能够做到这一点,但我不想保持任何控制器运行,因为我的OVS仅用于桥接和vxlan隧道。)

OVS似乎有自己的python库(https://github.com/openvswitch/ovs/tree/master/python),但我找不到操作方法文档。 或者,还有其他任何可以配置OVS的python库吗?

1 个答案:

答案 0 :(得分:0)

我相信这是OVS的一个应用程序 - 用于进行一些测试,如果运行ovs-test将调用此实现python / ovstest / X.py。但是如果您安装了python setup.py install

,则可以正常工作