首页 技术 正文
技术 2022年11月9日
0 收藏 471 点赞 4,607 浏览 1883 个字

Ø  Yang 是对NETCONF数据模型、操作进行建模,覆盖NETCONF协议的操作层和内容层

Ø  模块和子模块

  • 模块是yang中定义的基本单位。
  • 模块定义单个数据模型,它可以定义完整的聚合模型,或者使用其他节点扩充现有的数据类型。
  • 子模块是为模块提供定义的部分模块。模块可以包含任意数量的子模块。但每个子模块归属于一个模块。
  • 所有标准模块和子模块的名字必须是唯一的。
  • 模块使用”include”语句包含其子模块,使用”import”语句导入其他模块。
  • 当引用外部模块中的定义时,必须使用本地定义的前缀,后跟”:”加部标识符。
  • YANG模块和子模块通常存储在文件中,每个文件存储一个模块或子模块。文件名形式为 module-or-submodule-name [‘@’ revision-date] ( ‘.yang’ / ‘.yin’ )

Ø  模块的标准布局:

module <module-name> {

// header information

<yang-version statement>

<namespace statement>

<prefix statement>

// linkage statements

<import statements>

<include statements>

// meta information

<organization statement>

<contact statement>

<description statement>

<reference statement>

// revision history

<revision statements>

// module definitions

<other statements>

}

Ø  子模块的标准布局:

submodule <module-name> {

<yang-version statement>

// module identification

<belongs-to statement>

// linkage statements

<import statements>

<include statements>

// meta information

<organization statement>

<contact statement>

<description statement>

<reference statement>

// revision history

<revision statements>

// module definitions

<other statements>

}

Ø  布局中字段的解释

“yang-version”语句指定在开发模块时使用哪种版本的YANG语言。

“namespace”语句定义了该模块所有已定义的合法的标识符的XML命名空间,grouping 内定义的数据节点标识符除外。

“prefix”语句用于定义与模块及其名称空间关联的前缀。

“organization”语句声明定义了负责该模块的一方。

“revision”语句指定模块的编辑修订历史,包括初始修订。

“contact”语句提供模块的联系信息。

Ø  Yang内嵌数据类型

yang学习

Ø  Yang数据建节点类型

leaf nodes

一个leaf nodes包含了像Integer这样的简单数据,并且没有子节点

leaf-list nodes

一系列的leaf nodes,每个leaf都有特定类型的值

container node

  将相关的节点归总到一个subtree就是container,只能包含节点,没有值。一个container可能会包含任何类型的任何数量的子节点(包括leafs,lists,leaf-lists         以及       containers)。  

list nodes  

      定义了一系列的列表项,通过名为key的leaf值唯一确定,可以包含任意类型、任意数目的子节点(包括leafs,lists,containers)

typedef

定义衍生类型

grouping

可重用节点组

refine

重写特定的声明覆盖原有grouping的定义

choice case

申明分离不相容的节点

augment   

声明定义了在数据模型树形结构中,新的节点插入的位置。

when

声明了新节点生效的时间。  

RPC                   

定义声明RPC的输入输出参数

notification   

用于为netconf的notification做内容建模

通过以上四种类型节点的组合,即可定义module。

节点带有”config false”标签时,他的子结构就打上了state data的标签,不可配置,能通过netconf操作获取。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,492
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,495
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,132
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,295