RFC6243
默认情况下,netconf协议规定 server是不会将带有默认值的data node response给client侧的,但是在一些情况下,例如operator需要做一些配置上的检查、校验设备侧的默认值是否与文档一致等需要在client侧获得默认值,该标准定义了在server侧处理default value的一些行为和建议。
其中用到的一些术语:
- schema default value: 模型中定义的default value
- default data:server侧带有default value的属性或数据
- default value:特指server侧定义的缺省值
该协议中定义了四种获取default value的模式,描述如下:
模式名称 |
是否可以带有default value的属性 |
是否可以获得不为default value的属性 |
是否获得带有schema default value的属性 |
说明 |
all-report |
是 |
是 |
NA |
all-report可以理解为没有所谓的default value存在, |
all-report-tagged |
是 |
是 |
NA |
如果该属性为default value,那么该数据模型上会添加名为default的xml attribute,并置为true |
trim
|
否 |
是 |
NA |
仅上报不为schema default value的数据 |
explicit |
否 |
否 |
是 |
仅上报通过client侧设置的schema default value的数据,如果该属性是通过server侧来设置的schema default value,那么该属性不能被上报 |
该协议定义了自己的capability,并且可以携带属性
urn:ietf:params:netconf:capability:with-defaults:1.0?basic-mode=explicit
指明了只支持explicit模式,default value的处理行为如果没有显示指定,那么按照explicit方式解释
urn:ietf:params:netconf:capability:with-defaults:1.0?basic-mode=explicit&also-supported=report-all,report-all-tagged
指明了支持explicit,report-all,report-all-tagged模式,默认模式按照explicit方式执行。
RFC6243 netconf with-defaults学习笔记
原文:http://www.cnblogs.com/JamesZhangQ/p/4340571.html