根据RFC - RFC 6020 - LeafRef我可以理解,叶子可以包含一个leafref,其中的路径指向被引用的实例,但问题是一个叶子可能有多少个leafrefs?只有一个或多个?
实施例。
leaf mgmt-interface {
type leafref {
path "../interface/name";
}
type leafref {
path "../interface/ip";
}
}
上述情况可能吗?
答案 0 :(得分:0)
leafref
只能通过leaf
定位到单个leaf-list
或path
节点。叶子可能只有一个type
子语句(也适用于leaf-list
,typedef
),path
可能只有一个type
子语句。
7.6.2. The leaf's Substatements
+--------------+---------+-------------+
| substatement | section | cardinality |
+--------------+---------+-------------+
| config | 7.19.1 | 0..1 |
| default | 7.6.4 | 0..1 |
| description | 7.19.3 | 0..1 |
| if-feature | 7.18.2 | 0..n |
| mandatory | 7.6.5 | 0..1 |
| must | 7.5.3 | 0..n |
| reference | 7.19.4 | 0..1 |
| status | 7.19.2 | 0..1 |
| type | 7.6.3 | 1 | <--
| units | 7.3.3 | 0..1 |
| when | 7.19.5 | 0..1 |
+--------------+---------+-------------+
type-stmt = type-keyword sep identifier-ref-arg-str optsep
(";" /
"{" stmtsep
type-body-stmts
"}")
type-body-stmts = numerical-restrictions /
decimal64-specification /
string-restrictions /
enum-specification /
leafref-specification /
identityref-specification /
instance-identifier-specification /
bits-specification /
union-specification
leafref-specification =
;; these stmts can appear in any order
path-stmt stmtsep
[require-instance-stmt stmtsep]
path-stmt = path-keyword sep path-arg-str stmtend
注意:在YANG 1.0中,union
类型不能使用leafref
。这在YANG 1.1中发生了变化,但任何内置的YANG类型都可能出现在union
中。
成员类型可以是任何内置或派生类型,但它必须是 不是内置类型之一&#34;空&#34;或&#34; leafref&#34;。