【问题标题】:Metadata in openflow ruleopenflow规则中的元数据
【发布时间】:2018-12-18 16:42:42
【问题描述】:

这个问题是以下问题的延伸

OpenFlow Rule Metadata

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

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

我想了解以下内容

我们是否有特定的规则/算法,从数据包中确定这些元数据。

因为OVS中的Packet实际上是根据Matching Metadata进行切换的,对吗?? (至少按照上面的流程规则)

  • 而且 Packet 本身不携带 Metadata,那么究竟如何 数据包命中与元数据匹配的流。

    所以,如果我理解正确,在流表之间遍历的数据包位于 OVS 应用程序本身或已处理 @OVS 应用程序级别,直到它确定了出口端口 因此,在这种情况下,元数据将在 @OVS-Application 级别进行处理,直到通过 Egress Port 发送数据包。

这样对吗??

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

【问题讨论】:

    标签: openflow openvswitch


    【解决方案1】:

    每个数据包的 OpenFlow 元数据字段 starts with a value of zero。然后表格可以写入该字段,您可以在后续表格中对其进行匹配。它仅用于将信息从一个表传送到下一个表,如 OpenFlow 规范中所述:

    元数据:一个可屏蔽寄存器,用于将信息从一个表传送到下一个表。

    【讨论】:

      【解决方案2】:

      首先你可以试试 Ryu,它的代码更容易阅读和理解。 然后,我认为metadata/instructions/actions....这些东西属于OVS转发的处理,但是这些东西需要附加到一些东西上,那就是OVS收到的数据包。关于“我们是否有一定的规则/算法,从数据包中确定这些元数据。”我认为元数据的值由控制器确定,这意味着它取决于“你如何使用一些(例如 RYU)控制器应用程序'。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多