这个杨通知怎么样有效?

时间:2017-09-17 22:45:44

标签: ietf-netmod-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>

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

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

1 个答案:

答案 0 :(得分:2)

https://tools.ietf.org/html/rfc7950#section-7.16.2

  

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

通知有效负载必须包括模块根目录下的所有祖先容器/列表。只有这样才能识别通知所引用的确切节点。