首页 > 解决方案 > ovs中的“写入元数据”和“设置元数据”有什么区别?

问题描述

我的意思是,写入元数据是由openflow中的指令实现的,另一方面,set field in action也可以设置元数据,它们之间有什么区别?

标签: openvswitch

解决方案


据我所知,WRITE_METADATA对于SET_FIELD元数据,在 Open vSwitch 中也是如此。

我猜这两者都被 Open vSwitch 公开,以尽可能地遵循 OpenFlow 规范。OpenFlow 在动作和指令之间有明显的区别(参见OpenFlow v1.5.1的第 5.5 和 5.6 节):指令附加到规则并应用于每个表的末尾,而动作附加到数据包(使用Write-Actions指令)并应用在流水线的末端(或者在Apply-Actions指令执行之前)。在 Open vSwitch 中,区别并不明显:动作可以附加到数据包和规则上。

因此,虽然与 OpenFlow 规范WRITE_METADATA不同,SET_FIELD因为第一个是指令,第二个是动作,但您可以像WRITE_METADATA使用SET_FIELD动作一样做同样的事情。


推荐阅读