Networking 为开放式vSwitch执行任意操作

Networking 为开放式vSwitch执行任意操作,networking,sdn,openflow,openvswitch,Networking,Sdn,Openflow,Openvswitch,使用Open vSwitch,除了当前定义的操作外,是否还可以创建新的任意操作?所提供的命令行界面(如ovs ofctl)允许受约束的规则(如ovs ofctl add flow s1 priority=500、in_port=1、actions=output:2)连接两个端口等。但是,我找不到除此之外的功能支持,无法创建更复杂的操作。具体而言,目标是创建一个用于流量采样和监控算法的系统。在Open vSwitch中是否有实现这一点的方法,或者是否需要使用其他工具,如BPF/XDP?中列出了60

使用Open vSwitch,除了当前定义的操作外,是否还可以创建新的任意操作?所提供的命令行界面(如
ovs ofctl
)允许受约束的规则(如
ovs ofctl add flow s1 priority=500、in_port=1、actions=output:2)连接两个端口等。但是,我找不到除此之外的功能支持,无法创建更复杂的操作。具体而言,目标是创建一个用于流量采样和监控算法的系统。在Open vSwitch中是否有实现这一点的方法,或者是否需要使用其他工具,如BPF/XDP?

中列出了60多种不同的Open vSwitch操作的完整列表(就在
操作=[action][,action…]
之后)


您可以做很多不同的事情(从修改数据包字段到调用conntrack模块),但是目前没有办法定义新的任意操作。定义新的任意行为是几部学术著作(例如,仅举一部)和一些原型的主题。

你所说的“通用”到底是什么意思?OpenVSwitch在很大程度上实现了OpenFlow定义的管道。因此,它可以做OpenFlow定义为一个动作加上一些事情的所有事情(我不认为
learn
是OpenFlow的一部分)。一般来说,我指的是进一步的数据包处理(除了转发),例如在交换机上的数据包字段上进行散列和计算统计数据,前提是存在数据包匹配。虽然我知道这可以通过XDP实现,但我不确定OpenVSwitch是否支持此功能。@pchaigno我已重新编写了问题。有什么具体的建议可以帮助未来的用户改进帖子吗?谢谢如果这是你担心的,我不是那个投票否决你的人。这不是一个真正的编程问题,所以我猜这就是为什么它被否决的原因。除此之外,一个具体的例子可能会有所帮助,但它的方式是好的。这澄清了我的问题。谢谢