| .. | ||
| files | ||
| bbfdm.mk | ||
| Config_bbfdm.in | ||
| Makefile | ||
| README.md | ||
BBFDM configuration options and utilities
bbfdm provides few compile time configuration options and compile time help utility called bbfdm.mk, this document aimed to explain the available usages and best practices.
Compilation options
| Configuration option | Default Value | Description |
|---|---|---|
| CONFIG_BBF_VENDOR_LIST | iopsys | List of vendor extension directories |
| CONFIG_BBF_VENDOR_PREFIX | X_IOPSYS_EU_ | Prefix for Vendor extension datamodel objects/parameters |
| CONFIG_BBF_TR143 | y | Enable/Add TR-143 Data Model Support |
| CONFIG_BBF_TR471 | y | Enable/Add TR-471 Data Model Support |
| CONFIG_BBF_MAX_OBJECT_INSTANCES | 255 | Maximum number of instances per object |
Helper utility (bbfdm.mk)
bbfdm provides a helper utility bbfdm.mk to install datamodel plugins in bbfdm core or in microservice directory.
Install datamodel DotSO/JSON plugin in bbfdm core
Utility to install the DotSO/JSON plugin in bbfdm core plugin path
# inputs:
# $1 => package install directory
# $2 => Plugin artifact
Example:
define Package/$(PKG_NAME)/install
$(call BbfdmInstallPlugin,$(1),./files/etc/bbfdm/json/CWMPManagementServer.json)
endef
Install datamodel DotSO/JSON plugin in bbfdm core with priority
Its now possible to overwrite/remove core datamodel with plugin, so, if some datamodel objects/parameters are present in more than one plugin, order in which they loaded into memory becomes crucial, this Utility help to configure a priority order in which they gets loaded in memory.
# inputs:
# $1 => package install directory
# $2 => Priority of the installed plugin
# $3 => Plugin artifact
Example:
define Package/$(PKG_NAME)/install
$(call BbfdmInstallPluginWithPriority,$(1),01,$(PKG_BUILD_DIR)/bbf_plugin/bulkdata.json)
endef
Note: Last loaded plugin gets the highest priority
Install plugin into micro-service directory
Utility to install the plugin in datamodel microservice directory, ex. user wants to run a datamodel micro-service, it required to install the DotSO/JSON plugin into a non bbf core directory, this utility helps in installing the DotSO/JSON plugin in mentioned directory.
# inputs:
# $1 => package install directory with micro-service directory
# $2 => Plugin artifact
Example:
define Package/$(PKG_NAME)/install
$(call BbfdmInstallPluginInMicroservice,$(1)/etc/bulkdata,$(PKG_BUILD_DIR)/bbf_plugin/bulkdata.json)
endef
Install datamodel micro-service input file
Utility to install the datamodel plugin input file into the bbfdm micro-service directory, so that bbfdm auto start the datamodel micro-service before main bbfdm process.
# inputs:
# $1 => package install directory
# $2 => Microservice input.json path
Example:
define Package/$(PKG_NAME)/install
$(call BbfdmInstallMicroServiceInputFile,$(1),./files/etc/bulkdata/input.json)
endef