一 、<edit-config>
<edit-config>操作用来把配置数据下发到指定的目标配置数据集(<running>或
<candidate>),设备对<edit-config>中的操作进行鉴权,鉴权通过后,执行相应的修
改。
参数说明
- target:待编辑配置数据集名。基于场景选择对应的数据集名:
– 立即生效模式,数据集设置为<running/>
– 两阶段生效模式,数据集设置为<candidate/>(此场景需要<commit>)
– 试运行,数据集设置为<candidate/>(此场景需要<confirm-commit>) - default-operation:为此<edit-config>请求选择默认操作(如“operation”属性中所
述)。 <default-operation>参数的默认值为“merge”。
<default-operation>参数是可选的,但如果提供,它具有以下值之一:
– merge:<config>参数中的配置数据与目标数据存储中相应级别的配置合并。
这是默认行为。
– none:当配置方式未指定,默认操作指定为none的时候,edit-config操作会默
认为none操作。none操作主要用来检查,下发为none操作的配置仅仅做
Schema校验,不进行真正的配置下发。语法检查通过,就返回ok成功,否则
失败。 - error-option:<error-option>包含如下取值:
– stop-on-error:<edit-config>操作出现错误即停止执行,这也是默认选项。
– continue-on-error:出错后继续执行后续配置操作,记录错误信息并生成错误
响应报文。
– rollback-on-error:如果发生错误导致生成<rpc-error>响应报文,则服务器需要
停止处理<edit-config>操作,并将此<edit-config>操作已完成配置进行回退。 - config:由设备的数据模型之一定义的配置数据的层次结构。 内容必须放在适当
的命名空间中,以允许设备检测对于的数据模型,并且内容必须遵循由其能力集
定义的数据模型的约束。
属性说明
<config>子树元素中可能包含一个“operation”属性,该属性NETCONF名字空间中定
义。该属性标识配置操作如何执行,并且可能出现在整个<config>子树的多个元素上。
如果未指定“operation”属性,则配置将被合并到配置数据库中。
“operation”属性包含下面几个值: - merge:由包含此属性标识的配置数据与由<target>参数标识的配置数据库中相应
级别配置合并。这是默认属性。 - create:当且仅当配置数据存储中尚不存在配置数据时,由包含此属性标识的配置
数据才会添加到配置中。 如果配置数据存在,则会返回一个<rpc-error>元素,其
中包含一个<error-tag>值“data-exists”。 - delete:当且仅当配置数据当前存在于配置数据存储中时,才会从配置中删除由包
含此属性的元素标识的配置数据。 如果配置数据不存在,则返回一个<rpc-error>
元素,其中包含一个<error-tag>值“data-missing”。
二、<get-config>
<get-config>操作用来从<running/>和<candidate/>配置数据集中查询全部或指定的一部分配置数据。
参数说明:
- source:正在查询的配置数据集的名称。
- filter:此参数用来标识要查询设备配置数据集的部分。 如果此参数不存在,则返
回整个配置。<filter>元素可以包含“type”属性。NETCONF中的默认过滤机制被称为子树过滤(“type”属性值为“subtree”)。
操作成功的回应:
设备支持满足请求操作的能力集,NETCONF server返回一个使用<rpc-reply>元素封装的消息,<rpc-reply>元素中创建一个data元素,查询数据全部封装在data元素中。
当查询返回数据量大于30K,如果设备不支持get-next能力,NETCONF server直接反馈错误;否则NETCONF server需要做消息分包处理,用户可以继续使用<get-next>操作,请求返回多个<rpc-reply>消息。
操作失败的回应:
如果操作请求由于任何原因不能执行完成,NETCONF server返回一个<rpc-reply>元素封装的消息,创建一个<rpc-error>元素封装在<rpc-reply>元素中。
三、<get>
<get>操作用来从<running/>数据集中查询部分或全部运行的配置数据和设备的状态数据。
<get>操作成功,Server回复的<rpc-reply>元素中含有<data>元素,<data>元素中封装了获取的结果数据。否则在<rpc-reply>元素中含有<rpc-error>元素。
参数说明:
- filter:此参数用来标识要查询设备配置数据集的部分。 如果此参数不存在,则返回整个配置。
<filter>元素可以包含“type”属性。NETCONF中的默认过滤机制被称为子树过滤(“type”属性值为“subtree”)。
<get>和<get-config>区别在于:
- <get>只能从<running/>配置数据集中获取数据。所以,<get>不需要<source>参数指定配置数据集。<get-config>支持通过<source>参数指定<running/>或<candidate/>。
- <get-config>只能查询配置数据,而<get>既能查询配置数据,又能查询状态数据。
四、<execute-action>
<execute-action>操作主要用来请求设备执行某个动作,并在<rpc-reply>中返回执行结果。维护操作一般不会直接修改设备上的配置数据,也不会返回业务数据。例如清除一个报文计数器,或复位一块单板。
设备必须宣布支持Action能力,才能使用<execute-action>操作。