You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenDayLight 4.4.2无法通过RESTCONF获取OpenFlow表信息求助

解决OpenDayLight 4.4.2获取OpenFlow表信息的Schema错误问题

问题原因

opendaylight-inventory命名空间仅负责节点拓扑的基础库存数据,并不直接提供OpenFlow表的详细数据结构,你使用的路径属于错误的命名空间引用,导致Schema找不到。

解决方案

1. 确认OpenFlow插件已正确安装

ODL需要依赖openflowplugin相关特性才能处理OpenFlow表的请求,先检查已安装的特性:

ssh -p 8101 karaf@localhost  # 默认密码karaf
feature:list | grep openflow

确保已安装odl-openflowplugin-flow-services、odl-openflowplugin-app-table-mgmt这类特性,若未安装,执行:

feature:install odl-openflowplugin-flow-services odl-openflowplugin-app-table-mgmt

2. 使用正确的RESTCONF路径

替换为openflow-node-inventory或flow-node-inventory命名空间的路径,以下两种均有效:

  • 方式一(挂载式路径):
    /rests/data/opendaylight-inventory:nodes/node=openflow:121062366427215/yang-ext:mount/openflow-node-inventory:table/table=0
    
  • 方式二(直接使用flow-node-inventory命名空间):
    /rests/data/opendaylight-flow-node-inventory:nodes/node=openflow:121062366427215/table=0
    

3. 验证交换机与ODL的OpenFlow版本兼容性

确保OVS的OpenFlow版本与ODL插件支持的版本匹配(ODL 4.4.2默认支持OpenFlow 1.3),修改OVS配置:

ovs-vsctl set bridge <你的桥名> protocols=OpenFlow13

重启OVS服务生效:

systemctl restart openvswitch-switch

4. 先验证节点的完整数据结构

先请求节点的完整数据,确认表数据的实际命名空间:

/rests/data/opendaylight-inventory:nodes/node=openflow:121062366427215

在返回结果中查找包含table字段的命名空间(通常是urn:opendaylight:flow:inventory),再对应拼接路径即可。


内容的提问来源于stack exchange,提问作者mmxland

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 11:23:12