【问题标题】:OpenFlow Rule MetadataOpenFlow 规则元数据
【发布时间】:2018-12-13 22:33:53
【问题描述】:

我想了解如何在开放流规则中计算元数据。

cookie=0x6900000, 持续时间=228925.519s, table=17, n_packets=384, n_bytes=35436, priority=10,metadata=0xf30000000000/0xffffff0000000000 actions=write_metadata:0xc000f30000000000/0xffffff到

示例:我有一个与此非常相似的流程。 元数据究竟是如何计算的。

以及如何解释元数据值和掩码

有人说 new_metadata = old_metadata & ~mask |值和掩码

老实说我不明白,谁能解释一下

【问题讨论】:

    标签: opendaylight openvswitch


    【解决方案1】:

    write_metadata 操作中valuemetadata 字段的用途在the Open vSwitch documentation 中进行了说明:

    write_metadata:value[/mask]
        Updates the metadata field for the flow. If mask is omit‐
        ted, the metadata field is set exactly to value; if  mask
        is  specified,  then  a  1-bit in mask indicates that the
        corresponding bit in the metadata field will be  replaced
        with  the  corresponding  bit  from value. Both value and
        mask are 64-bit values that are decimal by default; use a
        0x prefix to specify them in hexadecimal.
    

    前面的解释确实等价于:

    new_metadata = (old_metadata & ~mask) | (value & mask)
    

    换句话说,我们首先擦除掩码中设置为 1 的旧元数据值的位 (old_metadata & ~mask),然后将掩码中也设置为 1 的值的位设置为 1 (| (value & mask) )。

    【讨论】:

    猜你喜欢
    • 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
    相关资源
    最近更新 更多