ethmngr: unified service datamodel daemon

This commit is contained in:
Suvendhu Hansa 2025-01-09 00:49:56 +05:30 committed by Vivek Kumar Dutta
parent b5ac400fd6
commit f3b6dbfceb
6 changed files with 12 additions and 57 deletions

View file

@ -2,8 +2,8 @@ if (PACKAGE_ethmngr)
menu "Configurations" menu "Configurations"
config TR181_VENDOR_EXTENSIONS_MACVLAN config ETHMNGR_MACVLAN_EXTENSION
bool "Use TR181 vendor extension MACVLAN" bool "Enable datamodel MACVLAN vendor extension"
default y default y
endmenu endmenu
endif endif

View file

@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=ethmngr PKG_NAME:=ethmngr
PKG_VERSION:=2.1.11 PKG_VERSION:=3.0.0
LOCAL_DEV:=0 LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1) ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/hal/ethmngr.git PKG_SOURCE_URL:=https://dev.iopsys.eu/hal/ethmngr.git
PKG_SOURCE_VERSION:=dee1ef30dffb03924ad908a0be8ab3aba38b86ee PKG_SOURCE_VERSION:=7d68c0d820a185fc48de13a500f1ed19c1172e68
PKG_MAINTAINER:=Rahul Thakur <rahul.thakur@iopsys.eu> PKG_MAINTAINER:=Rahul Thakur <rahul.thakur@iopsys.eu>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_MIRROR_HASH:=skip PKG_MIRROR_HASH:=skip
@ -21,14 +21,14 @@ PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=LICENSE PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk
include ../bbfdm/bbfdm.mk include $(TOPDIR)/feeds/iopsys/bbfdm/bbfdm.mk
define Package/ethmngr define Package/ethmngr
SECTION:=utils SECTION:=utils
CATEGORY:=Utilities CATEGORY:=Utilities
TITLE:=Ethernet status and configration utility TITLE:=Ethernet status and configration utility
DEPENDS:=+(TARGET_brcmbca||TARGET_airoha||TARGET_ipq95xx||TARGET_ipq53xx||TARGET_mediatek):libethernet +libuci +libubox +ubus +libpthread +libnl-genl +libeasy DEPENDS:=+libethernet +libuci +libubox +ubus +libpthread +libnl-genl +libeasy
DEPENDS+=+libbbfdm-api +libbbfdm-ubus +dm-service DEPENDS+=+libbbfdm-api +libbbfdm-ubus +dm-service +libblobmsg-json +libjson-c +libc +libubus
endef endef
define Package/ethmngr/description define Package/ethmngr/description
@ -53,26 +53,15 @@ TARGET_CFLAGS += \
-D_GNU_SOURCE \ -D_GNU_SOURCE \
-DBBF_VENDOR_PREFIX=\\\"$(CONFIG_BBF_VENDOR_PREFIX)\\\" -DBBF_VENDOR_PREFIX=\\\"$(CONFIG_BBF_VENDOR_PREFIX)\\\"
ifeq ($(CONFIG_TR181_VENDOR_EXTENSIONS_MACVLAN),y) ifeq ($(CONFIG_ETHMNGR_MACVLAN_EXTENSION),y)
TARGET_CFLAGS += -DTR181_VENDOR_EXTENSIONS_MACVLAN TARGET_CFLAGS += -DETHMNGR_MACVLAN_EXTENSION
endif
ifeq ($(CONFIG_TARGET_brcmbca)$(CONFIG_TARGET_airoha)$(CONFIG_TARGET_ipq95xx)$(CONFIG_TARGET_ipq53xx)$(CONFIG_TARGET_mediatek),)
define Build/Compile
endef
endif endif
define Package/ethmngr/install define Package/ethmngr/install
$(CP) ./files/* $(1)/ $(CP) ./files/* $(1)/
ifneq ($(CONFIG_TARGET_brcmbca)$(CONFIG_TARGET_airoha)$(CONFIG_TARGET_ipq95xx)$(CONFIG_TARGET_ipq53xx)$(CONFIG_TARGET_mediatek),)
$(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ethmngr $(1)/usr/sbin/ $(INSTALL_BIN) $(PKG_BUILD_DIR)/ethmngr $(1)/usr/sbin/
endif
$(BBFDM_REGISTER_SERVICES) ./bbfdm_service.json $(1) $(PKG_NAME) $(BBFDM_REGISTER_SERVICES) ./bbfdm_service.json $(1) $(PKG_NAME)
$(BBFDM_INSTALL_MS_DM) $(PKG_BUILD_DIR)/libbbfethernet.so $(1) $(PKG_NAME)
ifeq ($(CONFIG_TR181_VENDOR_EXTENSIONS_MACVLAN),y)
$(BBFDM_INSTALL_MS_PLUGIN) $(PKG_BUILD_DIR)/libbbfethernetmacvlan.so $(1) $(PKG_NAME)
endif
endef endef
$(eval $(call BuildPackage,ethmngr)) $(eval $(call BuildPackage,ethmngr))

View file

@ -2,7 +2,7 @@
"daemon": { "daemon": {
"enable": "1", "enable": "1",
"service_name": "ethmngr", "service_name": "ethmngr",
"unified_daemon": false, "unified_daemon": true,
"services": [ "services": [
{ {
"parent_dm": "Device.", "parent_dm": "Device.",

View file

@ -6,23 +6,11 @@ STOP=90
USE_PROCD=1 USE_PROCD=1
PROG=/usr/sbin/ethmngr PROG=/usr/sbin/ethmngr
. /lib/functions.sh
include /lib/ethernet
start_service() { start_service() {
if [ -f $PROG ]; then if [ -f $PROG ]; then
procd_open_instance procd_open_instance "ethmngr"
procd_set_param command ${PROG} procd_set_param command ${PROG}
procd_set_param respawn procd_set_param respawn
procd_close_instance procd_close_instance "ethmngr"
fi fi
} }
reload_service() {
stop
start
}
service_triggers() {
procd_add_reload_trigger network
}

View file

@ -1,20 +0,0 @@
{
"ethport_update": {
"if" : [
{
"event": "network.device"
}
],
"then" : [
{
"cli": "/sbin/hotplug-call ethernet",
"envs": {
"PORT": "&network.device->ifname",
"LINK": "&network.device->link"
},
"timeout": 1
}
]
}
}

View file

@ -1,2 +0,0 @@
uci -q set ruleng.ethport=rule
uci -q set ruleng.ethport.recipe='/etc/ruleng/ethport.json'