1

yang 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>

但是,如果不识别通知相关的数据节点,这样的通知将毫无用处。

我想我的问题是,规范中的规则/文本告诉我如何正确形成有效载荷

4

1 回答 1

2

https://www.rfc-editor.org/rfc/rfc7950#section-7.16.2

当通知节点定义为数据节点的子节点时,[RFC5277] 中定义的元素包含节点层次结构,用于标识数据存储中的节点。它必须包含从顶层到包含通知的列表或容器的所有容器和列表节点

通知负载必须包括所有祖先容器/列表,直到模块根目录。只有这样,才能始终识别通知所指的确切节点。

于 2017-09-18T05:42:41.243 回答