在 Opendaylight 中向 Openflow 节点添加计量器

问题描述 投票:0回答:1

我正在尝试在 Opendaylight 中添加一个仪表来配置特定流条目的带宽。我目前无法执行此操作。我不知道问题是什么。是不是下面的节点我指定错了?我正在使用带有 openvswitch 和 Openflow 1.3 的 mininet。 openflow:1 是我的交换机 1.我使用 apidoc 网站来测试 Opendaylight 的配置:[IP:8181/apidoc/explorer/index.html#/]。

在此网站之后安装“odl-restconf-all odl-openflowplugin-flow-services-rest odl-openflowplugin-app-table-miss-enforcer odl-openflowplugin-nxm-extensions”功能后:Opendaylight-doc: OpenFlow插件安装,在sal-meter下我可以使用这个原理:Opendaylight-doc:使用RPC操作的流编程示例只需添加一个仪表,而不需要下载完整的配置然后更新它,如果我理解正确的话。但是,我总是收到错误代码 500。我做错了什么?带有交换机的 Mininet 和一些流程在后台运行并且也被应用。

我的配置:

{
  "input": {
    "meter-id": 1,
    "meter-name": "256kbpsrate",
    "flags": "meter-kbps",
    "meter-band-headers": {
      "meter-band-header": [
        {
          "band-id": 0,
          "meter-band-types": {
            "flags": "ofpmbt-drop"
          },
          "band-rate": 256, 
          "band-burst-size": 10
        }
      ]
    },
    "node": "/opendaylight-inventory:nodes/node[id='openflow:1']"
  }
}

错误:

{
  "errors": {
    "error": [
      {
        "error-tag": "operation-failed",
        "error-info": "Device-side failure",
        "error-message": "Device reported error type METERMODFAILED code OUTOFBANDS",
        "error-type": "application"
      }
    ]
  }

我已经尝试以不同的方式编写节点:

/opendaylight-inventory:nodes/node/openflow:1

但是后来我收到了 400 的电话:

{
  "errors": {
    "error": [
      {
        "error-tag": "malformed-message",
        "error-info": "Could not parse Instance Identifier '/opendaylight-inventory:nodes/node/openflow:1'. Offset: 34 : Reason: Entry (urn:opendaylight:inventory?revision=2013-08-19)node requires key or value predicate to be present",
        "error-message": "Error parsing input: Could not parse Instance Identifier '/opendaylight-inventory:nodes/node/openflow:1'. Offset: 34 : Reason: Entry (urn:opendaylight:inventory?revision=2013-08-19)node requires key or value predicate to be present",
        "error-type": "protocol"
      }
    ]
  }
}

节点:

/opendaylight-inventory:nodes/opendaylight-inventory:node[opendaylight-inventory:id='openflow:1']

还会生成相同的错误代码 500。

opendaylight api-doc ietf-restconf
1个回答
0
投票

我在Python-OpenFlow 中也遇到同样的问题。当我向 OVS 交换机创建 MeterMod 请求时,它会返回“OFPT_ERROR: MeterModFailedCode.OFPMMFC_OUT_OF_BANDS error code returned”。和你一样。我想知道如何在 ODL 中解决这个问题。非常感谢。

© www.soinside.com 2019 - 2024. All rights reserved.