Compare commits

...

56 Commits

Author SHA1 Message Date
Marina Maslova
15f4bc772c wifimngr: 17.4.8 2025-01-24 15:19:21 +04:00
Filip Matusiak
b97c158e53 ieee1905: 8.6.3
CI: fix run_compile_test dependency issue
map: align return value of tlv_validate_multi() with tlv_validate()
2025-01-24 11:00:30 +01:00
Vivek Kumar Dutta
b727004b4a ebtables-extensions: 2.0.4 2025-01-24 09:09:46 +05:30
Markus Gothe
a81e572f00 ebtables-extensions: Update naming convention.
Use a similiar naming convention as iptables
kernel modules.
2025-01-24 04:30:47 +01:00
Markus Gothe
e1c819724f libethernet: Fix detection of 'ae_wan' WAN-interface. 2025-01-23 14:14:46 +01:00
Vivek Kumar Dutta
e75042bfe5 libqos: Prevent going out of an array 2025-01-23 16:14:23 +05:30
Markus Gothe
da50843b37 mcastmngr: Fix snooping stats. 2025-01-23 09:28:31 +00:00
Suvendhu Hansa
ad43f26119 ethmngr: Config option to expose legacy ethernet object 2025-01-23 14:50:26 +05:30
Vivek Kumar Dutta
b1110c426b periodicstats: 1.5.16 2025-01-23 13:29:12 +05:30
Vivek Kumar Dutta
27e2c1ef7e ieee1905: Select datamodel plugin as default 2025-01-23 10:46:44 +05:30
Janusz Dziedzic
e7a8dd7683 map-agent: allow enable/disable MLO for airoha 2025-01-22 15:45:39 +00:00
Vivek Kumar Dutta
932b345e2b bulkdata: use bbfdm logging 2025-01-22 19:46:04 +05:30
Erik Karlsson
1567b1facb logmngr: make logging more responsive
Flush every second.
2025-01-22 11:45:13 +00:00
Vivek Kumar Dutta
0dfbdd2d02 parental-control: Added loglevel 2025-01-22 17:14:33 +05:30
Reidar Cederqvist
8ba85e2e40 sulu: 4.0.2
- remove unused config options
- add new option to make sulu default WEB UI
2025-01-22 08:07:00 +00:00
Janusz Dziedzic
4e976e89b7 libwifi: 7.8.5 2025-01-22 07:53:47 +00:00
Vivek Kumar Dutta
4203eefe9f ethmngr: Updated log level 2025-01-22 13:02:09 +05:30
Vivek Kumar Dutta
3940dbbd43 ethmngr: support add/del RMONStats objects 2025-01-22 12:52:50 +05:30
Markus Gothe
f84c374a16 mcastmngr: Make sure we don't crash during boot up.
Avoid polluting the syslog with messages regarding
mcastmngr crashing:

procd: Instance mcast::instance1 s in a crash loop 6 crashes, 0 seconds since last crash
2025-01-22 03:04:08 +00:00
Janusz Dziedzic
a116104811 libwifi: 7.8.4 2025-01-21 20:46:03 +00:00
Janusz Dziedzic
8454c2a092 map-agent: 6.2.3.11 2025-01-21 20:05:30 +00:00
Amin Ben Romdhane
e7e6a40d26 wifidmd: 1.0.23 2025-01-21 20:55:31 +01:00
Amin Ben Romdhane
34e6281473 bbfdm: 1.13.6 2025-01-21 20:54:23 +01:00
Markus Gothe
e3c9182bbc bridgemngr: Create centralized ebtables setup.
Create a centralized setup for ebtables.
This is necessary to garantuee the order
of how chains are created.

Right now it provides a 1:1 drop-in
replacement of how things currently work
and no changes are needed in the short term.
2025-01-21 11:38:36 +01:00
Markus Gothe
5cac9516c0 Revert "l2filter: Create centralized ebtables setup."
This reverts commit d67a40b6a0.
2025-01-21 11:15:47 +01:00
Markus Gothe
d67a40b6a0 l2filter: Create centralized ebtables setup.
Create a centralized setup for ebtables.
This is necessary to garantuee the order
of how chains are created.

Right now it provides a 1:1 drop-in
replacement of how things currently work
and no changes are needed in the short term.
2025-01-20 13:54:27 +01:00
Vivek Kumar Dutta
4c0582b1a0 netmngr: Fix IPv6rd object registration 2025-01-20 14:26:19 +05:30
Amin Ben Romdhane
9e7ef97e14 wifidmd: Config option to select DataElements and/or legacy WiFi 2025-01-20 10:09:14 +05:30
Vivek Kumar Dutta
114cbf2cf4 hostmngr: ActiveIPConnections Vendor extension 2025-01-19 21:25:43 +05:30
Vivek Kumar Dutta
c38e706e01 bbfdm: 1.13.5 2025-01-19 21:14:06 +05:30
Vivek Kumar Dutta
ef3ef93a5c netmngr: 1.1.1 2025-01-19 19:42:36 +05:30
Vivek Kumar Dutta
1bb792a893 timemngr: 1.1.5 2025-01-19 19:30:22 +05:30
Vivek Kumar Dutta
8c1e4ef6aa parental-control: 1.0.2 2025-01-17 22:11:22 +05:30
Vivek Kumar Dutta
5cf3c68b96 ethmngr: 3.0.1 2025-01-17 21:46:02 +05:30
Suvendhu Hansa
75a5058d15 sysmngr: Vendor extensions for FileDescriptors and ActiveConnections 2025-01-17 12:25:02 +00:00
Amin Ben Romdhane
930565f528 netmngr: Define a config flag for each Object exposed by libnetmngr 2025-01-17 11:53:59 +01:00
Erik Karlsson
3d3397703f map-agent: hotplug: topology-discovery: fix typo from previous change 2025-01-17 10:52:06 +01:00
Amin Ben Romdhane
fc2b5a2380 bbfdm: Delete OUT_NAME option as it is no longer in use 2025-01-17 10:44:33 +01:00
Janusz Dziedzic
0aa0cb6424 ieee1905: allow to build without TR181 2025-01-17 08:20:11 +00:00
Elena Vengerova
61b74b5bd3 libwifi: 7.8.3 2025-01-16 20:51:52 +04:00
Andreas Gnau
1d8add390d blkpg-part: Add package
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2025-01-16 13:15:00 +01:00
Reidar Cederqvist
797e8cae82 update sulu to latest devel version 2025-01-15 19:05:51 +01:00
Jakob Olsson
083960ee2e map-agent: hotplug: topology-discovery: redirect ubus invokes to dev/null 2025-01-15 12:57:11 +01:00
Vivek Kumar Dutta
3f59dd1c89 libethernet: select required enct_api dependency 2025-01-15 17:22:18 +05:30
Jakob Olsson
823b5936f8 map-controller: 6.1.2.20 2025-01-15 11:23:02 +01:00
Jakob Olsson
368fe2aafa map-controller: 6.1.2.19 2025-01-15 10:19:20 +01:00
Vivek Kumar Dutta
8f1b18e4d4 libethernet: updated airoha depedency 2025-01-14 16:56:57 +00:00
Suvendhu Hansa
f3b6dbfceb ethmngr: unified service datamodel daemon 2025-01-14 16:55:40 +00:00
Jakob Olsson
b5ac400fd6 map-controller: 6.1.2.18 2025-01-14 15:18:42 +01:00
Suvendhu Hansa
ae1189c0d2 logmngr: Fix missing startup logs 2025-01-14 15:43:22 +05:30
Reidar Cederqvist
4e57074351 sulu: update sulu to latest devel
in this commit allplugins are merged into core, and
a new plugin is added for Genexis theme
2025-01-13 15:01:16 +01:00
Janusz Dziedzic
bbd0f972c6 libwifi: 7.8.2 2025-01-13 12:54:59 +00:00
arbala
50ceda4cd4 map-controller: 6.1.2.17 2025-01-10 16:29:06 +01:00
Suvendhu Hansa
0f5f018e99 sysmngr: Added TemperatureStatus DM 2025-01-09 06:28:13 +05:30
Vivek Kumar Dutta
eff826ac39 wifidmd: Remove wifi object from non-wireless devices 2025-01-09 06:17:48 +05:30
Vivek Kumar Dutta
62aed7d759 bbfdm: Updated conflicting API with libeasy 2025-01-09 06:15:47 +05:30
70 changed files with 884 additions and 441 deletions

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=bbfdm
PKG_VERSION:=1.13.3
PKG_VERSION:=1.13.6
USE_LOCAL:=0
ifneq ($(USE_LOCAL),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/bbfdm.git
PKG_SOURCE_VERSION:=af5d146cb8dcb2762929241f90116876b0a619b5
PKG_SOURCE_VERSION:=bfe8db9f6d5e8419c30da1e0ee36186e3f838f57
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

View File

@@ -47,7 +47,6 @@ BBFDM_INSTALL_CORE_PLUGIN:=$(BBFDM_DIR)/tools/bbfdm.sh -p
# Note:
# - There could be only one main plugin file, so its bind to PKG_NAME
# - Micro-service input.json will be auto generated with this call
# - Use -u (optional argument) to overwrite ubus object name
#
# Example:
# BBFDM_INSTALL_MS_DM $(PKG_BUILD_DIR)/libcwmp.so $(1) $(PKG_NAME)

View File

@@ -2,7 +2,6 @@
BBFDM_BASE_DM_PATH="usr/share/bbfdm"
BBFDM_INPUT_PATH="etc/bbfdm/micro_services"
OUT_NAME=""
INPUT_FILE="0"
MICRO_SERVICE=0
@@ -30,9 +29,6 @@ while getopts ":mpsdtu:" opt; do
t)
INPUT_FILE=1
;;
u)
OUT_NAME="${OPTARG}"
;;
?)
echo "Invalid option: ${OPTARG}"
exit 1

45
blkpg-part/Makefile Normal file
View File

@@ -0,0 +1,45 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2025 IOPSYS Software Solutions AB
include $(TOPDIR)/rules.mk
PKG_NAME:=blkpg-part
PKG_VERSION:=1
PKG_RELEASE:=1
PKG_SOURCE_VERSION:=5a4ec5f53ed904b37fba03f3797fbe2af3077f8d
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/gportay/blkpg-part.git
PKG_MIRROR_HASH:=skip
PKG_MAINTAINER:=Andreas Gnau <andreas.gnau@iopsys.eu>
PKG_LICENSE:=LGPL-2.1-or-later
PKG_LICENSE_FILES:=LICENSE
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
MAKE_INSTALL_FLAGS += PREFIX=/usr
define Package/$(PKG_NAME)
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=Disc
TITLE:=User space partition table and disk geometry handling utility
URL:=https://www.portay.io/blkpg-part/
endef
define Package/$(PKG_NAME)/description
blkpg-part creates temporary partitions that are not part of the GPT/MBR.
It makes a partition block device from any consecutive blocks that are
not partitioned. It creates, resizes and deletes partitions on the fly
without writing back the changes to the partition table.
endef
define Package/$(PKG_NAME)/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/blkpg-part $(1)/usr/sbin/
endef
$(eval $(call BuildPackage,$(PKG_NAME)))

View File

@@ -5,7 +5,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=bridgemngr
PKG_VERSION:=1.0.9
PKG_VERSION:=1.0.10
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
LOCAL_DEV:=0
@@ -47,12 +47,18 @@ ifeq ($(CONFIG_BRIDGEMNGR_BRIDGE_VLAN),y)
endif
define Package/bridgemngr/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/config
$(BBFDM_REGISTER_SERVICES) ./bbfdm_service.json $(1) $(PKG_NAME)
$(BBFDM_INSTALL_MS_DM) $(PKG_BUILD_DIR)/src/libbridgemngr.so $(1) $(PKG_NAME)
ifeq ($(CONFIG_BRIDGEMNGR_BRIDGE_VENDOR_EXT), y)
$(BBFDM_INSTALL_MS_PLUGIN) $(PKG_BUILD_DIR)/src/libbridgeext.so $(1) $(PKG_NAME)
$(BBFDM_INSTALL_MS_PLUGIN) ./files/VLAN_Filtering_Extension.json $(1) $(PKG_NAME)
endif
$(INSTALL_BIN) ./files/etc/init.d/bridging $(1)/etc/init.d/
$(INSTALL_DATA) ./files/etc/config/bridging $(1)/etc/config/
endef
ifeq ($(LOCAL_DEV),1)

View File

@@ -0,0 +1,33 @@
#L2 filter UCI file
config chain 'qos_output'
option target 'qos_output'
option table 'nat'
option chain 'OUTPUT'
option policy 'RETURN'
config chain 'dscp2pbits'
option target 'dscp2pbits'
option table 'broute'
option chain 'BROUTING'
option policy 'RETURN'
config chain 'qos'
option target 'qos'
option table 'broute'
option chain 'BROUTING'
option policy 'RETURN'
config chain 'prevlanxlate'
option target 'prevlanxlate'
option table 'broute'
option chain 'BROUTING'
option policy 'RETURN'
option append 'false'
config chain 'mcsnooping'
option target 'mcsnooping'
option table 'broute'
option chain 'BROUTING'
option policy 'RETURN'
option append 'false'

View File

@@ -0,0 +1,93 @@
#!/bin/sh /etc/rc.common
# Start after bdmf shell, wanconf, and switch-script but before the network-script
START=20
STOP=10
USE_PROCD=1
. /lib/functions.sh
handle_ebtables_chain() {
local sid="$1"
local table
local chain
local target
local policy
local append
local enabled
local ret
config_get table "$sid" table filter
config_get chain "$sid" chain
config_get policy "$sid" policy RETURN
config_get target "$sid" target
config_get_bool append "$sid" append 1
config_get_bool enabled "$sid" enabled 1
[ "$enabled" = "0" ] && return
[ -z "${chain}" -o -z "${target}" ] && return
if [ "$append" != "0" ]; then
append="-A"
else
append="-I"
fi
ebtables --concurrent -t "$table" -N "$target" -P "$policy" 2> /dev/null
ret=$?
if [ $ret -eq 0 ]; then
ebtables --concurrent -t "$table" ${append} "$chain" -j "$target"
else
ebtables --concurrent -t "$table" -D "$chain" -j "$target"
ebtables --concurrent -t "$table" ${append} "$chain" -j "$target"
fi
}
handle_ebtables_rule() {
local sid="$1"
local table
local chain
local target
local match
local value
local enabled
local ret
config_get table "$sid" table filter
config_get chain "$sid" chain
config_get match "$sid" match
config_get value "$sid" value
config_get target "$sid" target RETURN
config_get_bool append "$sid" append 1
config_get_bool enabled "$sid" enabled 1
[ "$enabled" = "0" ] && return
[ -z "${chain}" -o -z "${target}" ] && return
if [ "$append" != "0" ]; then
append="-A"
else
append="-I"
fi
ebtables --concurrent -t "$table" -D "$chain" ${match} -j "$target" ${value} 2> /dev/null
ebtables --concurrent -t "$table" ${append} "$chain" ${match} -j "$target" ${value}
}
start_service() {
config_load bridging
config_foreach handle_ebtables_chain chain
config_foreach handle_ebtables_rule rule
}
reload_service() {
stop
start
}
service_triggers() {
procd_add_reload_trigger bridging
}

View File

@@ -7,13 +7,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=bulkdata
PKG_VERSION:=2.1.18
PKG_VERSION:=2.1.19
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/bulkdata.git
PKG_SOURCE_VERSION:=d38cb633fbca9e7391269c053a91d91db34730b7
PKG_SOURCE_VERSION:=628525b02ae9ccd39f4bc85cf616ed4a102bca48
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

View File

@@ -2,5 +2,5 @@
config bulkdata 'bulkdata'
option enable '0'
#Log levels: As per syslog 0-7, default 6=>LOG_INFO
option log_level '6'
option loglevel '3'

View File

@@ -6,9 +6,20 @@ STOP=10
USE_PROCD=1
PROG="/usr/sbin/bulkdatad"
validate_global_section() {
uci_validate_section bulkdata bulkdata bulkdata \
'enable:bool:1' \
'loglevel:uinteger:3'
}
start_service() {
local enable loglevel
validate_global_section
procd_open_instance "bulkdata"
procd_set_param command "$PROG"
procd_append_param command -l ${loglevel}
procd_set_param respawn
procd_close_instance "bulkdata"
}

View File

@@ -6,21 +6,21 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=ebtables-extensions
PKG_VERSION:=2.0.1
PKG_VERSION:=2.0.4
PKG_LICENSE:=GPL-2.0
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=5ef3a5b057f6b59a4b90bd5ca15a852b0c27f3b3
PKG_SOURCE_URL:=https://dev.iopsys.eu/network/ebtables-extensions.git
PKG_SOURCE_VERSION:=9a2af49b455ee25ca0694274e004ced7c09855a0
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
include $(INCLUDE_DIR)/package.mk
define KernelPackage/vlantranslation
define KernelPackage/ebt-vlantranslation
SUBMENU:=Other modules
TITLE:=Kernel module for ebtables VLAN translation
FILES:=$(PKG_BUILD_DIR)/src/ebt_vlantranslation.ko
@@ -29,7 +29,7 @@ define KernelPackage/vlantranslation
KCONFIG:=
endef
define KernelPackage/dscp2pbit
define KernelPackage/ebt-dscp2pbit
SUBMENU:=Other modules
TITLE:=Kernel module for DSCP-to-Pbit mapping
DEPENDS+=+kmod-ebtables
@@ -38,7 +38,7 @@ define KernelPackage/dscp2pbit
KCONFIG:=
endef
define KernelPackage/dhcp
define KernelPackage/ebt-dhcp
SUBMENU:=Other modules
TITLE:=Kernel module for ebtables DHCP snooping
FILES:=$(PKG_BUILD_DIR)/src/ebt_dhcp.ko
@@ -47,7 +47,7 @@ define KernelPackage/dhcp
KCONFIG:=
endef
define KernelPackage/dhcpv6
define KernelPackage/ebt-dhcpv6
SUBMENU:=Other modules
TITLE:=Kernel module for ebtables DHCPv6 snooping
FILES:=$(PKG_BUILD_DIR)/src/ebt_dhcpv6.ko
@@ -56,7 +56,7 @@ define KernelPackage/dhcpv6
KCONFIG:=
endef
define KernelPackage/ra
define KernelPackage/ebt-ra
SUBMENU:=Other modules
TITLE:=Kernel module for ebtables NDP/RA snooping
FILES:=$(PKG_BUILD_DIR)/src/ebt_ra.ko
@@ -65,7 +65,7 @@ define KernelPackage/ra
KCONFIG:=
endef
define KernelPackage/dns
define KernelPackage/ebt-dns
SUBMENU:=Other modules
TITLE:=Kernel module for ebtables DNS manipulation
FILES:=$(PKG_BUILD_DIR)/src/ebt_dns.ko
@@ -74,7 +74,7 @@ define KernelPackage/dns
KCONFIG:=
endef
define KernelPackage/pppoe_disc
define KernelPackage/ebt-pppoe_disc
SUBMENU:=Other modules
TITLE:=Kernel module for ebtables PPPoE manipulation
FILES:=$(PKG_BUILD_DIR)/src/ebt_pppoe_disc.ko
@@ -83,7 +83,7 @@ define KernelPackage/pppoe_disc
KCONFIG:=
endef
define KernelPackage/l2pt
define KernelPackage/ebt-l2pt
SUBMENU:=Other modules
TITLE:=Kernel module for ebtables L2CP tunneling
FILES:=$(PKG_BUILD_DIR)/src/ebt_l2pt.ko
@@ -92,7 +92,7 @@ define KernelPackage/l2pt
KCONFIG:=
endef
define KernelPackage/xtarp
define KernelPackage/ebt-xtarp
SUBMENU:=Other modules
TITLE:=Kernel module for ebtables extended ARP matching
FILES:=$(PKG_BUILD_DIR)/src/ebt_xtarp.ko
@@ -101,7 +101,7 @@ define KernelPackage/xtarp
KCONFIG:=
endef
define KernelPackage/xtip
define KernelPackage/ebt-xtip
SUBMENU:=Other modules
TITLE:=Kernel module for ebtables extended IPv4 matching
FILES:=$(PKG_BUILD_DIR)/src/ebt_xtip.ko
@@ -110,7 +110,7 @@ define KernelPackage/xtip
KCONFIG:=
endef
define KernelPackage/xtip6
define KernelPackage/ebt-xtip6
SUBMENU:=Other modules
TITLE:=Kernel module for ebtables extended IPv6 matching
FILES:=$(PKG_BUILD_DIR)/src/ebt_xtip6.ko
@@ -119,50 +119,76 @@ define KernelPackage/xtip6
KCONFIG:=
endef
define KernelPackage/dhcp/description
define KernelPackage/ebt-igmpsnooping
SUBMENU:=Other modules
TITLE:=Kernel module for ebtables IGMP snooping
FILES:=$(PKG_BUILD_DIR)/src/ebt_igmpsnooping.ko
DEPENDS+=+kmod-ebtables
# AUTOLOAD:=$(call AutoLoad,30,ebt_igmpsnooping) - Will be loaded on demand
KCONFIG:=
endef
define KernelPackage/ebt-mldsnooping
SUBMENU:=Other modules
TITLE:=Kernel module for ebtables MLD snooping
FILES:=$(PKG_BUILD_DIR)/src/ebt_mldsnooping.ko
DEPENDS+=+kmod-ebtables
# AUTOLOAD:=$(call AutoLoad,30,ebt_mldsnooping) - Will be loaded on demand
KCONFIG:=
endef
define KernelPackage/ebt-dhcp/description
Kernel module to enable DHCP snooping for ebtables
endef
define KernelPackage/dhcpv6/description
define KernelPackage/ebt-dhcpv6/description
Kernel module to enable DHCPv6 snooping for ebtables
endef
define KernelPackage/ra/description
define KernelPackage/ebt-ra/description
Kernel module to enable NDP/RA snooping for ebtables
endef
define KernelPackage/dns/description
define KernelPackage/ebt-dns/description
Kernel module to enable DNS manipulation for ebtables
endef
define KernelPackage/pppoe_disc/description
define KernelPackage/ebt-pppoe_disc/description
Kernel module to enable PPPoE manipulation for ebtables
endef
define KernelPackage/l2pt/description
define KernelPackage/ebt-l2pt/description
Kernel module to enable L2CP tunneling for ebtables
endef
define KernelPackage/xtarp/description
define KernelPackage/ebt-xtarp/description
Kernel module to enable extended ARP matching for ebtables
endef
define KernelPackage/xtip/description
define KernelPackage/ebt-xtip/description
Kernel module to enable extended IPv4 matching for ebtables
endef
define KernelPackage/xtip6/description
define KernelPackage/ebt-xtip6/description
Kernel module to enable extended IPv6 matching for ebtables
endef
define KernelPackage/vlantranslation/description
define KernelPackage/ebt-vlantranslation/description
Kernel module to enable VLAN translation for ebtables
endef
define KernelPackage/dscp2pbit/description
define KernelPackage/ebt-dscp2pbit/description
Kernel module to enable DSCP-to-Pbit mapping for ebtables
endef
define KernelPackage/ebt-igmpsnooping/description
Kernel module to enable IGMP snooping for ebtables
endef
define KernelPackage/ebt-mldsnooping/description
Kernel module to enable MLD snooping for ebtables
endef
ifeq ($(CONFIG_TARGET_brcmbca),y)
include ../../broadcom/bcmkernel/bcm-kernel-toolchain.mk
endif
@@ -174,36 +200,92 @@ ifeq ($(LOCAL_DEV),1)
else
$(Build/Prepare/Default)
endif
ifeq ($(CONFIG_PACKAGE_kmod-ebt-vlantranslation),y)
$(CP) $(PKG_BUILD_DIR)/src/ebt_vlantranslation.h $(LINUX_DIR)/include/uapi/linux/netfilter_bridge/
endif
ifeq ($(CONFIG_PACKAGE_kmod-ebt-dscp2pbit),y)
$(CP) $(PKG_BUILD_DIR)/src/ebt_dscp2pbit.h $(LINUX_DIR)/include/uapi/linux/netfilter_bridge/
endif
ifeq ($(CONFIG_PACKAGE_kmod-ebt-dhcp),y)
$(CP) $(PKG_BUILD_DIR)/src/ebt_dhcp.h $(LINUX_DIR)/include/uapi/linux/netfilter_bridge/
endif
ifeq ($(CONFIG_PACKAGE_kmod-ebt-dhcpv6),y)
$(CP) $(PKG_BUILD_DIR)/src/ebt_dhcpv6.h $(LINUX_DIR)/include/uapi/linux/netfilter_bridge/
endif
ifeq ($(CONFIG_PACKAGE_kmod-ebt-ra),y)
$(CP) $(PKG_BUILD_DIR)/src/ebt_ra.h $(LINUX_DIR)/include/uapi/linux/netfilter_bridge/
endif
ifeq ($(CONFIG_PACKAGE_kmod-ebt-dns),y)
$(CP) $(PKG_BUILD_DIR)/src/ebt_dns.h $(LINUX_DIR)/include/uapi/linux/netfilter_bridge/
endif
ifeq ($(CONFIG_PACKAGE_kmod-ebt-pppoe_disc),y)
$(CP) $(PKG_BUILD_DIR)/src/ebt_pppoe_disc.h $(LINUX_DIR)/include/uapi/linux/netfilter_bridge/
endif
ifeq ($(CONFIG_PACKAGE_kmod-ebt-l2pt),y)
ifeq ($(CONFIG_TARGET_airoha),y)
$(CP) $(PKG_BUILD_DIR)/src/ebt_l2pt.h $(LINUX_DIR)/include/uapi/linux/netfilter_bridge/
endif
endif
ifeq ($(CONFIG_PACKAGE_kmod-ebt-xtarp),y)
$(CP) $(PKG_BUILD_DIR)/src/ebt_xtarp.h $(LINUX_DIR)/include/uapi/linux/netfilter_bridge/
endif
ifeq ($(CONFIG_PACKAGE_kmod-ebt-xtip),y)
$(CP) $(PKG_BUILD_DIR)/src/ebt_xtip.h $(LINUX_DIR)/include/uapi/linux/netfilter_bridge/
endif
ifeq ($(CONFIG_PACKAGE_kmod-ebt-xtip6),y)
$(CP) $(PKG_BUILD_DIR)/src/ebt_xtip6.h $(LINUX_DIR)/include/uapi/linux/netfilter_bridge/
endif
ifeq ($(CONFIG_PACKAGE_kmod-ebt-igmpsnooping),y)
$(CP) $(PKG_BUILD_DIR)/src/ebt_igmpsnooping.h $(LINUX_DIR)/include/uapi/linux/netfilter_bridge/
endif
ifeq ($(CONFIG_PACKAGE_kmod-ebt-mldsnooping),y)
$(CP) $(PKG_BUILD_DIR)/src/ebt_mldsnooping.h $(LINUX_DIR)/include/uapi/linux/netfilter_bridge/
endif
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/include/uapi/linux/netfilter_bridge/
ifeq ($(CONFIG_PACKAGE_kmod-ebt-vlantranslation),y)
$(CP) $(PKG_BUILD_DIR)/src/ebt_vlantranslation.h $(1)/include/uapi/linux/netfilter_bridge/
endif
ifeq ($(CONFIG_PACKAGE_kmod-ebt-dscp2pbit),y)
$(CP) $(PKG_BUILD_DIR)/src/ebt_dscp2pbit.h $(1)/include/uapi/linux/netfilter_bridge/
endif
ifeq ($(CONFIG_PACKAGE_kmod-ebt-dhcp),y)
$(CP) $(PKG_BUILD_DIR)/src/ebt_dhcp.h $(1)/include/uapi/linux/netfilter_bridge/
endif
ifeq ($(CONFIG_PACKAGE_kmod-ebt-dhcpv6),y)
$(CP) $(PKG_BUILD_DIR)/src/ebt_dhcpv6.h $(1)/include/uapi/linux/netfilter_bridge/
endif
ifeq ($(CONFIG_PACKAGE_kmod-ebt-ra),y)
$(CP) $(PKG_BUILD_DIR)/src/ebt_ra.h $(1)/include/uapi/linux/netfilter_bridge/
endif
ifeq ($(CONFIG_PACKAGE_kmod-ebt-dns),y)
$(CP) $(PKG_BUILD_DIR)/src/ebt_dns.h $(1)/include/uapi/linux/netfilter_bridge/
endif
ifeq ($(CONFIG_PACKAGE_kmod-ebt-pppoe_disc),y)
$(CP) $(PKG_BUILD_DIR)/src/ebt_pppoe_disc.h $(1)/include/uapi/linux/netfilter_bridge/
endif
ifeq ($(CONFIG_PACKAGE_kmod-ebt-l2pt),y)
ifeq ($(CONFIG_TARGET_airoha),y)
$(CP) $(PKG_BUILD_DIR)/src/ebt_l2pt.h $(1)/include/uapi/linux/netfilter_bridge/
endif
endif
ifeq ($(CONFIG_PACKAGE_kmod-ebt-xtarp),y)
$(CP) $(PKG_BUILD_DIR)/src/ebt_xtarp.h $(1)/include/uapi/linux/netfilter_bridge/
endif
ifeq ($(CONFIG_PACKAGE_kmod-ebt-xtip),y)
$(CP) $(PKG_BUILD_DIR)/src/ebt_xtip.h $(1)/include/uapi/linux/netfilter_bridge/
endif
ifeq ($(CONFIG_PACKAGE_kmod-ebt-xtip6),y)
$(CP) $(PKG_BUILD_DIR)/src/ebt_xtip6.h $(1)/include/uapi/linux/netfilter_bridge/
endif
ifeq ($(CONFIG_PACKAGE_kmod-ebt-igmpsnooping),y)
$(CP) $(PKG_BUILD_DIR)/src/ebt_igmpsnooping.h $(1)/include/uapi/linux/netfilter_bridge/
endif
ifeq ($(CONFIG_PACKAGE_kmod-ebt-mldsnooping),y)
$(CP) $(PKG_BUILD_DIR)/src/ebt_mldsnooping.h $(1)/include/uapi/linux/netfilter_bridge/
endif
endef
KERNEL_MAKE_FLAGS += -I$(LINUX_DIR)/include
@@ -215,14 +297,16 @@ define Build/Compile
$(KERNEL_MAKE) M="$(PKG_BUILD_DIR)/src" modules
endef
$(eval $(call KernelPackage,vlantranslation))
$(eval $(call KernelPackage,dscp2pbit))
$(eval $(call KernelPackage,dhcp))
$(eval $(call KernelPackage,dhcpv6))
$(eval $(call KernelPackage,ra))
$(eval $(call KernelPackage,dns))
$(eval $(call KernelPackage,pppoe_disc))
$(eval $(call KernelPackage,l2pt))
$(eval $(call KernelPackage,xtarp))
$(eval $(call KernelPackage,xtip))
$(eval $(call KernelPackage,xtip6))
$(eval $(call KernelPackage,ebt-vlantranslation))
$(eval $(call KernelPackage,ebt-dscp2pbit))
$(eval $(call KernelPackage,ebt-dhcp))
$(eval $(call KernelPackage,ebt-dhcpv6))
$(eval $(call KernelPackage,ebt-ra))
$(eval $(call KernelPackage,ebt-dns))
$(eval $(call KernelPackage,ebt-pppoe_disc))
$(eval $(call KernelPackage,ebt-l2pt))
$(eval $(call KernelPackage,ebt-xtarp))
$(eval $(call KernelPackage,ebt-xtip))
$(eval $(call KernelPackage,ebt-xtip6))
$(eval $(call KernelPackage,ebt-igmpsnooping))
$(eval $(call KernelPackage,ebt-mldsnooping))

View File

@@ -2,8 +2,12 @@ if (PACKAGE_ethmngr)
menu "Configurations"
config TR181_VENDOR_EXTENSIONS_MACVLAN
bool "Use TR181 vendor extension MACVLAN"
config ETHMNGR_MACVLAN_EXTENSION
bool "Enable datamodel MACVLAN vendor extension"
default y
config ETHMNGR_EXPOSE_ETHERNET_OBJECT
bool "Expose ethernet ubus object to fetch and clear interface stats"
default y
endmenu
endif

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ethmngr
PKG_VERSION:=2.1.11
PKG_VERSION:=3.0.4
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/hal/ethmngr.git
PKG_SOURCE_VERSION:=dee1ef30dffb03924ad908a0be8ab3aba38b86ee
PKG_SOURCE_VERSION:=01e1c5f6642a8fa79fc445c71558ad02bda40eb5
PKG_MAINTAINER:=Rahul Thakur <rahul.thakur@iopsys.eu>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_MIRROR_HASH:=skip
@@ -21,14 +21,14 @@ PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
include ../bbfdm/bbfdm.mk
include $(TOPDIR)/feeds/iopsys/bbfdm/bbfdm.mk
define Package/ethmngr
SECTION:=utils
CATEGORY:=Utilities
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+=+libbbfdm-api +libbbfdm-ubus +dm-service
DEPENDS:=+libethernet +libuci +libubox +ubus +libpthread +libnl-genl +libeasy
DEPENDS+=+libbbfdm-api +libbbfdm-ubus +dm-service +libblobmsg-json +libjson-c +libc +libubus
endef
define Package/ethmngr/description
@@ -53,26 +53,19 @@ TARGET_CFLAGS += \
-D_GNU_SOURCE \
-DBBF_VENDOR_PREFIX=\\\"$(CONFIG_BBF_VENDOR_PREFIX)\\\"
ifeq ($(CONFIG_TR181_VENDOR_EXTENSIONS_MACVLAN),y)
TARGET_CFLAGS += -DTR181_VENDOR_EXTENSIONS_MACVLAN
ifeq ($(CONFIG_ETHMNGR_MACVLAN_EXTENSION),y)
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
ifeq ($(CONFIG_ETHMNGR_EXPOSE_ETHERNET_OBJECT),y)
TARGET_CFLAGS += -DETHMNGR_EXPOSE_ETHERNET_OBJECT
endif
define Package/ethmngr/install
$(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_BIN) $(PKG_BUILD_DIR)/ethmngr $(1)/usr/sbin/
endif
$(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
$(eval $(call BuildPackage,ethmngr))

View File

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

View File

@@ -1,28 +1,17 @@
#!/bin/sh /etc/rc.common
START=15
START=80
STOP=90
USE_PROCD=1
PROG=/usr/sbin/ethmngr
. /lib/functions.sh
include /lib/ethernet
start_service() {
if [ -f $PROG ]; then
procd_open_instance
procd_open_instance "ethmngr"
procd_set_param command ${PROG}
procd_append_param command -l 3
procd_set_param respawn
procd_close_instance
procd_close_instance "ethmngr"
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'

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=hostmngr
PKG_VERSION:=1.2.13
PKG_VERSION:=1.2.14
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=73b59bc246f9b47c36758c9920d4467e35bdf6f4
PKG_SOURCE_VERSION:=6ea9fdb38a8e067b850841d6e7f7266bf76c363a
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/hostmngr.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_MIRROR_HASH:=skip

View File

@@ -23,6 +23,7 @@ config IEEE1905_CMDU_FRAGMENT_TLV_BOUNDARY
config IEEE1905_BUILD_TR181_PLUGIN
bool "Build TR-181 mapping module (responsible for Device.IEEE1905.)"
default y
endmenu

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ieee1905
PKG_VERSION:=8.6.2
PKG_VERSION:=8.6.3
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=5f7e6e30cbda36e431ecb7150d7494bce0c26f6f
PKG_SOURCE_VERSION:=64a2c525c8b66d10643696fcd51bb916f4fb1d7b
PKG_SOURCE_URL:=https://dev.iopsys.eu/multi-ap/ieee1905.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_MIRROR_HASH:=skip
@@ -22,8 +22,10 @@ PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
include $(TOPDIR)/feeds/iopsys/bbfdm/bbfdm.mk
ifeq ($(CONFIG_IEEE1905_BUILD_TR181_PLUGIN),y)
include $(TOPDIR)/feeds/iopsys/bbfdm/bbfdm.mk
endif
define Package/ieee1905/Default
SECTION:=utils
@@ -49,7 +51,9 @@ define Package/ieee1905
+libjson-c +libblobmsg-json +ubus +libpthread \
+libieee1905 +IEEE1905_PLATFORM_HAS_WIFI:libwifi \
+libwifiutils
DEPENDS+=+libbbfdm-api +libbbfdm-ubus +dm-service
DEPENDS+=+IEEE1905_BUILD_TR181_PLUGIN:libbbfdm-api \
+IEEE1905_BUILD_TR181_PLUGIN:libbbfdm-ubus \
+IEEE1905_BUILD_TR181_PLUGIN:dm-service
endef
include $(wildcard plugins/*.mk)
@@ -97,7 +101,10 @@ TARGET_CFLAGS += -DEXTENSION_ALLOWED
endif
TARGET_CFLAGS += -DHAS_UBUS
ifeq ($(CONFIG_IEEE1905_BUILD_TR181_PLUGIN),y)
TARGET_CFLAGS += -DBUILD_TR181_PLUGIN
endif
MAKE_FLAGS += \
extmod_subdirs="$(patsubst %,extensions/%,$(plugins))"
@@ -111,8 +118,10 @@ define Package/ieee1905/install
$(INSTALL_DIR) $(1)/usr/lib/ieee1905
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/ieee1905d $(1)/usr/sbin/
ifeq ($(CONFIG_IEEE1905_BUILD_TR181_PLUGIN),y)
$(BBFDM_REGISTER_SERVICES) ./bbfdm_service.json $(1) $(PKG_NAME)
$(BBFDM_INSTALL_MS_DM) $(PKG_BUILD_DIR)/tr181/ieee1905dm.so $(1) $(PKG_NAME)
endif
endef
define Package/libieee1905/install

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libethernet
PKG_VERSION:=7.2.111
PKG_VERSION:=7.2.114
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=6e7216e657dfb59e869e393ef58e6b4593c16fc7
PKG_SOURCE_VERSION:=dc6ca0ca4174595ab0b6e5e821488aec7d60bbd2
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/libethernet.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_MIRROR_HASH:=skip
@@ -66,7 +66,8 @@ define Package/libethernet
SUBMENU:=IOPSYS HAL libs
MENU:=1
TITLE:= Ethernet library (libethernet)
DEPENDS+=+libnl +libnl-route +libeasy +TARGET_airoha:ecnt_api +TARGET_brcmbca:bcm963xx-bsp
DEPENDS+=+libnl +libnl-route +libeasy +TARGET_brcmbca:bcm963xx-bsp
DEPENDS+=+TARGET_airoha:ecnt_api +TARGET_airoha:kmod-npu +MODULE_DEFAULT_xpon_bsp:xpon_bsp
endef
define Package/libethernet/description
@@ -83,7 +84,7 @@ endef
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
$(CP) -rf ./libethernet/* $(PKG_BUILD_DIR)/
$(CP) -rf ~/git/libethernet/* $(PKG_BUILD_DIR)/
endef
endif

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libqos
PKG_VERSION:=7.2.108
PKG_VERSION:=7.2.109
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=6a72e35e1a662e2f707e4901679676a9c09b3bc2
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/libqos.git
PKG_SOURCE_VERSION:=4948d372c3d7e43a0ba9aee517dbb83b94bba3dc
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_MIRROR_HASH:=skip
endif
@@ -78,7 +78,7 @@ endef
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
$(CP) -rf ./libqos/* $(PKG_BUILD_DIR)/
$(CP) -rf ~/git/libqos/* $(PKG_BUILD_DIR)/
endef
endif

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libwifi
PKG_VERSION:=7.8.1
PKG_VERSION:=7.8.5
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=fe6aa926a276065e9448c7f971a1b0a0fe62b0a5
PKG_SOURCE_VERSION:=8e79c0bffa70db4d29420350dc3157d9bde9c053
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/libwifi.git
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@iopsys.eu>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
@@ -41,23 +41,22 @@ else ifeq ($(CONFIG_TARGET_armvirt),y)
TARGET_CFLAGS +=-DIOPSYS_TEST
else ifeq ($(CONFIG_TARGET_airoha),y)
TARGET_PLATFORM=ECONET
TARGET_WIFI_TYPE=MEDIATEK MAC80211
TARGET_WIFI_TYPE=MEDIATEK
TARGET_CFLAGS +=-DIOPSYS_ECONET
ifeq ($(CONFIG_TARGET_airoha_an7581),y)
TARGET_CFLAGS +=-DCONFIG_MTK
endif
else ifeq ($(CONFIG_TARGET_ipq95xx),y)
TARGET_PLATFORM=IPQ95XX
TARGET_WIFI_TYPE=QUALCOMM MAC80211
TARGET_WIFI_TYPE=QUALCOMM
TARGET_CFLAGS +=-DIPQ95XX
else ifeq ($(CONFIG_TARGET_ipq53xx),y)
TARGET_PLATFORM=IPQ53XX
TARGET_WIFI_TYPE=QUALCOMM MAC80211
TARGET_WIFI_TYPE=QUALCOMM
TARGET_CFLAGS +=-DIPQ53XX
else
$(info Unexpected CONFIG_TARGET, use default MAC80211)
TARGET_PLATFORM=MAC80211
TARGET_WIFI_TYPE=MAC80211
TARGET_CFLAGS +=-DIOPSYS_MAC80211
endif

View File

@@ -5,7 +5,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=logmngr
PKG_VERSION:=1.0.7
PKG_VERSION:=1.0.8
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
@@ -43,7 +44,7 @@ endef
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
$(CP) -rf ./logmngr/* $(PKG_BUILD_DIR)/
$(CP) -rf ~/git/logmngr/* $(PKG_BUILD_DIR)/
endef
endif

View File

@@ -16,7 +16,7 @@ create_service_section() {
# the service section of the fluent-bit.conf file has hardcoded values,
# no need to lookup any uci section to configure this section
echo "[SERVICE]" >> ${TMP_CONF_FILE}
echo " flush 3" >> ${TMP_CONF_FILE}
echo " flush 1" >> ${TMP_CONF_FILE}
echo " daemon off" >> ${TMP_CONF_FILE}
echo " log_level info" >> ${TMP_CONF_FILE}
echo " parsers_file /etc/fluent-bit/parsers.conf" >> ${TMP_CONF_FILE}

View File

@@ -44,7 +44,8 @@ create_input_section() {
# on any uci value
echo -e "source $tag {" >> ${TMP_CONF_FILE}
echo -e "\tinternal();" >> ${TMP_CONF_FILE}
echo -e "\tunix-dgram("/dev/log");" >> ${TMP_CONF_FILE}
echo -e "\tunix-dgram(\"/dev/log\");" >> ${TMP_CONF_FILE}
echo -e "\tfile(\"/proc/kmsg\" program_override(\"kernel\"));" >> ${TMP_CONF_FILE}
echo "};" >> ${TMP_CONF_FILE}
}
@@ -326,8 +327,6 @@ apply_config_file() {
cp ${TMP_CONF_FILE} ${CONF_FILE}
}
PROG=/usr/sbin/syslog-ng-ctl
logmngr_init() {
create_config_file
@@ -347,7 +346,9 @@ logmngr_init() {
logrotate_init
fi
procd_open_instance logmngr
procd_set_param command $PROG reload
procd_close_instance
if procd_running 'syslog-ng'; then
/etc/init.d/syslog-ng reload
else
/etc/init.d/syslog-ng start
fi
}

View File

@@ -1,7 +1,7 @@
#!/bin/sh /etc/rc.common
START=12
STOP=89
USE_PROCD=1
. /lib/functions.sh

View File

@@ -5,9 +5,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=map-agent
PKG_VERSION:=6.2.3.10
PKG_VERSION:=6.2.3.11
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=fcaaeb0e53a99f0960f3a1e3a7cbe0982b81db3b
PKG_SOURCE_VERSION:=73b3290ef44d3315e6f88917f4de314db1e5f829
PKG_MAINTAINER:=Jakob Olsson <jakob.olsson@iopsys.eu>
PKG_LICENSE:=BSD-3-Clause

View File

@@ -15,13 +15,13 @@ rc="$?"
issue_discovery() {
local iface="$1"
res=$(ubus -t5 call ieee1905 buildcmdu "{\"type\":0, \"ifname\":\"${iface}\"}")
res=$(ubus -t5 call ieee1905 buildcmdu "{\"type\":0, \"ifname\":\"${iface}\"}" > /dev/null 2>&1)
json_load "$res" > /dev/null 2>&1
json_get_var data data
[ "$data" == "" ] && return
ubus call ieee1905 cmdu "{\"dst\":\"01:80:c2:00:00:13\", \"type\":0, \"data\":\"${data}\"}"
ubus call ieee1905 cmdu "{\"dst\":\"01:80:c2:00:00:13\", \"type\":0, \"data\":\"${data}\"}" > /dev/null 2>&1
}
process_vlans() {

View File

@@ -98,6 +98,11 @@ generate_multiap_config() {
if [ "${network_mode}" == "extender" ]; then
ifname="${ifname_sta}"
fi
[ "$disable_mlo" == "1" ] || {
uci set wireless.$dev.mlo="1"
uci set wireless.$dev.mlo_capable="1"
}
fi
uci set wireless.$dev.channels="$channels"

View File

@@ -5,9 +5,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=map-controller
PKG_VERSION:=6.1.2.16
PKG_VERSION:=6.1.2.20
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=d13f9fd0016b6b3c329c8b87773a637fd2cfb888
PKG_SOURCE_VERSION:=149cf45d6279571d5c852ec46a975f2632c2a584
PKG_MAINTAINER:=Jakob Olsson <jakob.olsson@iopsys.eu>
LOCAL_DEV=0

View File

@@ -9,6 +9,7 @@ config controller 'controller'
option primary_vid '1'
option primary_pcp '0'
option allow_bgdfs '0'
option stale_sta_timeout '30d'
option channel_plan '0'
option de_collect_interval '60'

View File

@@ -23,6 +23,7 @@ validate_controller_section() {
'initial_channel_scan:bool:true' \
'resend_num:uinteger:0' \
'allow_bgdfs:range(0,2629744)' \
'stale_sta_timeout:string' \
'channel_plan:range(0,2629744)' \
'enable_ts:bool:false'

View File

@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=mcastmngr
PKG_VERSION:=1.2.8
PKG_VERSION:=1.2.9
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
LOCAL_DEV:=0
@@ -31,7 +31,8 @@ define Package/mcastmngr
TITLE:=Multicast Proxy/Snooping Manager
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json
DEPENDS+=+!TARGET_brcmbca:mcproxy +!TARGET_brcmbca:sipcalc
DEPENDS+=+libbbfdm-api +libbbfdm-ubus +dm-service
DEPENDS+=+libbbfdm-api +libbbfdm-ubus +dm-service +!TARGET_brcmbca:kmod-ebt-igmpsnooping +!TARGET_brcmbca:kmod-ebt-mldsnooping
DEPENDS+=+!TARGET_brcmbca:ebtables-legacy +bridgemngr
endef
define Package/mcastmngr/description

View File

@@ -251,3 +251,7 @@ configure_mcast() {
configure_mcpd
}
validate_params() {
return 0
}

View File

@@ -33,6 +33,10 @@ start_service() {
configure_mcast
fi
if ! validate_params; then
return
fi
if [ -z "${PROG_PARAMS}" ]; then
start_mcast_service
else

View File

@@ -9,6 +9,7 @@ CONFFILE=
PROG_EXE=/usr/sbin/mcproxy
PROG_PARAMS=
PROG_PARAMS_SEPARATOR=:
readonly WANPORT="$(jsonfilter -i /etc/board.json -e @.network.wan.device)"
snooping_bridges=
@@ -311,6 +312,22 @@ config_mcproxy_instance() {
[ -n $fast_leave ] &&
config_sysfs_mcast_fastleave "$downstreams" "$fast_leave"
config_sysfs_mcast_flood "$downstreams" "$mcast_mode"
for iface in $downstreams; do
if device_is_bridge "$iface"; then
if [ "${protocol}" = "mld" ]; then
ebtables -t broute -I mcsnooping -s Unicast -d 33:33:00:00:00:00/ff:ff:00:00:00:00 --logical-in ${iface} ! -i "${WANPORT}+" --mld-snooping
elif [ "${protocol}" = "igmp" ]; then
ebtables -t broute -I mcsnooping -s Unicast -d 01:00:5e:00:00:00/ff:ff:ff:00:00:00 --logical-in ${iface} ! -i "${WANPORT}+" --igmp-snooping
fi
else
if [ "${protocol}" = "mld" ]; then
ebtables -t broute -I mcsnooping -s Unicast -d 33:33:00:00:00:00/ff:ff:00:00:00:00 -i ${iface} --mld-snooping
elif [ "${protocol}" = "igmp" ]; then
ebtables -t broute -I mcsnooping -s Unicast -d 01:00:5e:00:00:00/ff:ff:ff:00:00:00 -i ${iface} --igmp-snooping
fi
fi
done
fi
PROG_PARAMS="${PROG_PARAMS} -f ${CONFFILE}${PROG_PARAMS_SEPARATOR}"
@@ -324,6 +341,12 @@ disable_snooping_iface() {
disable_snooping() {
config_load network
config_foreach disable_snooping_iface device
ebtables --concurrent -t broute -F mcsnooping
# Clean up populated /procfs entries
rmmod ebt_igmpsnooping 2> /dev/null #Loaded on demand
rmmod ebt_mldsnooping 2> /dev/null #Loaded on demand
}
config_snooping() {
@@ -395,6 +418,14 @@ config_snooping() {
[ -n "$q_resp_interval" ] && config_sysfs_mcast_q_resp_interval "$interfaces" "$q_resp_interval"
[ -n "$last_mem_q_int" ] && config_sysfs_mcast_last_mem_q_int "$interfaces" "$last_mem_q_int"
[ -n "$fast_leave" ] && config_sysfs_mcast_fastleave "$interfaces" "$fast_leave"
for iface in $snooping_bridges; do
if [ "${protocol}" = "mld" ]; then
ebtables -t broute -I mcsnooping -s Unicast -d 33:33:00:00:00:00/ff:ff:00:00:00:00 --logical-in ${iface} ! -i "${WANPORT}+" --mld-snooping
elif [ "${protocol}" = "igmp" ]; then
ebtables -t broute -I mcsnooping -s Unicast -d 01:00:5e:00:00:00/ff:ff:ff:00:00:00 --logical-in ${iface} ! -i "${WANPORT}+" --igmp-snooping
fi
done
}
config_mcproxy() {
@@ -425,3 +456,9 @@ configure_mcast() {
read_mcast_proxy_params
config_mcproxy
}
validate_params() {
[ -n "${PROG_PARAMS}" ] && return 0
return 1
}

View File

@@ -5,61 +5,11 @@
readonly TEMPFILE="/tmp/snooping_stats_"$$
mcast_snooping_interface() {
local interface intf gip vid port
config_get interface "$1" interface
for intf in $interface; do
[ -z "$(bridge mdb show dev "$intf" 2> /dev/null | grep -v -F "port ${intf} " | xargs)" ] && continue
json_add_object ""
json_add_string "interface" "$intf"
json_add_array "groups"
for gip in $(bridge mdb show dev "$intf" | grep -v -F "port ${intf} " | cut -f6 -d' ' | sort -u | xargs); do
json_add_object ""
json_add_string "groupaddr" "$gip"
json_add_array "clients"
for port in $(bridge mdb show dev "$intf" | grep -v -F "port ${intf} " | grep -F "grp ${gip} " | cut -f4 -d' ' | sort -u | xargs); do
json_add_object ""
json_add_string "device" "$port"
for vid in $(bridge mdb show dev "$intf" | grep -F "port ${port} grp ${gip} " | grep -F ' vid ' | cut -f9 -d' ' | sort -u | xargs); do
json_add_object ""
json_add_string "vid" "$vid"
json_close_object #close the associated vid object
done
json_close_object #close the associated device object
done
json_close_array #close the associated devices array
json_close_object # close the groups object
done # close the loop for group addresses
json_close_array #close the groups array
json_close_object # close the snooping object
done # close the loop for interfaces
}
meld_files() {
local type="$1"
local snooping_stats="/tmp/${type}_snooping_stats"
local old_mod_time=$(date +%s 2>/dev/null -r "$snooping_stats")
# Sending signal to mcproxy to dump multicast data in /tmp/${type}_snooping_stats
local mcast_pids=$(pidof mcproxy)
for pid in $mcast_pids
do
$(kill -10 $pid)
done
# Wait for signal is being processed by mcproxy
if [ -n "$mcast_pids" ]; then
for i in 1 2 3; do
local new_mod_time=$(date +%s 2>/dev/null -r "$snooping_stats")
[ -n "$new_mod_time" ] && [ "$new_mod_time" != "$old_mod_time" ] && break
sleep 0.1
done
fi
[ ! -e "$snooping_stats" ] && return 0
cat "$snooping_stats" >> "$TEMPFILE"
tail -n +2 "/proc/net/${type}_snooping" >> "$TEMPFILE"
}
read_snooping_file() {
@@ -98,7 +48,8 @@ read_snooping_file() {
case $line in
br-*)
found_ip=0
grp_ip="$(echo $line | awk -F ' ' '{ print $2 }')"
grp_ip="$(echo $line | awk -F ' ' '{ print $7 }')"
if [ -z "$mcast_addrs" ]; then
mcast_addrs="$grp_ip"
continue
@@ -136,7 +87,7 @@ read_snooping_file() {
if [ "$snoop_iface" != "$intf" ]; then
continue
fi
grp_ip="$(echo $line | awk -F ' ' '{ print $2 }')"
grp_ip="$(echo $line | awk -F ' ' '{ print $7 }')"
if [ "$grp_ip" != "$gip_addr" ]; then
continue
fi
@@ -145,7 +96,7 @@ read_snooping_file() {
if [ -n "$(echo $gip_addr | grep -oE "^((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])$")" ]; then
gip="$(ipcalc.sh $gip_addr | grep IP | awk '{print substr($0,4)}')"
else
gip="$(echo $gip_addr | grep -oE '^([0-9a-fA-F]{0,4}:){1,7}[0-9a-fA-F]{0,4}$')"
gip="$(sipcalc -6 "$gip_addr" | awk '/^Compressed address/{print $4}')"
fi
json_add_string "groupaddr" "$gip"
json_add_array "clients"
@@ -153,16 +104,16 @@ read_snooping_file() {
fi
json_add_object ""
host_ip="$(echo $line | awk -F ' ' '{ print $3 }')"
host_ip="$(echo $line | awk -F ' ' '{ print $8 }')"
if [ -n "$(echo $host_ip | grep -oE "^((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])$")" ]; then
h_ip="$(ipcalc.sh $host_ip | grep IP | awk '{print substr($0,4)}')"
else
h_ip="$(echo $host_ip | grep -oE '^([0-9a-fA-F]{0,4}:){1,7}[0-9a-fA-F]{0,4}$')"
h_ip="$(sipcalc -6 "$host_ip" | awk '/^Compressed address/{print $4}')"
fi
json_add_string "ipaddr" "$h_ip"
src_port="$(echo $line | awk -F ' ' '{ print $4 }')"
src_port="$(echo $line | awk -F ' ' '{ print $2 }')"
json_add_string "device" "$src_port"
timeout="$(echo $line | awk -F ' ' '{ print $5 }')"
timeout="$(echo $line | awk -F ' ' '{ print $9 }')"
json_add_int "timeout" "$timeout"
json_close_object #close the associated device object
;;
@@ -186,9 +137,6 @@ read_mcast_stats() {
meld_files "igmp"
meld_files "mld"
read_snooping_file
# L2 Snooping goes here
config_load mcast
config_foreach mcast_snooping_interface "snooping"
json_close_array # close the snooping array
json_dump

27
netmngr/Config.in Normal file
View File

@@ -0,0 +1,27 @@
if PACKAGE_netmngr
config NETMNGR_GRE_OBJ
bool "Enable Device.GRE. Object"
default y
config NETMNGR_IP_OBJ
bool "Enable Device.IP. Object"
default y
config NETMNGR_ROUTING_OBJ
bool "Enable Device.Routing. Object"
default y
config NETMNGR_PPP_OBJ
bool "Enable Device.PPP. Object"
default y
config NETMNGR_ROUTER_ADVERTISEMENT_OBJ
bool "Enable Device.RouterAdvertisement. Object"
default y
config NETMNGR_IPV6RD_OBJ
bool "Enable Device.IPv6rd. Object"
default y
endif

View File

@@ -1,17 +1,17 @@
#
# Copyright (C) 2020-2024 iopsys
# Copyright (C) 2024-2025 iopsys
#
include $(TOPDIR)/rules.mk
PKG_NAME:=netmngr
PKG_VERSION:=1.0.8
PKG_VERSION:=1.1.2
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/network/netmngr.git
PKG_SOURCE_VERSION:=539c23695a086fd3d628da7b0f0de764726cfa09
PKG_SOURCE_VERSION:=f9a0e9490743c55bf7c6df02495b4dbba8c66aeb
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
@@ -33,13 +33,41 @@ define Package/netmngr/description
Package to add Network data model support.
endef
define Package/netmngr/config
source "$(SOURCE)/Config.in"
endef
MAKE_PATH:=src
TARGET_CFLAGS += -DBBF_VENDOR_PREFIX=\\\"$(CONFIG_BBF_VENDOR_PREFIX)\\\"
ifeq ($(CONFIG_NETMNGR_GRE_OBJ),y)
MAKE_FLAGS += NETMNGR_GRE_OBJ=y
endif
ifeq ($(CONFIG_NETMNGR_IP_OBJ),y)
MAKE_FLAGS += NETMNGR_IP_OBJ=y
endif
ifeq ($(CONFIG_NETMNGR_ROUTING_OBJ),y)
MAKE_FLAGS += NETMNGR_ROUTING_OBJ=y
endif
ifeq ($(CONFIG_NETMNGR_PPP_OBJ),y)
MAKE_FLAGS += NETMNGR_PPP_OBJ=y
endif
ifeq ($(CONFIG_NETMNGR_ROUTER_ADVERTISEMENT_OBJ),y)
MAKE_FLAGS += NETMNGR_ROUTER_ADVERTISEMENT_OBJ=y
endif
ifeq ($(CONFIG_NETMNGR_IPV6RD_OBJ),y)
MAKE_FLAGS += NETMNGR_IPV6RD_OBJ=y
endif
define Package/netmngr/install
$(BBFDM_REGISTER_SERVICES) ./bbfdm_service.json $(1) $(PKG_NAME)
$(BBFDM_INSTALL_MS_DM) -u Network $(PKG_BUILD_DIR)/src/libnetmngr.so $(1) $(PKG_NAME)
$(BBFDM_INSTALL_MS_DM) $(PKG_BUILD_DIR)/src/libnetmngr.so $(1) $(PKG_NAME)
$(BBFDM_INSTALL_CORE_PLUGIN) $(PKG_BUILD_DIR)/src/libinterface_stack.so $(1)
endef

View File

@@ -23,6 +23,10 @@
{
"parent_dm": "Device.",
"object": "RouterAdvertisement"
},
{
"parent_dm": "Device.",
"object": "IPv6rd"
}
],
"config": {

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=parental-control
PKG_VERSION:=1.0.1
PKG_VERSION:=1.0.3
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/network/parental-control.git
PKG_SOURCE_VERSION:=f3dc444e9072e329b2c13daaa51ec0afdfd92b30
PKG_SOURCE_VERSION:=410d1af9de498615090c5d4ac0388701d1870f68
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

View File

@@ -1,2 +1,3 @@
config globals 'globals'
option enable 0
option enable '0'
option loglevel '3'

View File

@@ -8,6 +8,12 @@ PROG=/usr/sbin/urlfilter
. /lib/parentalcontrol/parentalcontrol.sh
validate_global_section() {
uci_validate_section parentalcontrol globals globals \
'enable:bool:1' \
'loglevel:uinteger:3'
}
remove_fw_rules() {
# remove urlfilter daemon rules
remove_iptables_nfqueue_rules
@@ -42,6 +48,11 @@ configure_fw_rules() {
}
start_service() {
local enable loglevel
config_load parentalcontrol
validate_global_section
# add default bundles
process_default_bundles
# add firewall rules
@@ -49,6 +60,7 @@ start_service() {
procd_open_instance parentalcontrol_dm
procd_set_param command ${PROG}
procd_append_param command -l ${loglevel}
procd_set_param respawn
procd_close_instance
}

View File

@@ -16,19 +16,23 @@ parentalcontrol_ipv6_forward=""
default_bundle_dir="/tmp/urlfilter/default/"
bundle_archive="/etc/parental-control/urlbundles.tar.xz"
log() {
echo "$*" |logger -t urlfilter.init -p debug
}
process_default_bundles() {
if [ -s "$bundle_archive" ]; then
if mkdir -p "$default_bundle_dir"; then
if tar -xJf "$bundle_archive" -C "$default_bundle_dir"; then
logger -t urlfilter "default bundles placed at $default_bundle_dir"
log "default bundles placed at $default_bundle_dir"
else
logger -t urlfilter "default bundles could not be placed at $default_bundle_dir"
log "default bundles could not be placed at $default_bundle_dir"
fi
else
logger -t urlfilter "could not create directory: $default_bundle_dir"
log "could not create directory: $default_bundle_dir"
fi
else
logger -t urlfilter "default bundles not available"
log "default bundles not available"
fi
}
@@ -185,7 +189,7 @@ generate_ip_rule() {
# Rule for tomorrow only
add_access_rule "$IP_RULE" "$utc_start_time" "$utc_stop_time" "$next_days" "$target"
else
logger -t parental_control "Error: Unhandled case"
log "Error: Unhandled case"
fi
}

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=periodicstats
PKG_VERSION:=1.5.15
PKG_VERSION:=1.5.16
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/periodicstats.git
PKG_SOURCE_VERSION:=5fcef8cbcd3ac396b59df0df0d50812cbfd35942
PKG_SOURCE_VERSION:=8545c349a2704af45b30da0facf8940977333969
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

View File

@@ -1,3 +1,3 @@
config globals 'globals'
# log_level as per syslog i.e (0-7), default 6 (LOG_INFO)
option log_level '6'
option log_level '3'

View File

@@ -8,7 +8,7 @@ PROG="/usr/sbin/periodicstatsd"
start_service() {
config_load periodicstats
config_get log_level globals log_level "6"
config_get log_level globals log_level "1"
procd_open_instance "periodicstats"
procd_set_param command ${PROG} -l ${log_level}

View File

@@ -29,8 +29,8 @@ define Package/qosmngr
CATEGORY:=Utilities
TITLE:=QoS Manager
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libqos +!(TARGET_brcmbca||TARGET_airoha):tc-full
DEPENDS+=+kmod-vlantranslation +kmod-dscp2pbit +!(TARGET_brcmbca):ebtables-legacy
DEPENDS+=+libbbfdm-api +libbbfdm-ubus +dm-service
DEPENDS+=+kmod-ebt-vlantranslation +kmod-ebt-dscp2pbit +!(TARGET_brcmbca):ebtables-legacy
DEPENDS+=+libbbfdm-api +libbbfdm-ubus +dm-service +bridgemngr
endef
define Package/qosmngr/description

View File

@@ -122,7 +122,7 @@ setup_qos() {
cp /etc/config/qos /tmp/qos/qos
fi
create_ebtables_chains
/etc/init.d/bridging restart # Imitate the existing behaviour.
create_iptables_chains
}

View File

@@ -508,46 +508,6 @@ handle_ebtables_dscp2pbit() {
BR_RULE_DSCP2PBIT=" -i $in_if -j dscp2pbit --dscp2pbit-mapping $dscp2pbit_mapping_list --dscp2pbit-target CONTINUE"
}
create_ebtables_chains() {
ebtables --concurrent -t nat -N qos_output -P RETURN 2> /dev/null
ret=$?
if [ $ret -eq 0 ]; then
ebtables --concurrent -t nat -A OUTPUT -j qos_output
else
ebtables --concurrent -t nat -D OUTPUT -j qos_output
ebtables --concurrent -t nat -A OUTPUT -j qos_output
fi
ebtables --concurrent -t broute -N dscp2pbits -P RETURN 2> /dev/null
ret=$?
if [ $ret -eq 0 ]; then
ebtables --concurrent -t broute -A BROUTING -j dscp2pbits
else
ebtables --concurrent -t broute -D BROUTING -j dscp2pbits
ebtables --concurrent -t broute -A BROUTING -j dscp2pbits
fi
ebtables --concurrent -t broute -N qos -P RETURN 2> /dev/null
ret=$?
if [ $ret -eq 0 ]; then
ebtables --concurrent -t broute -A BROUTING -j qos
else
ebtables --concurrent -t broute -D BROUTING -j qos
ebtables --concurrent -t broute -A BROUTING -j qos
fi
ebtables --concurrent -t broute -N prevlanxlate -P RETURN 2> /dev/null
ret=$?
if [ $ret -eq 0 ]; then
ebtables --concurrent -t broute -I BROUTING -j prevlanxlate
else
ebtables --concurrent -t broute -D BROUTING -j prevlanxlate
ebtables --concurrent -t broute -I BROUTING -j prevlanxlate
fi
}
flush_ebtables_chains() {
echo "ebtables --concurrent -t nat -F qos_output" > /tmp/qos/classify.ebtables
echo "ebtables --concurrent -t broute -F qos" > /tmp/qos/classify.ebtables

View File

@@ -1,42 +1,41 @@
# SULU-CE
SULU is a ReactJS based USP controller, for more details please check sulu [documentation](https://dev.iopsys.eu/websdk/sulu/-/blob/devel/README.md). This directory contains the recipes to build sulu for IOWRT.
There are two ways to include SULU in iowrt, by
1. Adding a pre-build sulu distribution with all the plugins
2. Compile sulu at the iowrt build time, which then include all the selected plugins
1. Adding a pre-build sulu distribution with all the plugins
2. Compile sulu at the iowrt build time, which then include all the selected plugins
Align with above two ways, SULU has two variants
1. sulu - This package usages the pre-built distribution, so it faster but only include iopsys default sulu plugins
2. sulu-builder - This package builds the sulu along with selected plugins from sources, so user can include their sulu-plugins
1. sulu - This package usages the pre-built distribution, so it faster but only include iopsys default sulu plugins
2. sulu-builder - This package builds the sulu along with selected plugins from sources, so user can include their sulu-plugins
# Directory structure
This directory contains iowrt sulu plugins packages along with sulu builder.
- sulu-builder - Offers sulu and sulu-builder iowrt packages
- sulu-base - Sulu core source, needed for sulu-builder
- sulu-lcm - Sulu plugin for Life Cycle Management, can be used with sulu-builder
- sulu-multi-ap - Sulu plugin for Multi-AP, can be used with sulu-builder
- sulu-parental-control - Sulu plugin for Parental control, can be used with sulu-builder
- sulu-theme-iopsys - Sulu example theme plugin, can be used with sulu-builder
- sulu-theme-genexis - Sulu genexis theme plugin, can be used with sulu-builder
# Packages
- Select 'CONFIG_PACKAGE_sulu=y' to use pre-build sulu distribution binaries, OR
- Select 'CONFIG_PACKAGE_sulu-builder=y' to build sulu along with customized plugins from their source code, this is the preferred way if user wants to include/exclude more/default plugins in sulu.
- CONFIG_PACKAGE_sulu-lcm=y, handles life-cycle-management, should only be used with sulu-builder
- CONFIG_PACKAGE_sulu-multi-ap=y, handles easy-mesh, should only be used with sulu-builder
- CONFIG_PACKAGE_sulu-parental-control=y, Provides access-control and url-filter, should only be used with sulu-builder
- CONFIG_PACKAGE_sulu-theme-iopsys=y, Provides an example theme, should only be used with sulu-builder
- Select 'CONFIG_PACKAGE_sulu=y' to use pre-build sulu distribution binaries, OR
- Select 'CONFIG_PACKAGE_sulu-builder=y' to build sulu along with customized plugins from their source code, this is the preferred way if user wants to include/exclude more/default plugins in sulu.
- CONFIG_PACKAGE_sulu-theme-genexis=y, Provides Genexis theme, should only be used with sulu-builder
# How to select a sulu plugins
While building sulu from source, user has to select the all plugins they want to include in sulu, which can be done with 'make menuconfig', below are the list of sulu plugins available currently.
```bash
# CONFIG_PACKAGE_sulu-lcm is not set
# CONFIG_PACKAGE_sulu-multi-ap is not set
# CONFIG_PACKAGE_sulu-parental-control is not set
# CONFIG_PACKAGE_sulu-theme-iopsys is not set
# CONFIG_PACKAGE_sulu-theme-genexis is not set
```
# How to add a new sulu plugin
User can also add there own sulu plugins as package with a simple makefile as below:
```bash
@@ -55,7 +54,9 @@ include ../sulu-builder/sulu.mk
```
# How to add a new sulu plugin with additional install requirements
Sometimes it is required to install additional config files along with the package, to do so such sulu plugins need to have below syntax in Makefile
```bash
include $(TOPDIR)/rules.mk
PKG_NAME:=sulu-lcm
@@ -82,30 +83,17 @@ include ../sulu-builder/sulu.mk
In the above example Makefile, if user need to install any plugin specific component, that can be added inside 'Package/$(PKG_NAME)/install' definition.
After adding the makefile, user need to specify the list of plugins in below config option, so that sulu-builder selects them and build them along with it.
```bash
CONFIG_SULU_EXTRA_PACKAGES="sulu-plugin1 sulu-plugin2 sulu-theme1"
```
# SULU PWA (Progressive Web App)
PWA applications generally used for well know secured sites, which can be installed directly from web-browser as desktop/mobile application.
> Note:
> 1. It requires well defined SSL keys for deployment of PWA for a defined site.
> 2. It should be used with sites with well defined FQDN
To enable SULU PWA application, user need to select PWA in sulu/sulu-builder config options and provide the path of the pwa key file
```bash
CONFIG_SULU_PWA_APP=y
CONFIG_SULU_PWA_KEYS_PATH="/somepath_with_pwa.{crt,key}"
CONFIG_SULU_BUILDER_EXTRA_PACKAGES="sulu-plugin1 sulu-plugin2 sulu-theme1"
```
>Note: Replacing/changing the keys might requires uninstall/install of PWA App and CTRL+Shift+R in browser to drop the cached site and load the new site with new keys.
# How to create a new Sulu user with Role Based Access Controller
Sulu has a predefined set of users, but if it is required to add user with more/less datamodel access rights, that can be done from a USP Controller(sulu etc) or by using the command line tool.
In the below example, I use command line tool, but same operations can be done from controller as well to configure it, so we need
- New user
- New user role
- Changes in UserInterface Instance to use the new user role
@@ -118,6 +106,7 @@ Some global variables before proceeding further
export UNAME=testuser
export UPASS=testuser123
```
## Create an User Role
```bash
@@ -179,3 +168,17 @@ reboot
```
After device boots sulu should be able to login with newly added user.
## Make sulu the default UI
If you want SULU to be hosted on port 443 instead of 8443, just select the config option
```bash
CONFIG_SULU_DEFAULT_UI=y
```
or
```bash
CONFIG_SULU_BUILDER_DEFAULT_UI=y
```

View File

@@ -5,11 +5,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=sulu-base
PKG_VERSION:=3.1.59
PKG_VERSION:=4.0.1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/sulu.git
PKG_SOURCE_VERSION:=729253b3864edc3dfbb10c839f5b6e3db7a26cc1
PKG_SOURCE_VERSION:=447e96d33b9340c5361c9cdedcfaf8075d31773b
PKG_MIRROR_HASH:=skip
SULU_MOD:=core

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=sulu-builder
PKG_VERSION:=3.1.62
PKG_VERSION:=4.0.2
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/sulu-builder.git
PKG_SOURCE_VERSION:=31fecc47a3d4100e00e8545ea861bb7362938e98
PKG_SOURCE_VERSION:=02522220ae3017865f2ce676ee08c0d30b3feb2d
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_SOURCE_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
PKG_BUILD_DIR:=$(BUILD_DIR)/sulu-$(PKG_VERSION)/sulu-builder-$(PKG_SOURCE_VERSION)
@@ -20,7 +20,7 @@ PKG_LICENSE:=PROPRIETARY IOPSYS
PKG_LICENSE_FILES:=LICENSE
SULU_PLUGINS:=$(filter-out sulu-builder,$(filter-out Readme.md,$(notdir $(wildcard ../*))))
SULU_EXTRA:=$(subst $\",,$(CONFIG_SULU_EXTRA_PACKAGES))
SULU_EXTRA:=$(subst $\",,$(CONFIG_SULU_BUILDER_EXTRA_PACKAGES))
include $(INCLUDE_DIR)/package.mk
define Package/sulu/default
@@ -57,65 +57,25 @@ define Package/sulu-builder/description
endef
define Package/sulu/config
config SULU_PWA_APP
config SULU_DEFAULT_UI
depends on PACKAGE_sulu
bool "Enable SULU PWA App support"
bool "Makes Sulu run on port 443 instead of 8443"
default n
help
Enable SULU PWA (Progressive Web App) support, this requires
'pwa.crt' and 'pwa.key' to be installed in '/etc/sulu/' directory.
config SULU_PWA_KEYS_PATH
depends on PACKAGE_sulu
string "Path of pwa.crt and pwa.key for sulu/PWA"
help
Provide directory path for the certficates for PWA,
directory must contain 'pwa.crt' and 'pwa.key'.
config SULU_EXPERIMENTAL_WIDGETS
depends on PACKAGE_sulu
bool "Enable SULU under developement widget"
default n
help
Enable SULU Widgets which are under developement.
endef
define Package/sulu-builder/config
config SULU_EXTRA_PACKAGES
config SULU_BUILDER_EXTRA_PACKAGES
depends on PACKAGE_sulu-builder
string "Space separated list of sulu packages"
help
You can specify the list of non core sulu package,
so that sulu-builder include them before building the core.
config SULU_ENV_DATA
config SULU_BUILDER_DEFAULT_UI
depends on PACKAGE_sulu-builder
string "Sulu env data"
help
Use this option to initialize sulu build time environment options.
config SULU_PWA_APP
depends on PACKAGE_sulu-builder
bool "Enable SULU PWA App support"
bool "Makes Sulu run on port 443 instead of 8443"
default n
help
Enable SULU PWA (Progressive Web App) support, this requires
'pwa.crt' and 'pwa.key' to be installed in '/etc/sulu/' directory.
config SULU_PWA_KEYS_PATH
depends on PACKAGE_sulu-builder
string "Path of pwa.crt and pwa.key for sulu/PWA"
help
Provide directory path for the certficates for PWA,
directory must contain 'pwa.crt' and 'pwa.key'.
config SULU_EXPERIMENTAL_WIDGETS
depends on PACKAGE_sulu-builder
bool "Enable SULU under developement widget"
default n
help
Enable SULU Widgets which are under developement.
endef
@@ -151,13 +111,11 @@ define Package/sulu/install/Default
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_BIN) ./files/etc/uci-defaults/99-fix-sulu-config $(1)/etc/uci-defaults/
$(INSTALL_BIN) ./files/etc/uci-defaults/40-add-sulu-userinterface-config $(1)/etc/uci-defaults/
ifneq ($(CONFIG_SULU_DEFAULT_UI)$(CONFIG_SULU_BUILDER_DEFAULT_UI),)
$(INSTALL_BIN) ./files/etc/uci-defaults/41-make-sulu-default-ui $(1)/etc/uci-defaults/
endif
$(INSTALL_BIN) ./files/etc/uci-defaults/01-update-nginx-uci-template $(1)/etc/uci-defaults/
$(INSTALL_BIN) ./files/etc/uci-defaults/10-add-mqtt-config $(1)/etc/uci-defaults/
ifeq ($(CONFIG_SULU_PWA_APP),y)
$(INSTALL_BIN) ./files/etc/uci-defaults/99-eval-set-sulu-pwa-keys $(1)/etc/uci-defaults/
$(INSTALL_DATA) $(CONFIG_SULU_PWA_KEYS_PATH)/pwa.crt $(1)/etc/sulu/
$(INSTALL_DATA) $(CONFIG_SULU_PWA_KEYS_PATH)/pwa.key $(1)/etc/sulu/
endif
endef
define Package/sulu/install/Post
@@ -165,12 +123,6 @@ define Package/sulu/install/Post
ifneq ($(CONFIG_PACKAGE_skopeo)$(CONFIG_PACKAGE_umoci),yy)
$(RM) $(1)/sulu/presets/lcm-store.json
endif
ifneq ($(CONFIG_SULU_EXPERIMENTAL_WIDGETS),y)
$(RM) $(1)/sulu/presets/mesh-onboarding-instructions.json
endif
ifneq ($(CONFIG_SULU_PWA_APP),y)
$(CP) $(PKG_BUILD_DIR)/dist/nonPWA.html $(1)/sulu/index.html
endif
endef
define Package/sulu/install

View File

@@ -0,0 +1,54 @@
#!/bin/sh
. /lib/functions.sh
uci_load nginx
# this is to make sure to not mess up existing config
if uci_get nginx _sulu_s >/dev/null 2>&1; then
exit 0
fi
move_default_nginx_listener_to_8443() {
if [ ! -f /etc/config/nginx ]; then
return
fi
if ! uci_get nginx _lan >/dev/null 2>&1; then
return
fi
uci_remove nginx _lan listen
uci_add_list nginx _lan listen "8443 ssl default_server"
uci_add_list nginx _lan listen "[::]:8443 ssl default_server"
if ! uci_get nginx _redirect2ssl >/dev/null 2>&1; then
return
fi
uci_remove nginx _redirect2ssl listen
uci_add_list nginx _redirect2ssl listen "8080"
uci_add_list nginx _redirect2ssl listen "[::]:8080"
uci_set nginx _redirect2ssl return '302 https://$host:8443$request_uri'
}
move_sulu_to_443_and_80() {
uci_load userinterface
if [ ! -f /etc/config/userinterface ]; then
return
fi
set_port() {
local protocol
config_get protocol "$1" protocol
if [ "$protocol" == "HTTPS" ]; then
uci_set userinterface "$1" port "443"
elif [ "$protocol" == "HTTP" ]; then
uci_set userinterface "$1" port "80"
fi
}
config_foreach set_port http_access
}
move_default_nginx_listener_to_8443
move_sulu_to_443_and_80

View File

@@ -1,17 +0,0 @@
#
# Copyright (C) 2023 IOPSYS
#
include $(TOPDIR)/rules.mk
PKG_NAME:=sulu-lcm
PKG_VERSION:=3.1.52
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/sulu-lcm.git
PKG_SOURCE_VERSION:=af612edb4ea186d9c71fc2157883bf686b14e376
PKG_MIRROR_HASH:=skip
include ../sulu-builder/sulu.mk
# call BuildPackage - OpenWrt buildroot signature

View File

@@ -1,16 +0,0 @@
#
# Copyright (C) 2023 IOPSYS
#
include $(TOPDIR)/rules.mk
PKG_NAME:=sulu-multi-ap
PKG_VERSION:=3.1.52
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/sulu-multi-ap.git
PKG_SOURCE_VERSION:=ac4a73768844796be5678559b64269e6fe073192
PKG_MIRROR_HASH:=skip
include ../sulu-builder/sulu.mk
# call BuildPackage - OpenWrt buildroot signature

View File

@@ -1,16 +0,0 @@
#
# Copyright (C) 2023 IOPSYS
#
include $(TOPDIR)/rules.mk
PKG_NAME:=sulu-parental-control
PKG_VERSION:=3.1.52
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/sulu-parental-control.git
PKG_SOURCE_VERSION:=e1c5b4473fba9d42ef7d1e95e634416585bf5887
PKG_MIRROR_HASH:=skip
include ../sulu-builder/sulu.mk
# call BuildPackage - OpenWrt buildroot signature

View File

@@ -0,0 +1,17 @@
#
# Copyright (C) 2025 Genexis
#
include $(TOPDIR)/rules.mk
PKG_NAME:=sulu-theme-genexis
PKG_VERSION:=4.0.0
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/gnx/sulu-theme-genexis
PKG_SOURCE_VERSION:=35fd7be2e057d346aa914c7db842ae1d46be6e1f
PKG_MIRROR_HASH:=skip
include ../sulu-builder/sulu.mk
# call BuildPackage - OpenWrt buildroot signature

View File

@@ -1,17 +0,0 @@
#
# Copyright (C) 2023 IOPSYS
#
include $(TOPDIR)/rules.mk
PKG_NAME:=sulu-theme-iopsys
PKG_VERSION:=3.0.0
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/sulu-theme-iopsys.git
PKG_SOURCE_VERSION:=a69b75e44d111d2a943563f96413a7363a0b4bca
PKG_MIRROR_HASH:=skip
include ../sulu-builder/sulu.mk
# call BuildPackage - OpenWrt buildroot signature

View File

@@ -32,8 +32,17 @@ config SYSMNGR_VENDOR_EXTENSIONS
bool "Enable vendor extensions for Device.DeviceInfo."
default y
config SYSMNGR_VENDOR_PREFIX
depends on SYSMNGR_VENDOR_EXTENSIONS
string "Vendor Prefix for sysmngr datamodel extensions"
default ""
config SYSMNGR_FWBANK_UBUS_SUPPORT
bool "Expose fwbank ubus object"
default y
config SYSMNGR_TEMPERATURE_STATUS
bool "Enable Device.DeviceInfo.TemperatureStatus. Object"
default y
endif

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=sysmngr
PKG_VERSION:=1.0.13
PKG_VERSION:=1.0.15
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/system/sysmngr.git
PKG_SOURCE_VERSION:=222a188425d70733938e70ee23c55bac62f8a0f4
PKG_SOURCE_VERSION:=3470caa72a1e2903e204e31ea0226e957cf25469
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
@@ -48,8 +48,6 @@ define Build/Prepare
endef
endif
TARGET_CFLAGS += -DBBF_VENDOR_PREFIX=\\\"$(CONFIG_BBF_VENDOR_PREFIX)\\\"
ifeq ($(CONFIG_SYSMNGR_VENDOR_CONFIG_FILE),y)
MAKE_FLAGS += SYSMNGR_VENDOR_CONFIG_FILE=y
endif
@@ -80,12 +78,21 @@ endif
ifeq ($(CONFIG_SYSMNGR_VENDOR_EXTENSIONS),y)
MAKE_FLAGS += SYSMNGR_VENDOR_EXTENSIONS=y
ifeq ($(CONFIG_SYSMNGR_VENDOR_PREFIX),"")
TARGET_CFLAGS += -DCUSTOM_PREFIX=\\\"$(CONFIG_BBF_VENDOR_PREFIX)\\\"
else
TARGET_CFLAGS += -DCUSTOM_PREFIX=\\\"$(CONFIG_SYSMNGR_VENDOR_PREFIX)\\\"
endif
endif
ifeq ($(CONFIG_SYSMNGR_FWBANK_UBUS_SUPPORT),y)
MAKE_FLAGS += SYSMNGR_FWBANK_UBUS_SUPPORT=y
endif
ifeq ($(CONFIG_SYSMNGR_TEMPERATURE_STATUS),y)
MAKE_FLAGS += SYSMNGR_TEMPERATURE_STATUS=y
endif
define Package/$(PKG_NAME)/install
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) ./files/etc/config/sysmngr $(1)/etc/config/sysmngr
@@ -105,6 +112,16 @@ define Package/$(PKG_NAME)/install
$(BBFDM_REGISTER_SERVICES) ./bbfdm_service.json $(1) $(PKG_NAME)
$(INSTALL_BIN) ./files/etc/sysmngr/fwbank $(1)/etc/sysmngr/fwbank
ifeq ($(CONFIG_SYSMNGR_TEMPERATURE_STATUS),y)
$(INSTALL_DIR) $(1)/etc/sysmngr
ifeq ($(CONFIG_TARGET_brcmbca),y)
$(INSTALL_BIN) ./files/etc/sysmngr/broadcom.sh $(1)/etc/sysmngr/temperature.sh
else
$(INSTALL_BIN) ./files/etc/sysmngr/default.sh $(1)/etc/sysmngr/temperature.sh
endif
endif
endef
$(eval $(call BuildPackage,$(PKG_NAME)))

View File

@@ -0,0 +1,85 @@
#!/bin/sh
. /usr/share/libubox/jshn.sh
. /lib/functions.sh
function get_wlan_temperature()
{
add_wlan_temp() {
local temp="$(wlctl -i "$1" phy_tempsense)"
[ -n "$temp" ] || temp='-274'
json_add_object
json_add_string "name" "wlan-$1"
json_add_int "temperature" "$temp"
json_close_object
}
config_load wireless
config_foreach add_wlan_temp wifi-device
}
function get_sfp_temperature()
{
local temp=""
local sfp="$(ubus call sfp.ddm get-temperature)"
json_load "$sfp"
json_get_var temp temperature
[ -n "$temp" ] || temp='-274'
echo "$temp"
}
function get_cpu_temperature()
{
local cpu="$(cat /sys/devices/virtual/thermal/thermal_zone0/temp 2>/dev/null)"
[ -n "$cpu" ] || cpu='-274000'
echo "${cpu:0:-3}"
}
function get_temperature_status()
{
local hasWifi="$(db -q get hw.board.hasWifi)"
local hasSfp="$(db -q get hw.board.hasSfp)"
json_init
json_add_array "status"
json_add_object
json_add_string "name" "cpu"
json_add_int "temperature" "$(get_cpu_temperature)"
json_close_object
[ "$hasWifi" = "1" ] && get_wlan_temperature
[ "$hasSfp" = "1" ] && {
json_add_object
json_add_string "name" "sfp"
json_add_int "temperature" "$(get_sfp_temperature)"
json_close_object
}
json_close_array
json_dump
}
function dump_invalid()
{
json_init
json_add_string "fault" "invalid request"
json_dump
}
case "$1" in
status)
get_temperature_status
;;
*)
dump_invalid
;;
esac

View File

@@ -0,0 +1,63 @@
#!/bin/sh
. /usr/share/libubox/jshn.sh
. /lib/functions.sh
function get_wlan_temperature()
{
:
}
function get_sfp_temperature()
{
echo "-274"
}
function get_cpu_temperature()
{
echo "-274"
}
function get_temperature_status()
{
local hasWifi="$(db -q get hw.board.hasWifi)"
local hasSfp="$(db -q get hw.board.hasSfp)"
json_init
json_add_array "status"
json_add_object
json_add_string "name" "cpu"
json_add_int "temperature" "$(get_cpu_temperature)"
json_close_object
[ "$hasWifi" = "1" ] && get_wlan_temperature
[ "$hasSfp" = "1" ] && {
json_add_object
json_add_string "name" "sfp"
json_add_int "temperature" "$(get_sfp_temperature)"
json_close_object
}
json_close_array
json_dump
}
function dump_invalid()
{
json_init
json_add_string "fault" "invalid request"
json_dump
}
case "$1" in
status)
get_temperature_status
;;
*)
dump_invalid
;;
esac

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=timemngr
PKG_VERSION:=1.1.4
PKG_VERSION:=1.1.5
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/timemngr.git
PKG_SOURCE_VERSION:=a6c3926d7d1bb4031d3bc9865d4648abe173ad93
PKG_SOURCE_VERSION:=98d41d8fc575a0c112bab4534122aacfc3364981
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

View File

@@ -1,7 +1,11 @@
if PACKAGE_wifidmd
config ENABLE_WIFI_DATAELEMENTS
bool "Enable WiFi Data Elements Object"
config WIFIDMD_DISABLE_LEGACY_WIFI
bool "Disable legacy Wireless Objects like WiFi.Radio., WiFi.SSID., WiFi.AccessPoint. etc"
default n
config WIFIDMD_WIFI_DATAELEMENTS
bool "Enable Device.WiFi.DataElements. Object"
default y
endif

View File

@@ -1,17 +1,17 @@
#
# Copyright (C) 2020-2024 iopsys
# Copyright (C) 2020-2025 iopsys
#
include $(TOPDIR)/rules.mk
PKG_NAME:=wifidmd
PKG_VERSION:=1.0.20
PKG_VERSION:=1.0.23
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/wifidmd.git
PKG_SOURCE_VERSION:=5f54b21f458f91064df76f15e39acdbe77c17b13
PKG_SOURCE_VERSION:=f6b6a2d68ec5523b8d2b118d7931fb9e590cba03
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
@@ -39,18 +39,27 @@ endef
MAKE_PATH:=src
define Package/wifidmd/install
$(BBFDM_REGISTER_SERVICES) ./bbfdm_service.json $(1) $(PKG_NAME)
$(BBFDM_INSTALL_MS_DM) -u WiFi $(PKG_BUILD_DIR)/src/libwifi.so $(1) $(PKG_NAME)
ifeq ($(CONFIG_ENABLE_WIFI_DATAELEMENTS),y)
$(BBFDM_INSTALL_MS_PLUGIN) $(PKG_BUILD_DIR)/src/libdataelements.so $(1) $(PKG_NAME)
endif
endef
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
$(CP) ~/git/wifidmd/* $(PKG_BUILD_DIR)/
endef
endif
define Package/wifidmd/install
$(INSTALL_DIR) $(1)/etc/bbfdm/services
$(INSTALL_DIR) $(1)/usr/share/bbfdm/micro_services
ifneq ($(CONFIG_WIFIDMD_DISABLE_LEGACY_WIFI),y)
$(BBFDM_REGISTER_SERVICES) ./files/bbfdm_service.json $(1) $(PKG_NAME)
$(BBFDM_INSTALL_MS_DM) $(PKG_BUILD_DIR)/src/libwifi.so $(1) $(PKG_NAME)
endif
ifeq ($(CONFIG_WIFIDMD_WIFI_DATAELEMENTS),y)
$(BBFDM_REGISTER_SERVICES) ./files/bbfdm_service_dataelements.json $(1) $(PKG_NAME).dataelements
$(BBFDM_INSTALL_MS_DM) $(PKG_BUILD_DIR)/src/libdataelements.so $(1) $(PKG_NAME).dataelements
endif
endef
$(eval $(call BuildPackage,wifidmd))

View File

@@ -0,0 +1,16 @@
{
"daemon": {
"enable": "1",
"service_name": "wifidmd.dataelements",
"unified_daemon": false,
"services": [
{
"parent_dm": "Device.",
"object": "WiFi"
}
],
"config": {
"loglevel": "3"
}
}
}

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=wifimngr
PKG_VERSION:=17.4.7
PKG_VERSION:=17.4.8
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=d9295eb87a01a643480c7d154b2f7d2d1544e72a
PKG_SOURCE_VERSION:=914e363557665818d8da360c15540d5290fee3c4
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/wifimngr.git
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@iopsys.eu>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz