mirror of
https://dev.iopsys.eu/feed/iopsys.git
synced 2025-12-10 07:44:50 +01:00
netmode: datamodel vendor extension
This commit is contained in:
parent
0a7245d2f9
commit
6df1768244
5 changed files with 141 additions and 3 deletions
|
|
@ -8,11 +8,12 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=netmode
|
PKG_NAME:=netmode
|
||||||
PKG_VERSION:=1.0.1
|
PKG_VERSION:=1.0.2
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
||||||
PKG_LICENSE:=GPL-2.0-only
|
PKG_LICENSE:=GPL-2.0-only
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
include $(TOPDIR)/feeds/iopsys/bbfdm/bbfdm.mk
|
||||||
|
|
||||||
define Package/netmode
|
define Package/netmode
|
||||||
CATEGORY:=Utilities
|
CATEGORY:=Utilities
|
||||||
|
|
@ -23,11 +24,27 @@ define Package/netmode/description
|
||||||
Network Modes and Utils
|
Network Modes and Utils
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define Package/$(PKG_NAME)/config
|
||||||
|
config NETMODE_VENDOR_PREFIX
|
||||||
|
depends on PACKAGE_netmode
|
||||||
|
string "Vendor Extension used for netmode datamodel"
|
||||||
|
default ""
|
||||||
|
endef
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_NETMODE_VENDOR_PREFIX),"")
|
||||||
|
VENDOR_PREFIX = $(CONFIG_BBF_VENDOR_PREFIX)
|
||||||
|
else
|
||||||
|
VENDOR_PREFIX = $(CONFIG_NETMODE_VENDOR_PREFIX)
|
||||||
|
endif
|
||||||
|
|
||||||
define Build/Compile
|
define Build/Compile
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/netmode/install
|
define Package/netmode/install
|
||||||
$(CP) ./files/* $(1)/
|
$(INSTALL_DIR) $(1)/etc
|
||||||
|
$(CP) ./files/etc/* $(1)/etc/
|
||||||
|
$(BBFDM_REGISTER_SERVICES) -v ${VENDOR_PREFIX} ./bbfdm_service.json $(1) $(PKG_NAME)
|
||||||
|
$(BBFDM_INSTALL_MS_DM) -v ${VENDOR_PREFIX} ./files/datamodel.json $(1) $(PKG_NAME)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call BuildPackage,netmode))
|
$(eval $(call BuildPackage,netmode))
|
||||||
|
|
|
||||||
16
netmode/bbfdm_service.json
Normal file
16
netmode/bbfdm_service.json
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
"daemon": {
|
||||||
|
"enable": "1",
|
||||||
|
"service_name": "netmode",
|
||||||
|
"unified_daemon": false,
|
||||||
|
"services": [
|
||||||
|
{
|
||||||
|
"parent_dm": "Device.",
|
||||||
|
"object": "{BBF_VENDOR_PREFIX}NetMode"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"config": {
|
||||||
|
"loglevel": "3"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
82
netmode/files/datamodel.json
Normal file
82
netmode/files/datamodel.json
Normal file
|
|
@ -0,0 +1,82 @@
|
||||||
|
{
|
||||||
|
"json_plugin_version": 2,
|
||||||
|
"Device.{BBF_VENDOR_PREFIX}NetMode.": {
|
||||||
|
"type": "object",
|
||||||
|
"protocols": [
|
||||||
|
"cwmp",
|
||||||
|
"usp"
|
||||||
|
],
|
||||||
|
"access": false,
|
||||||
|
"array": false,
|
||||||
|
"dependency": "file:/etc/config/netmode",
|
||||||
|
"Enable": {
|
||||||
|
"type": "boolean",
|
||||||
|
"read": true,
|
||||||
|
"write": true,
|
||||||
|
"protocols": [
|
||||||
|
"cwmp",
|
||||||
|
"usp"
|
||||||
|
],
|
||||||
|
"mapping": [
|
||||||
|
{
|
||||||
|
"type": "uci",
|
||||||
|
"uci": {
|
||||||
|
"file": "netmode",
|
||||||
|
"section": {
|
||||||
|
"name": "global"
|
||||||
|
},
|
||||||
|
"option": {
|
||||||
|
"name": "enabled"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Mode": {
|
||||||
|
"type": "string",
|
||||||
|
"read": true,
|
||||||
|
"write": true,
|
||||||
|
"protocols": [
|
||||||
|
"cwmp",
|
||||||
|
"usp"
|
||||||
|
],
|
||||||
|
"mapping": [
|
||||||
|
{
|
||||||
|
"type": "uci",
|
||||||
|
"uci": {
|
||||||
|
"file": "netmode",
|
||||||
|
"section": {
|
||||||
|
"name": "global"
|
||||||
|
},
|
||||||
|
"option": {
|
||||||
|
"name": "mode"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"SupportedModes": {
|
||||||
|
"type": "string",
|
||||||
|
"read": true,
|
||||||
|
"write": false,
|
||||||
|
"protocols": [
|
||||||
|
"cwmp",
|
||||||
|
"usp"
|
||||||
|
],
|
||||||
|
"mapping": [
|
||||||
|
{
|
||||||
|
"type": "uci",
|
||||||
|
"uci": {
|
||||||
|
"file": "netmode",
|
||||||
|
"section": {
|
||||||
|
"name": "global"
|
||||||
|
},
|
||||||
|
"list": {
|
||||||
|
"name": "supported_modes"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -22,7 +22,6 @@ start_service() {
|
||||||
[ -f /etc/config/netmode ] || return
|
[ -f /etc/config/netmode ] || return
|
||||||
|
|
||||||
config_load netmode
|
config_load netmode
|
||||||
|
|
||||||
config_get_bool enabled global enabled '0'
|
config_get_bool enabled global enabled '0'
|
||||||
[ $enabled -eq 0 ] && return
|
[ $enabled -eq 0 ] && return
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. /lib/functions.sh
|
||||||
|
MODEDIR="/etc/netmodes"
|
||||||
|
|
||||||
|
[ -f "/etc/config/netmode" ] || exit 0
|
||||||
|
[ -d "${MODEDIR}" ] || exit 0
|
||||||
|
|
||||||
|
set_supported_modes() {
|
||||||
|
val="$(find "${MODEDIR}" -maxdepth 1 -mindepth 1 -type d -exec basename {} +)"
|
||||||
|
|
||||||
|
for mode in ${val}; do
|
||||||
|
uci add_list netmode.global.supported_modes="${mode}"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
config_load netmode
|
||||||
|
config_get supported_modes global supported_modes ''
|
||||||
|
|
||||||
|
if [ -z "${supported_modes}" ]; then
|
||||||
|
set_supported_modes
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
||||||
Loading…
Add table
Reference in a new issue