为 Open vSwitch 实施任意操作

Implementing arbitrary actions for Open vSwitch

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

60 多个不同的 Open vSwitch 操作的完整列表在 the documentation for the ovs-ofctl command 中(在 actions=[action][,action...] 之后)。

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