2016-10-05 104 views
0

从文档中的一个,我有以下:关于NETCONF标签

<?xml version="1.0" encoding="utf-8"?> 
<rpc message-id="${TIMESTAMP}" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> 
    <get-config> 
    <source> 
    <running></running> 
    </source> 
    <filter> 
    <interface-configurations xmlns="http://cisco.com/ns/yang/Cisco-IOS-XR-ifmgr-cfg"/> 

    </filter> 
    </get-config> 
</rpc> 

这实际上获得从运行配置 接口配置和工程确定

Q1:如何编辑相同检索界面统计信息?需要使用哪些标签?我如何知道? Q2:我将包含命名空间的行更改为一些随机行,如'http://a.b.c.d/check',并且失败。为什么?

回答

1

如何编辑相同的检索界面统计信息?需要使用哪些标签?我如何知道?

您的示例使用<get-config>标准操作,该操作仅检索配置而非操作状态。如果您希望检索后者,则需要使用<get/>,它检索配置和状态数据。

<?xml version="1.0" encoding="utf-8"?> 
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="${TIMESTAMP}"> 
    <get> 
    <filter> 
     <interface-configurations xmlns="http://cisco.com/ns/yang/Cisco-IOS-XR-ifmgr-cfg"/> 
    </filter> 
    </get> 
</rpc> 

这个参数没有<source>,因为它总是检索正在运行的配置和运行状态。熟悉NETCONF的最简单方法是读取其specification

我将包含命名空间的行更改为'http://a.b.c.d/check'等一些随机行,并且失败。为什么?

如果“失败”表示您收到<rpc-error>,那将是非标准行为。您应该收到空的<data/>响应,因为没有与您的过滤器匹配的节点。该过滤器需要完全匹配。

<?xml version="1.0" encoding="utf-8"?> 
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="163"> 
    <data/> 
</rpc-reply> 

NETCONF数据存储很大程度上依赖于命名空间,因为它解决了最常见的命名问题。例如,如果您有两个模块,并且它们包含名为“my-config”的顶级元素,则不会有问题,因为它们由模块名称空间唯一标识:{uri:a}my-config{uri:b}my-config

在你的例子中,你要求{http://a.b.c.d/check}interface-configurations,它根本不存在。 interface-configuration部分匹配(本地名称)并不重要,因为您从特定命名空间请求了特定的interface-configuration

命名空间是(类)像房屋地址。可能有许多约翰史密斯存在,但你可以通过陈述他的完整地址来解决特定的问题。如果你要求你的当地职位发送一个名为“John Smith”的包裹,但没有地址,那么这个职位就不知道你的意思。

注意:如果您的意思是您更改了urn:ietf:params:xml:ns:netconf:base:1.0一行,则问题是相同的。您试图执行某些对服务器未知的操作。然而,这种情况会失败并显示错误响应。

+0

感谢您的详细回复...还需要确认,无论我们编写的netconf标记(如上面以xml形式所示),是否还有相应的基础阳模型?这个杨模型是用来验证netconf xml文件的。是否正确?如果是这样,我如何检索上述xml的相关阳模型? – fsociety

+0

YANG用于模拟在服务器和客户端之间发送的内容。您可以将其视为合作伙伴之间的合约,确保沟通过程中不会出现“意外” - 例如未知元素,文本值等。它仅处理[第四层](https://tools.ietf.org/html /rfc6241#section-1.2)协议的内容层。您需要咨询相关设备的制造商才能获得合适的YANG模型。有些设备支持可选的''操作(ietf-netconf-monitoring module),允许您检索YANG。 – predi

+1

*第四和第三层,不只是前者。 – predi