杨1.1规范有这个例子, 以下示例在数据节点中定义通知:
module example-interface-module {
yang-version 1.1;
namespace "urn:example:interface-module";
prefix "if";
container interfaces {
list interface {
key "name";
leaf name {
type string;
}
notification interface-enabled {
leaf by-user {
type string;
}
}
}
}
}
完整通知的相应XML实例示例:
<notification
xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">
<eventTime>2008-07-08T00:01:00Z</eventTime>
<interfaces xmlns="urn:example:interface-module">
<interface>
<name>eth1</name>
<interface-enabled>
<by-user>fred</by-user>
</interface-enabled>
</interface>
</interfaces>
</notification>
我的问题是,当我从服务器发出通知时,我认为通知内容是这样的:
<notification
xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">
<eventTime>2008-07-08T00:01:00Z</eventTime>
<interface-enabled xmlns="urn:example:interface-module">
<by-user>fred</by-user>
</interface-enabled>
</notification>
但是,如果没有识别与通知相关的数据节点,这样的通知将毫无用处。
我想我的问题是,规范中的规则/文字告诉我如何正确形成有效负载
答案 0 :(得分:2)
https://tools.ietf.org/html/rfc7950#section-7.16.2
当通知节点被定义为数据节点的子节点时, [RFC5277]中定义的元素包含层次结构 标识数据存储区中节点的节点。 它必须包含所有 容器和列表节点从顶层到列表或 包含通知的容器。
通知有效负载必须包括模块根目录下的所有祖先容器/列表。只有这样才能识别通知所引用的确切节点。