我们可以在yang文件中调用'C'函数吗?还是有什么办法可以做到这一点?基本上,我想调用“ C”函数,该函数将返回一个整数值并在我的.yang文件中使用它。
下面是我的叶子结构:
leaf memory {
type int16;
default 100;
}
我不希望此处的静态默认值为100。我希望从“ C”函数中提取默认字段中的值。
有什么方法可以做到这一点?
谢谢
YANG没有定义实现细节,它只是定义了服务器和客户端交换的数据的模式。实现YANG模型以实现引用的一种可能方法是使用YANG扩展。这些允许数据模型包含YANG标准无法识别但YANG代理可以识别的额外信息。
这意味着:
如您所见,前两步很容易,第三步则很困难,因为这需要在编译时或运行时对YANG解析器进行调整,以便调用扩展所提及的C函数。这需要某种能够处理扩展并将其保留在内存中的引擎,以便正确初始化数据。
这是一个关于YANG的样例
module extensions {
namespace "http://example.com/extensions";
prefix ext;
extension default-function {
argument function-name;
description "Describes that this leaf has its default value defined by this function.";
}
}
import extensions { prefix ext; }
(...)
leaf memory {
type int16;
ext:default-function 100;
}