本文介绍了Openflow规则中的元数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

此问题是以下内容的扩展

This Question is extension of the following

OpenFlow规则元数据

关于我的有关元数据的问题,我想澄清一下让我们说,我有一个开放流规则,如下所示

I would like to have this clarified, on my question about MetadataLet us say, I have an Open Flow rules, as below

Cookie=0x8000001, duration=228925.445s, table=17, n_packets=350, n_bytes=32424, priority=10,metadata=0xc000f30000000000/0xffffff0000000000 actions=goto_table:19

我想了解以下内容

我们是否有一定的规则/算法,可以从数据包中确定这些元数据.

Do we have certain rule/ Algorithm , to determine these Metadata from a Packet.

因为OVS中的数据包实际上是根据匹配元数据进行切换的,这是正确的吗? (至少根据上述流程规则)

because the Packet in OVS is actually switched based on Matching Metadata, Is that correct ?? ( At least according to the above flow rule )

  • 并且数据包本身不携带元数据,那么究竟数据包命中与元数据匹配的流.

  • And the Packet itself does not carry the Metadata, then how exactlythe packet hitting a flow matched against the Metadata.

因此,如果我正确理解了流表之间遍历的数据包,则这些数据包在OVS应用程序本身或Handled @OVS应用程序级别内,直到确定出口端口为止因此,在那种情况下,在@ OVS-Application级别处理元数据,直到通过出口端口发送数据包为止.

So, If I understood it correctly the Packets those are traversed between the flow-tables, are within the OVS application itself or Handled @OVS Application level, until it had determined Egress Port So in that Case, the MetaData are handled @OVS-Application level, until the Packets is send via Egress Port.

这是正确的吗?

最后,ODL中的哪个模块负责确定元数据,我想从代码中了解它是如何完成的.

Finally which Module in ODL is responsible for determine the Metadata, and I would like to understand from the code how exactly it was done.

推荐答案

OpenFlow元数据字段开头均为零.然后,表可以写入该字段,并且您可以在后续表中对其进行匹配.如OpenFlow规范所述,它仅用于将信息从一个表携带到另一个表:

The OpenFlow metadata field starts with a value of zero for every packets. Tables can then writes to this field and you can match on it in subsequent tables. It is only used to carry information from one table to the next, as explained in the OpenFlow specifications:

这篇关于Openflow规则中的元数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-20 20:12