如果我要设置一个通过OpenFlow控制的开关设备,使用 ovs-dpctl 与 ovs-vsctl 的条件是什么?如果使用 ovs-vswitchd , ovs-dpctl 的手册页会说使用 ovs-vsctl 。
那么你会在什么情况下使用 ovs-dpctl ?你不能做什么呢?
一个后续问题是OF" datapath"价值来自。这将是OF控制器用于识别OF开关的OF规范中的64位数字。是自动计算此值还是必须输入?
感谢您提供任何帮助。
答案 0 :(得分:5)
用于创建,修改和删除Open vSwitch数据路径的工具。 以下是一些示例(命令是随机的):
– ovs-dpctl add-dp dp1
– ovs-dpctl add-if dp1 eth0
– ovs-dpctl show
– ovs-dpctl dump-flows
用于查询和更新ovs-vswitchd配置的实用程序(在ovsdb-server的帮助下)。端口配置,网桥添加/删除,绑定和VLAN标记只是此命令可用的一些选项。
以下是一些示例(命令是随机的):
– ovs-vsctl –V : Prints the current version of openvswitch.
– ovs-vsctl show : Prints a brief overview of the switch database configuration.
– ovs-vsctl list-br : Prints a list of configured bridges
– ovs-vsctl list-ports <bridge> : Prints a list of ports on a specific bridge.
– ovs-vsctl list interface : Prints a list of interfaces.
– ovs-vsctl add-br <bridge> : Creates a bridge in the switch database.
中实现的流程
- ovs-ofctl add-flow <bridge> <flow>
- ovs-ofctl add-flow <bridge> <match-field> actions=all
- ovs-ofctl del-flows <bridge> <flow>
对我而言,似乎ovs-vsctl
用于配置开放vswitch本身,如配置端口,网桥等。虽然ovs-dpctl
用于处理数据路径和接口。
来源:
你的第二个问题 - &gt; OF datapath:对于我来说,openflow上下文中的数据路径是一个表示控制器和交换机之间连接的对象。我相信OF控制器数据显示出来但它依赖于OF控制器。
答案 1 :(得分:3)
ovs-vsctl
用于管理openvswitch,ovs-dpctl
可用于管理openvswitch中的数据路径。
可以在dpif-provider.h
:
A datapath is a collection of physical or virtual ports that are exposed over OpenFlow as a single switch. Datapaths and the collections of ports that they contain may be fixed or dynamic.
Openvswitch提供了不同数据路径实现的功能。 OVS porting guide中的下图显示了不同的数据路径如何适应OVS架构。
_ | +-------------------+ | | ovs-vswitchd |<-->ovsdb-server | +-------------------+ | | ofproto |<-->OpenFlow controllers | +--------+-+--------+ _ | | netdev | |ofproto-| | userspace | +--------+ | dpif | | | | netdev | +--------+ | | |provider| | dpif | | | +---||---+ +--------+ | | || | dpif | | implementation of | || |provider| | ofproto provider |_ || +---||---+ | || || | _ +---||-----+---||---+ | | | |datapath| | kernel | | +--------+ _| | | | |_ +--------||---------+ || physical NIC