ovs-vsctl 和 ovs-dpctl 的区别
The Difference between ovs-vsctl and ovs-dpctl
如果我正在设置一个通过 OpenFlow 控制的交换机设备,使用 ovs-dpctl 与 ovs-vsctl[=24 的条件是什么=]? ovs-dpctl 的手册页说如果使用 ovs-vswitchd 则使用 ovs-vsctl。
那么你会在什么情况下使用ovs-dpctl?它做了什么你不能做的?
一个后续问题是 OF "datapath" 值的来源。这将是 OF 控制器用于识别 OF 开关的 OF 规范中的 64 位数字。这个值是自动计算的还是必须输入?
感谢您对此的任何帮助。
ovs-dpctl:
创建、修改和删除 Open vSwitch 数据路径的工具。
以下是一些示例(命令是随机的):
– ovs-dpctl add-dp dp1
– ovs-dpctl add-if dp1 eth0
– ovs-dpctl show
– ovs-dpctl dump-flows
ovs-vsctl:
用于查询和更新 ovs-vswitchd 配置的实用程序(在 ovsdb-server 的帮助下)。端口配置、网桥 additions/deletions、绑定和 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:
我认为这个工具也值得一提。用于监视和管理 OpenFlow 交换机的命令行工具。用于列出OVS内核模块中实现的流程
- 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
用于处理数据路径和接口。
来源:
你的第二个问题 -> OF 数据路径: 对我来说,openflow 上下文中的数据路径是一个对象,表示控制器和交换机之间的连接。我相信 OF 控制器可以解决这个问题,但这取决于 OF 控制器。
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
如果我正在设置一个通过 OpenFlow 控制的交换机设备,使用 ovs-dpctl 与 ovs-vsctl[=24 的条件是什么=]? ovs-dpctl 的手册页说如果使用 ovs-vswitchd 则使用 ovs-vsctl。
那么你会在什么情况下使用ovs-dpctl?它做了什么你不能做的?
一个后续问题是 OF "datapath" 值的来源。这将是 OF 控制器用于识别 OF 开关的 OF 规范中的 64 位数字。这个值是自动计算的还是必须输入?
感谢您对此的任何帮助。
ovs-dpctl:
创建、修改和删除 Open vSwitch 数据路径的工具。 以下是一些示例(命令是随机的):
– ovs-dpctl add-dp dp1
– ovs-dpctl add-if dp1 eth0
– ovs-dpctl show
– ovs-dpctl dump-flows
ovs-vsctl:
用于查询和更新 ovs-vswitchd 配置的实用程序(在 ovsdb-server 的帮助下)。端口配置、网桥 additions/deletions、绑定和 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:
我认为这个工具也值得一提。用于监视和管理 OpenFlow 交换机的命令行工具。用于列出OVS内核模块中实现的流程
- 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
用于处理数据路径和接口。
来源:
你的第二个问题 -> OF 数据路径: 对我来说,openflow 上下文中的数据路径是一个对象,表示控制器和交换机之间的连接。我相信 OF 控制器可以解决这个问题,但这取决于 OF 控制器。
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