ovs中"write metadata"和"set metadata"有什么区别?
what is the differences between "write metadata" and "set metadata" in ovs?
我的意思是,write metadata是通过openflow中的指令实现的,另一方面,set field in action也可以设置metadata,它们有什么区别?
据我所知,WRITE_METADATA
and SET_FIELD
for metadata 在 Open vSwitch 中执行相同的操作。
我猜这两者都由 Open vSwitch 公开以尽可能遵循 OpenFlow 规范。 OpenFlow 在操作和指令之间有明确的区别(参见 OpenFlow v1.5.1 的第 5.5 和 5.6 节):指令附加到规则并在每个 table 的末尾应用,而操作附加到数据包(使用Write-Actions
指令)并应用在流水线的末尾(或者在执行 Apply-Actions
指令之前)。在 Open vSwitch 中,区别不那么明显:操作可以附加到数据包和规则。
因此,虽然 WRITE_METADATA
与 OpenFlow 规范中的 SET_FIELD
不同,因为第一个是指令,第二个是动作,您可以使用与 WRITE_METADATA
相同的操作SET_FIELD
动作。
我的意思是,write metadata是通过openflow中的指令实现的,另一方面,set field in action也可以设置metadata,它们有什么区别?
据我所知,WRITE_METADATA
and SET_FIELD
for metadata 在 Open vSwitch 中执行相同的操作。
我猜这两者都由 Open vSwitch 公开以尽可能遵循 OpenFlow 规范。 OpenFlow 在操作和指令之间有明确的区别(参见 OpenFlow v1.5.1 的第 5.5 和 5.6 节):指令附加到规则并在每个 table 的末尾应用,而操作附加到数据包(使用Write-Actions
指令)并应用在流水线的末尾(或者在执行 Apply-Actions
指令之前)。在 Open vSwitch 中,区别不那么明显:操作可以附加到数据包和规则。
因此,虽然 WRITE_METADATA
与 OpenFlow 规范中的 SET_FIELD
不同,因为第一个是指令,第二个是动作,您可以使用与 WRITE_METADATA
相同的操作SET_FIELD
动作。