Compare commits

..

61 Commits

Author SHA1 Message Date
Amit Kumar
1d5b6f239f mcastmngr: Handled max multicast snoop entry
* removed +2 logic as multicast snoop entry handled in mcproxy
 with logic to exclude count of reserve mcast ip address subnet
2024-06-10 14:49:37 +05:30
Marek Puzyniak
952e789c6d decollector: 4.2.1.1.5 2024-06-10 07:45:39 +00:00
Vivek Kumar Dutta
4ae6af4322 bbfdm: config options for core TR181 datamodels 2024-06-07 23:21:09 +05:30
Vivek Kumar Dutta
cf3309e0e5 obuspa: 7.0.5.6.6 2024-06-07 14:01:47 +05:30
Vivek Kumar Dutta
3affc786d4 obuspa: Fix dhcp onboarding 2024-06-07 12:49:33 +05:30
Vivek Kumar Dutta
7c23220712 hostmngr: define datamodel plugin dir 2024-06-06 18:47:53 +05:30
Vivek Kumar Dutta
73ce886e9a obuspa: configure instance refresh timer 2024-06-06 15:21:36 +05:30
Vivek Kumar Dutta
b9e84a8679 bbfdm: optimize instance refresh handler 2024-06-06 15:20:14 +05:30
Marina Maslova
e9eae90cef map-agent: 4.5.0.23 2024-06-05 17:50:30 +04:00
Vivek Kumar Dutta
b02190065a bbfdm: config option to include (Dis)Association table 2024-06-05 15:18:19 +05:30
nevadita.chatterjee
bf6b547783 decollector: 4.2.1.1.4 2024-06-05 14:06:32 +05:30
Filip Matusiak
c42779c963 map-controller: 4.5.0.8 2024-06-05 10:10:08 +02:00
Marek Puzyniak
951a880017 decollector: 4.2.1.1.3 2024-06-04 12:23:20 +00:00
Jakob Olsson
de4b7fca62 map-agent: introduce config option that passes PERSIST_CONTROLLER CLFLAG 2024-06-04 13:48:40 +02:00
Jakob Olsson
a78540790d map-agent: 4.5.0.22 2024-06-04 13:48:37 +02:00
Jakob Olsson
9c6c25bf4b map-controller: 4.5.0.7 2024-06-04 13:48:03 +02:00
Jakob Olsson
cbdad382a2 map-agent: map_genconfig: don't modify mapcontroller enabled unconditionally 2024-06-04 13:48:03 +02:00
Filip Matusiak
482c1a1a81 map-agent: 4.5.0.21 2024-06-03 16:25:21 +02:00
Janusz Dziedzic
324280cf8f libwifi: 7.4.16.13 2024-06-03 11:16:59 +00:00
Vivek Kumar Dutta
49874bc3ef obuspa: host AccessControl access for user role 2024-05-30 18:56:56 +05:30
Vivek Kumar Dutta
8820fc7d73 swmodd: 2.5.3.1 2024-05-30 14:35:49 +05:30
Vivek Kumar Dutta
018c6ef9c4 icwmp: retries in deviceID get 2024-05-29 17:12:38 +05:30
Filip Matusiak
da51891a58 map-controller: 4.5.0.6 2024-05-24 10:52:10 +02:00
Amit Kumar
c794673a8a Update package urlfilter
* ebf8afb Allow setting URL in Blacklist/Whitelist URL
* 7507725 urlfilter: do not populate list if global blacklisting is disabled
* 9142ba3 urlfilter: fix building with glibc
* 898c4a9 filter: don't allocate UCI context and don't get UCI package more than once
2024-05-24 06:41:37 +00:00
Janusz Dziedzic
cae61fd18b libwifi: 7.4.16.12 2024-05-20 10:40:05 +00:00
Vivek Kumar Dutta
7e5b565190 bbfdm: Support PeriodicStats Push event 2024-05-16 15:47:09 +05:30
Vivek Kumar Dutta
4ca088bea5 periodicstats: Add support for push event 2024-05-16 14:23:14 +05:30
Marek Puzyniak
b1bbb6e056 decollector: 4.2.1.1.2 2024-05-15 14:35:47 +00:00
Marek Puzyniak
daca8e977f libwifi: 7.4.16.11 2024-05-15 14:34:03 +00:00
Markus Gothe
061bede64d mcastmngr: Airoha multicast snooping needs to be toggled to work.
We need to flush the mdb entries when configuring multicast
snooping on Airoha.

This commit fixes a bug where blocking multicast snooping doesn't
work.
2024-05-15 11:14:09 +00:00
Janusz Dziedzic
177dab28d1 csmngr: 1.0.1 2024-05-15 07:35:17 +00:00
Anjan Chanda
ae769b4dee csmngr: 0.0.5 2024-05-15 07:09:05 +00:00
Anjan Chanda
0ef82d3d0f csmngr: 0.0.4 2024-05-15 07:09:05 +00:00
Anjan Chanda
fdbe5689e2 csmngr: 0.0.2 2024-05-15 07:09:05 +00:00
Anjan Chanda
30cafc9b45 csmngr: 0.0.1 2024-05-15 07:09:05 +00:00
Janusz Dziedzic
e8a683a8ac libwifi: 7.4.16.10 2024-05-15 06:52:45 +00:00
Vivek Kumar Dutta
502dec56b3 obuspa: optimised uci update on reload 2024-05-14 10:48:37 +05:30
Filip Matusiak
3f5a3cb200 map-controller: 4.5.0.5 2024-05-13 14:28:26 +02:00
Jakob Olsson
fea1da3b53 map-agent: 4.5.0.20 2024-05-08 11:37:36 +02:00
Marina Maslova
7405571200 libwifi: 7.4.16.9, wifimngr: 16.2.1.5 2024-05-08 11:48:29 +04:00
Vivek Kumar Dutta
21a1a32f27 bbfdm: optimised wifi key handling 2024-05-07 16:33:20 +05:30
Janusz Dziedzic
fa402fdb2e libwifi: 7.4.16.8 2024-05-06 10:49:57 +00:00
Vivek Kumar Dutta
6f85fbd7ca bbfdm: Fix PossibleChannels with radio down 2024-05-06 16:00:13 +05:30
Markus Gothe
058bfb4c8a hostmngr: Don't try to resolve IP-adresses in firewall.
Using iptables --list without -n takes a long time
on some configurations during boot up which is a problem.

This commit resolves this by not trying resolve hostnames
as it is not necessary for the functionality.

It also splits up the check in two: one for IPv4 and one
for IPv6 to make the logic more robust and fail-safe.
2024-05-03 07:04:36 +00:00
Mohd Husaam Mehdi
3003cb98f4 bbfdm: add udhcpc.user.d script to store dhcp lease start time
DCHP lease start time is needed to calculate remaining lease time
which is needed for Device.DHCPv4.Client.{i}.LeaseTimeRemaining.

Earlier this was being provided via interface.status, but that was
leading to unnecessary hotplug events for interface data update so
it had to be removed from there.

Add the logic in udhcpc.user.d script separate from netifd as
there does not seem to be a need in netifd for this information.
2024-05-02 19:20:28 +05:30
Vivek Kumar Dutta
762835179d obuspa: disable E2ESession 2024-04-27 11:12:44 +05:30
Vivek Kumar Dutta
29beb2dd33 periodicstats: CalculationMode and bug fixes 2024-04-26 18:13:15 +05:30
Amin Ben Romdhane
1a20be1c9d obuspa: 7.0.5.6.0 2024-04-26 00:42:33 +02:00
Amin Ben Romdhane
52b92afac7 icwmp: 9.5.29.11 2024-04-26 00:40:31 +02:00
Amin Ben Romdhane
edff254a69 bbfdm: 1.4.23.15 2024-04-26 00:39:11 +02:00
Erik Karlsson
58cc602f8f mcastmngr: handle multiple upstream interface sections
Do not overwrite mcast configuration if there are multiple interface
sections referring to the same upstream device such as wan/wan6

(cherry picked from commit 2214fd99e8)
2024-04-25 11:09:15 +02:00
Janusz Dziedzic
1f4e445894 wifimngr: 16.2.1.4 2024-04-24 15:53:36 +00:00
Janusz Dziedzic
3460ddd956 libwifi: 7.4.16.7 2024-04-24 15:52:54 +00:00
Jakob Olsson
b6f0dc71e4 map-controller: 4.5.0.4 2024-04-23 16:18:41 +02:00
Jakob Olsson
74a1470463 map-agent: 4.5.0.19 2024-04-23 15:47:22 +02:00
Jakob Olsson
d31a9abd2f wifimngr: 16.2.1.3 2024-04-23 15:44:11 +02:00
Jakob Olsson
ee74a4a06b libwifi: 7.4.16.6 2024-04-23 15:41:13 +02:00
Markus Gothe
5ec644e052 qosmngr: Fix filtering on TOS field for non-Broadcom platforms. 2024-04-22 14:17:48 +00:00
Vivek Kumar Dutta
0787af4769 rulengd: enabled extended regex for pattern matching
(cherry picked from commit 016dbef779)
2024-04-22 12:50:30 +00:00
Vivek Kumar Dutta
66aa4bf8de tr104: fix alias for sip client 2024-04-20 13:33:01 +05:30
Vivek Kumar Dutta
98d0c9b490 bbfdm: Fix IP and Bridge alias 2024-04-20 13:28:17 +05:30
36 changed files with 672 additions and 160 deletions

View File

@@ -10,14 +10,168 @@ config BBF_VENDOR_PREFIX
string "Vendor Prefix"
default "X_IOPSYS_EU_"
config BBF_TR143
bool "Enable TR-143 Data Model Support"
default y
config BBF_TR471
bool "Enable TR-471 Data Model Support"
default y
config BBF_MAX_OBJECT_INSTANCES
int "Maximum number of instances per object"
default 255
menu "TR181 Datamodels"
depends on PACKAGE_libbbfdm
config BBF_TR143
bool "Enable TR-143 Data Model Support"
default y
config BBF_TR471
bool "Enable TR-471 Data Model Support"
default y
config BBFDM_TR181_ATM
bool "Include Device.ATM."
default y
config BBFDM_TR181_BRIDGING
bool "Include Device.Bridging."
default y
config BBFDM_TR181_DDNS
bool "Include Device.DynamicDNS."
default y
config BBFDM_TR181_DEVICEINFO
bool "Include Device.DeviceInfo."
default y
config BBFDM_TR181_DEVICEINFO_PROCESSSTATUS
bool "Include Device.DeviceInfo.ProcessStatus."
default y
config BBFDM_TR181_DHCPv4
bool "Include Device.DHCPv4."
default y
config BBFDM_TR181_DHCPv6
bool "Include Device.DHCPv6."
default y
config BBFDM_TR181_DNS
bool "Include Device.DNS."
default y
config BBFDM_TR181_DSL
bool "Include Device.DSL."
default y
config BBFDM_TR181_ETHERNET
bool "Include Device.Ethenet."
default y
config BBFDM_TR181_FAST
bool "Include Device.FAST."
default y
config BBFDM_TR181_FIREWALL
bool "Include Device.Firewall."
default y
config BBFDM_TR181_GATEWAYINFO
bool "Include Device.GatewayInfo."
default y
config BBFDM_TR181_GRE
bool "Include Device.GRE."
default y
config BBFDM_TR181_IEEE1905
bool "Include Device.IEEE1905."
default y
config BBFDM_TR181_INTERFACESTACK
bool "Include Device.InterfaceStack."
default y
config BBFDM_TR181_IP
bool "Include Device.IP."
default y
config BBFDM_TR181_LANCONFSEC
bool "Include Device.LANonfigSecurity."
default y
config BBFDM_TR181_MQTT
bool "Include Device.MQTT."
default y
config BBFDM_TR181_NAT
bool "Include Device.NAT."
default y
config BBFDM_TR181_PACKETCAPTURE
bool "Include Device.PacketCaptureDiagnostics."
default y
config BBFDM_TR181_PPP
bool "Include Device.PPP."
default y
config BBFDM_TR181_PTM
bool "Include Device.PTM."
default y
config BBFDM_TR181_QOS
bool "Include Device.QoS."
default y
config BBFDM_TR181_ROUTERADVERTISEMENT
bool "Include Device.RouterAdvertisement."
default y
config BBFDM_TR181_ROUTING
bool "Include Device.Routing."
default y
config BBFDM_TR181_SECURITY
bool "Include Device.Security."
default y
config BBFDM_TR181_SELFTEST
bool "Include Device.SelfTestDiagnostics."
default y
config BBFDM_TR181_SSH
bool "Include Device.SSH."
default y
config BBFDM_TR181_TIME
bool "Include Device.Time."
default y
config BBFDM_TR181_UPNP
bool "Include Device.UPnP."
default y
config BBFDM_TR181_USB
bool "Include Device.USB."
default y
config BBFDM_TR181_USERINTERFACE
bool "Include Device.UserInterface."
default y
config BBFDM_TR181_WIFI
bool "Include Device.WiFi."
default y
config BBFDM_TR181_WIFI_DATAELEMENTS
bool "Include Device.WiFi.DataElements."
default y
config BBFDM_TR181_WIFI_DATAELEMENTS_ASSOCEVENTS
bool "Include deprecated AssociationEventData/DisassociationEventData tables"
default n
help
TR181-2.17 deprecates below dataelements tables
- Device.WiFi.DataElements.AssociationEvent.AssociationEventData.{i}.
- Device.WiFi.DataElements.DisassociationEvent.DisassociationEventData.{i}.
If this option is selected, above mentioned tables shall be added in datamodel.
endmenu

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=bbfdm
PKG_VERSION:=1.4.23.15
PKG_VERSION:=1.4.23.22
USE_LOCAL:=0
ifneq ($(USE_LOCAL),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/bbfdm.git
PKG_SOURCE_VERSION:=3007f6fc86e84b6b460dbea0bf77c4cf522d06c1
PKG_SOURCE_VERSION:=73d49e600e2cdf2aadcc23133b922916c6cd8c69
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
@@ -38,6 +38,7 @@ define Package/libbbfdm/default
TITLE:=Library for broadband forum data model support
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libcurl +libbbfdm-api \
+BBF_TR471:obudpst
MENU:=1
endef
define Package/libbbfdm
@@ -112,8 +113,153 @@ endef
endif
CMAKE_OPTIONS += \
-DBBF_TR181=ON
-DBBF_WIFI_DATAELEMENTS=ON
-DBBF_TR181=ON \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
ifeq ($(CONFIG_BBFDM_TR181_ATM),y)
TARGET_CFLAGS += -DBBFDM_TR181_ATM
endif
ifeq ($(CONFIG_BBFDM_TR181_BRIDGING),y)
TARGET_CFLAGS += -DBBFDM_TR181_BRIDGING
endif
ifeq ($(CONFIG_BBFDM_TR181_DDNS),y)
TARGET_CFLAGS += -DBBFDM_TR181_DDNS
endif
ifeq ($(CONFIG_BBFDM_TR181_DEVICEINFO),y)
TARGET_CFLAGS += -DBBFDM_TR181_DEVICEINFO
endif
ifeq ($(CONFIG_BBFDM_TR181_DEVICEINFO_PROCESSSTATUS),y)
TARGET_CFLAGS += -DBBFDM_TR181_DEVICEINFO_PROCESSSTATUS
endif
ifeq ($(CONFIG_BBFDM_TR181_DHCPv4),y)
TARGET_CFLAGS += -DBBFDM_TR181_DHCPv4
endif
ifeq ($(CONFIG_BBFDM_TR181_DHCPv6),y)
TARGET_CFLAGS += -DBBFDM_TR181_DHCPv6
endif
ifeq ($(CONFIG_BBFDM_TR181_DNS),y)
TARGET_CFLAGS += -DBBFDM_TR181_DNS
endif
ifeq ($(CONFIG_BBFDM_TR181_DSL),y)
TARGET_CFLAGS += -DBBFDM_TR181_DSL
endif
ifeq ($(CONFIG_BBFDM_TR181_ETHERNET),y)
TARGET_CFLAGS += -DBBFDM_TR181_ETHERNET
endif
ifeq ($(CONFIG_BBFDM_TR181_FAST),y)
TARGET_CFLAGS += -DBBFDM_TR181_FAST
endif
ifeq ($(CONFIG_BBFDM_TR181_FIREWALL),y)
TARGET_CFLAGS += -DBBFDM_TR181_FIREWALL
endif
ifeq ($(CONFIG_BBFDM_TR181_GATEWAYINFO),y)
TARGET_CFLAGS += -DBBFDM_TR181_GATEWAYINFO
endif
ifeq ($(CONFIG_BBFDM_TR181_GRE),y)
TARGET_CFLAGS += -DBBFDM_TR181_GRE
endif
ifeq ($(CONFIG_BBFDM_TR181_IEEE1905),y)
TARGET_CFLAGS += -DBBFDM_TR181_IEEE1905
endif
ifeq ($(CONFIG_BBFDM_TR181_INTERFACESTACK),y)
TARGET_CFLAGS += -DBBFDM_TR181_INTERFACESTACK
endif
ifeq ($(CONFIG_BBFDM_TR181_IP),y)
TARGET_CFLAGS += -DBBFDM_TR181_IP
endif
ifeq ($(CONFIG_BBFDM_TR181_LANCONFSEC),y)
TARGET_CFLAGS += -DBBFDM_TR181_LANCONFSEC
endif
ifeq ($(CONFIG_BBFDM_TR181_MQTT),y)
TARGET_CFLAGS += -DBBFDM_TR181_MQTT
endif
ifeq ($(CONFIG_BBFDM_TR181_NAT),y)
TARGET_CFLAGS += -DBBFDM_TR181_NAT
endif
ifeq ($(CONFIG_BBFDM_TR181_PACKETCAPTURE),y)
TARGET_CFLAGS += -DBBFDM_TR181_PACKETCAPTURE
endif
ifeq ($(CONFIG_BBFDM_TR181_PPP),y)
TARGET_CFLAGS += -DBBFDM_TR181_PPP
endif
ifeq ($(CONFIG_BBFDM_TR181_PTM),y)
TARGET_CFLAGS += -DBBFDM_TR181_PTM
endif
ifeq ($(CONFIG_BBFDM_TR181_QOS),y)
TARGET_CFLAGS += -DBBFDM_TR181_QOS
endif
ifeq ($(CONFIG_BBFDM_TR181_ROUTERADVERTISEMENT),y)
TARGET_CFLAGS += -DBBFDM_TR181_ROUTERADVERTISEMENT
endif
ifeq ($(CONFIG_BBFDM_TR181_ROUTING),y)
TARGET_CFLAGS += -DBBFDM_TR181_ROUTING
endif
ifeq ($(CONFIG_BBFDM_TR181_SECURITY),y)
TARGET_CFLAGS += -DBBFDM_TR181_SECURITY
endif
ifeq ($(CONFIG_BBFDM_TR181_SELFTEST),y)
TARGET_CFLAGS += -DBBFDM_TR181_SELFTEST
endif
ifeq ($(CONFIG_BBFDM_TR181_SSH),y)
TARGET_CFLAGS += -DBBFDM_TR181_SSH
endif
ifeq ($(CONFIG_BBFDM_TR181_TIME),y)
TARGET_CFLAGS += -DBBFDM_TR181_TIME
endif
ifeq ($(CONFIG_BBFDM_TR181_UPNP),y)
TARGET_CFLAGS += -DBBFDM_TR181_UPNP
endif
ifeq ($(CONFIG_BBFDM_TR181_USB),y)
TARGET_CFLAGS += -DBBFDM_TR181_USB
endif
ifeq ($(CONFIG_BBFDM_TR181_USERINTERFACE),y)
TARGET_CFLAGS += -DBBFDM_TR181_USERINTERFACE
endif
ifeq ($(CONFIG_BBFDM_TR181_WIFI),y)
TARGET_CFLAGS += -DBBFDM_TR181_WIFI
endif
ifeq ($(CONFIG_BBFDM_TR181_WIFI_DATAELEMENTS),y)
TARGET_CFLAGS += -DBBFDM_TR181_WIFI_DATAELEMENTS
endif
ifeq ($(CONFIG_BBFDM_TR181_WIFI_DATAELEMENTS_ASSOCEVENTS),y)
TARGET_CFLAGS += -DBBFDM_TR181_WIFI_DATAELEMENTS_ASSOCEVENTS
endif
ifeq ($(CONFIG_BBF_TR143),y)
CMAKE_OPTIONS += \
@@ -160,6 +306,8 @@ endif
define Package/libbbfdm-api/install
$(INSTALL_DIR) $(1)/lib
$(CP) $(PKG_BUILD_DIR)/libbbfdm-api/libbbfdm-api.so $(1)/lib/
$(INSTALL_DIR) $(1)/usr/libexec/rpcd
$(CP) $(PKG_BUILD_DIR)/libbbfdm-api/scripts/bbf.config $(1)/usr/libexec/rpcd/bbf.config
endef
define Package/libbbfdm/default/install
@@ -195,12 +343,14 @@ define Package/bbfdmd/install
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DIR) $(1)/etc/bbfdm
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_DIR) $(1)/etc/udhcpc.user.d
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bbfdmd/ubus/bbfdmd $(1)/usr/sbin/
$(INSTALL_DATA) ./files/etc/bbfdm/input.json $(1)/etc/bbfdm/
$(INSTALL_BIN) ./files/etc/init.d/bbfdmd $(1)/etc/init.d/bbfdmd
$(INSTALL_CONF) ./files/etc/config/bbfdm $(1)/etc/config/bbfdm
$(INSTALL_BIN) ./files/etc/bbfdm/bbfdm_services.sh $(1)/etc/bbfdm/
$(INSTALL_BIN) ./files/etc/hotplug.d/iface/85-bbfdm-sysctl $(1)/etc/hotplug.d/iface/85-bbfdm-sysctl
$(INSTALL_BIN) ./files/etc/udhcpc.user.d/udhcpc_lease_start_time.user $(1)/etc/udhcpc.user.d/udhcpc_lease_start_time.user
endef
define Package/userinterface/install

View File

@@ -2,7 +2,7 @@
config bbfdmd 'bbfdmd'
option enabled '1'
option loglevel '1'
option refresh_time '10'
option refresh_time '120'
option transaction_timeout '30'
option subprocess_level '2'

View File

@@ -0,0 +1,14 @@
#!/bin/sh
leasestarttime="$(awk -F'.' '{print $1}' /proc/uptime 2> /dev/null)"
target_file=/tmp/dhcp_client_info
target_str="$INTERFACE $lease $leasestarttime"
# if this interface is present in file, then replace it
if grep -q "$INTERFACE" "$target_file" 2> /dev/null; then
# replace the whole line if pattern matches
sed -i "/${INTERFACE}/c\\${target_str}" "$target_file"
else
# interface info was not present, append it to the file
echo "$target_str" >> "$target_file"
fi

64
csmngr/Makefile Normal file
View File

@@ -0,0 +1,64 @@
#
# Copyright (C) 2020-2024 IOPSYS Software Solutions AB
#
include $(TOPDIR)/rules.mk
PKG_NAME:=csmngr
PKG_VERSION:=1.0.1
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=92c62f8df86066bd1718a6a6036195b113e74032
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/csmngr.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_MIRROR_HASH:=skip
endif
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@iopsys.eu>
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
PKG_CONFIG_DEPENDS := \
CONFIG_PACKAGE_libwifiutils \
CONFIG_PACKAGE_libwifi
PKG_BUILD_DEPENDS := libwifi
include $(INCLUDE_DIR)/package.mk
MAKE_PATH:=src
define Package/csmngr
SECTION:=utils
CATEGORY:=Utilities
TITLE:=WiFi channel selection manager
DEPENDS:=+libwifiutils +libwifi +libuci +libubox +ubus +libnl-genl
endef
define Package/csmngr/description
WiFi Auto Channel Selection manager.
endef
TARGET_CFLAGS += \
-I$(STAGING_DIR)/usr/include \
-I$(STAGING_DIR)/usr/include/libnl3 \
-D_GNU_SOURCE
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
rsync -r --exclude=.* ~/git/csmngr/ $(PKG_BUILD_DIR)/
endef
endif
define Package/csmngr/install
$(CP) ./files/* $(1)/
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/csmngr $(1)/usr/sbin/
endef
$(eval $(call BuildPackage,csmngr))

21
csmngr/files/etc/init.d/csmngr Executable file
View File

@@ -0,0 +1,21 @@
#!/bin/sh /etc/rc.common
START=95
STOP=10
USE_PROCD=1
PROG=/usr/sbin/csmngr
start_service() {
procd_open_instance
procd_set_param command ${PROG}
# procd_set_param stderr 1 #for debugging only
# procd_set_param respawn
procd_close_instance
}
reload_service() {
stop
start
}

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=decollector
PKG_VERSION:=4.2.1.1.1
PKG_VERSION:=4.2.1.1.5
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=7e75bf1fc5fa328d91c071f1f243df6951bb397e
PKG_SOURCE_VERSION:=b34c94d516ee18e33fc910b8a656649541b7e8e8
PKG_SOURCE_URL:=https://dev.iopsys.eu/multi-ap/decollector.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip

View File

@@ -2,7 +2,8 @@
"daemon": {
"input": {
"type": "DotSo",
"name": "/etc/hostmngr/libhostmngr.so"
"name": "/etc/hostmngr/libhostmngr.so",
"plugin_dir": "/etc/hostmngr/plugins/"
},
"output": {
"type": "UBUS",

View File

@@ -218,11 +218,15 @@ process_ac_schedule() {
iptables -w -F hosts_forward
ip6tables -w -F hosts_forward
hosts_forward=$(iptables -t filter --list | grep hosts_forward)
if [ -z "$hosts_forward" ]; then
hosts_ipv4_forward=$(iptables -t filter --list -n | grep hosts_forward)
if [ -z "$hosts_ipv4_forward" ]; then
iptables -w -t filter -N hosts_forward
ret=$?
[ $ret -eq 0 ] && iptables -w -t filter -I FORWARD -j hosts_forward
fi
hosts_ipv6_forward=$(ip6tables -t filter --list -n | grep hosts_forward)
if [ -z "$hosts_ipv6_forward" ]; then
ip6tables -w -t filter -N hosts_forward
ret=$?
[ $ret -eq 0 ] && ip6tables -w -t filter -I FORWARD -j hosts_forward

View File

@@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=icwmp
PKG_VERSION:=9.5.29.10
PKG_VERSION:=9.5.29.12
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/icwmp.git
PKG_SOURCE_VERSION:=27231b20dc75075786efa5a122bdefab93669bc9
PKG_SOURCE_VERSION:=9c85416648a1da63c1085a5c2dc635ed13776ef2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libwifi
PKG_VERSION:=7.4.16.5
PKG_VERSION:=7.4.16.13
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=0965d52a20207dc2a3ed6b4c669fc3483c8a1194
PKG_SOURCE_VERSION:=38b946b847a6d8e12dbc12a2b1a8f16b9c59ae33
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

View File

@@ -55,5 +55,8 @@ config AGENT_OPER_CHANNEL_CHANGE_RELAY_MCAST
config AGENT_USE_LIBDPP
bool "Depend on libdpp for DPP EasyConnect"
config DYNBHD_DYNAMICALLY_PERSIST_CONTROLLER
bool "Let dynbhd through AP-Autoconfiguration Search and DHCP Discovery determine the controller or agent role"
endmenu
endif

View File

@@ -5,9 +5,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=map-agent
PKG_VERSION:=4.5.0.18
PKG_VERSION:=4.5.0.23
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=261632ff5dbcf5ad0827b49b4e2fd97483d3d616
PKG_SOURCE_VERSION:=eb1138dfc1a87193a03c8e71590e4be0a466dfad
PKG_MAINTAINER:=Jakob Olsson <jakob.olsson@iopsys.eu>
PKG_LICENSE:=BSD-3-Clause
@@ -105,6 +105,10 @@ ifeq ($(CONFIG_AGENT_OPER_CHANNEL_CHANGE_RELAY_MCAST),y)
TARGET_CFLAGS += -DOPER_CHAN_CHANGE_RELAY_MCAST
endif
ifeq ($(CONFIG_DYNBHD_DYNAMICALLY_PERSIST_CONTROLLER),y)
TARGET_CFLAGS += -DPERSIST_CONTROLLER
endif
MAKE_PATH:=src
define Package/map-agent/install

View File

@@ -188,12 +188,12 @@ map_genconf () {
uci -q set mapagent.@controller_select[0].local=1
fi
uci -q commit mapagent
fi
if [ "$multiap_mode" == "agent" -o "$multiap_mode" == "none" ]; then
uci set mapcontroller.controller.enabled="0"
else
uci set mapcontroller.controller.enabled="1"
if [ "$multiap_mode" == "agent" -o "$multiap_mode" == "none" ]; then
uci set mapcontroller.controller.enabled="0"
else
uci set mapcontroller.controller.enabled="1"
fi
uci -q commit mapcontroller
fi
uci -q commit mapcontroller
}

View File

@@ -5,9 +5,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=map-controller
PKG_VERSION:=4.5.0.3
PKG_VERSION:=4.5.0.8
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=c852c9c9a706becd30237484153286f39841ef23
PKG_SOURCE_VERSION:=c719a86bb2485b8de79a639cc42a8f1d6303253c
PKG_MAINTAINER:=Jakob Olsson <jakob.olsson@iopsys.eu>
LOCAL_DEV=0

View File

@@ -91,7 +91,7 @@ interfaces_ok(){
for itf in $up_interf; do
# check if there exist a interface section for this upstream interface, if yes the
# do nothing, if no then generate config as mcast config is outdated
local dev_section=$(uci show network | grep -E "\.device=\'$itf\'" | cut -d'.' -f2)
local dev_section=$(uci show network | grep -E "\.device=\'$itf\'" | head -n 1 | cut -d'.' -f2)
# mcast config is outdated, simply generate as per new logic
if [ -z "$dev_section" ]; then

View File

@@ -117,6 +117,7 @@ config_sysfs_mcast_snooping() {
for downstream in $downstreams; do
if device_is_bridge "$downstream"; then
echo 0 > /sys/class/net/$downstream/bridge/multicast_snooping
echo $snooping > /sys/class/net/$downstream/bridge/multicast_snooping
fi
done
@@ -261,10 +262,6 @@ config_mcproxy_instance() {
downstreams=$igmp_p_down_interfaces
mcast_mode=$igmp_p_mode
# mcproxy reserves two multicast subscriptions for igmp router service groups
local mg=$(cat /proc/sys/net/ipv4/igmp_max_memberships)
mg=$((mg+2))
echo $mg > /proc/sys/net/ipv4/igmp_max_memberships
elif [ "$protocol" == "mld" ]; then
case "$version" in
[1-2])

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=obuspa
PKG_VERSION:=7.0.5.5.9
PKG_VERSION:=7.0.5.6.6
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/obuspa.git
PKG_SOURCE_VERSION:=e4ca88a603ff84fdf54107b9b34c82b44a658fc1
PKG_SOURCE_VERSION:=0bb1ddd46e4a2abf93dadfc34e6bc44bf6a3f063
PKG_MAINTAINER:=Vivek Dutta <vivek.dutta@iopsys.eu>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
@@ -104,7 +104,6 @@ define Package/obuspa/install
$(INSTALL_DATA) ./files/etc/config/obuspa $(1)/etc/config/
$(INSTALL_DATA) ./files/etc/obuspa/roles.json $(1)/etc/obuspa/roles.json
$(INSTALL_DATA) ./files/etc/obuspa/dmcaching_exclude.json $(1)/etc/obuspa/dmcaching_exclude.json
$(INSTALL_BIN) ./files/etc/uci-defaults/00-obuspa-extender-mode $(1)/etc/uci-defaults/
$(INSTALL_BIN) ./files/etc/uci-defaults/01-fix-upgrade-uci $(1)/etc/uci-defaults/
$(INSTALL_BIN) ./files/etc/uci-defaults/02-obuspa-dhcp-option $(1)/etc/uci-defaults/
$(INSTALL_BIN) ./files/etc/udhcpc.user.d/udhcpc_obuspa_opt125.user $(1)/etc/udhcpc.user.d/udhcpc_obuspa_opt125.user

View File

@@ -6,8 +6,9 @@ config obuspa 'global'
option prototrace '0'
option db_file '/etc/obuspa/usp.db'
option role_file '/etc/obuspa/roles.json'
option dm_caching_exclude '/etc/obuspa/dmcaching_exclude.json'
#option dm_caching_exclude '/etc/obuspa/dmcaching_exclude.json'
#option trust_cert '/etc/ssl/cert.pem'
#option client_cert '/etc/obuspa/client.pem'
#option log_dest '/tmp/obuspa.log'
option max_cache_time '120'

View File

@@ -217,12 +217,10 @@ validate_controller_section()
'Enable:bool:1' \
'EndpointID:string' \
'assigned_role_name:string' \
'AssignedRole:string' \
'Protocol:or("STOMP","CoAP","MQTT", "WebSocket")' \
'Destination:string' \
'Topic:string' \
'ParameterName:list(string)' \
'Reference:string' \
'mqtt:string' \
'stomp:string' \
'Host:string' \
@@ -230,7 +228,7 @@ validate_controller_section()
'Path:string' \
'EnableEncryption:bool' \
'PeriodicNotifInterval:uinteger' \
'SessionMode:string:Allow' \
'SessionMode:string' \
'ProvisioningCode:string'
}
@@ -255,7 +253,6 @@ validate_mtp_section()
'Path:string' \
'mqtt:string' \
'stomp:string' \
'Reference:string' \
'PublishQoS:uinteger' \
'EnableEncryption:bool'
}
@@ -324,7 +321,7 @@ configure_controller()
local EndpointID Enable
local Protocol Destination
local Topic mqtt stomp assigned_role_name AssignedRole ParameterName ProvisioningCode
local Host Port Path EnableEncryption Reference SessionMode PeriodicNotifInterval
local Host Port Path EnableEncryption PeriodicNotifInterval
local dm_ref sec
sec="${1}"
@@ -346,16 +343,12 @@ configure_controller()
fi
dm_ref=""
if [ -z "${Reference}" ]; then
if [ "${Protocol}" = "STOMP" ]; then
stomp="${stomp/stomp_/cpe-}"
dm_ref=$(get_refrence_path "Device.STOMP.Connection." "${stomp}")
elif [ "${Protocol}" = "MQTT" ]; then
mqtt="${mqtt/mqtt_/cpe-}"
dm_ref=$(get_refrence_path "Device.MQTT.Client." "${mqtt}")
fi
else
dm_ref="${Reference}"
if [ "${Protocol}" = "STOMP" ]; then
stomp="${stomp/stomp_/cpe-}"
dm_ref=$(get_refrence_path "Device.STOMP.Connection." "${stomp}")
elif [ "${Protocol}" = "MQTT" ]; then
mqtt="${mqtt/mqtt_/cpe-}"
dm_ref=$(get_refrence_path "Device.MQTT.Client." "${mqtt}")
fi
db_set "${BASEPATH}.Alias" "${sec}"
@@ -370,16 +363,15 @@ configure_controller()
db_set "${BASEPATH}.PeriodicNotifInterval" "${PeriodicNotifInterval}"
fi
if [ -n "${SessionMode}" ]; then
db_set "${BASEPATH}.E2ESession.SessionMode" "${SessionMode}"
fi
#if [ -n "${SessionMode}" ]; then
# db_set "${BASEPATH}.E2ESession.SessionMode" "${SessionMode}"
#fi
if [ -n "${assigned_role_name}" ]; then
AssignedRole=$(get_role_index "${assigned_role_name}")
fi
if [ -n "${AssignedRole}" ]; then
db_set "${BASEPATH}.AssignedRole" "${AssignedRole}"
if [ -n "${AssignedRole}" ]; then
db_set "${BASEPATH}.AssignedRole" "${AssignedRole}"
fi
fi
db_set "${BASEPATH}.MTP.1.Alias" "${sec}"
@@ -559,16 +551,12 @@ configure_mtp() {
fi
dm_ref=""
if [ -z "${Reference}" ]; then
if [ "${Protocol}" = "STOMP" ]; then
stomp="${stomp/stomp_/cpe-}"
dm_ref=$(get_refrence_path "Device.STOMP.Connection." "${stomp}")
elif [ "${Protocol}" = "MQTT" ]; then
mqtt="${mqtt/mqtt_/cpe-}"
dm_ref=$(get_refrence_path "Device.MQTT.Client." "${mqtt}")
fi
else
dm_ref="${Reference}"
if [ "${Protocol}" = "STOMP" ]; then
stomp="${stomp/stomp_/cpe-}"
dm_ref=$(get_refrence_path "Device.STOMP.Connection." "${stomp}")
elif [ "${Protocol}" = "MQTT" ]; then
mqtt="${mqtt/mqtt_/cpe-}"
dm_ref=$(get_refrence_path "Device.MQTT.Client." "${mqtt}")
fi
db_set "${BASEPATH}.Alias" "${sec}"
@@ -776,8 +764,8 @@ sync_db_controller()
{
local cntrs copts sec pvalue protocol
copts="Enable EndpointID AssignedRole PeriodicNotifInterval"
popts="Destination Topic Reference Host Port Path EnableEncryption"
copts="Enable EndpointID PeriodicNotifInterval"
popts="Destination Topic Host Port Path EnableEncryption"
cntrs="$(get_instances_from_db_dump Device.LocalAgent.Controller.)"
for cntr in $cntrs; do
@@ -809,8 +797,7 @@ sync_db_localagent_mtp()
local mtps opts popts sec pvalue protocol
opts="Enable"
popts="ResponseTopicConfigured Destination Port Path Reference EnableEncryption PublishQoS"
ropts="mqtt stomp"
popts="ResponseTopicConfigured Destination Port Path EnableEncryption PublishQoS"
mtps="$(get_instances_from_db_dump Device.LocalAgent.MTP.)"
for inst in $mtps; do
@@ -833,9 +820,6 @@ sync_db_localagent_mtp()
pvalue="$(get_param_value_from_dump "${inst}"."${protocol}"."${param}")"
uci_set obuspa "${sec}" "${param}" "${pvalue}"
done
for param in ${ropts}; do
uci_set obuspa "${sec}" "${param}" ""
done
done
}
@@ -1002,6 +986,9 @@ db_init()
reverse_update_db_with_uci
fi
# Remove ControllerTrust.Role., if present in db for backward compatibility
delete_sql_db_entry_with_pattern "Device.LocalAgent.ControllerTrust.Role."
# Remove reset file if present
[ -f "${RESET_FILE}" ] && mv ${RESET_FILE} ${RESET_FILE}.old
@@ -1034,11 +1021,17 @@ db_init()
}
start_service() {
local enabled
local enabled role_file
mkdir -p /tmp/obuspa/
config_load obuspa
config_get_bool enabled global enabled 0
config_get role_file global role_file ""
# Use the default role file if not defined in uci, but present in path
if [ -z "${role_file}" ] && [ -f "/etc/obuspa/roles.json" ] ; then
uci -q set obuspa.global.role_file="/etc/obuspa/roles.json"
uci_commit obuspa
fi
procd_open_instance ${CONFIGURATION}
if [ "${enabled}" -eq 1 ]; then

View File

@@ -604,6 +604,21 @@
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
"object":"Device.Hosts.AccessControl.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO",
"PERMIT_SET",
"PERMIT_ADD",
"PERMIT_DEL",
"PERMIT_SUBS_VAL_CHANGE",
"PERMIT_SUBS_OBJ_ADD",
"PERMIT_SUBS_OBJ_DEL"
]
},
{
"object":"Device.IEEE1905.",
"perm": [
@@ -614,6 +629,15 @@
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
"object": "Device.IP.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.DynamicDNS.",
"perm": [

View File

@@ -1,13 +0,0 @@
#!/bin/sh
. /lib/functions.sh
config_load obuspa
config_get interface global interface ""
if command -v fw_printenv; then
mode="$(fw_printenv -n netmode)"
if [ "${mode}" == "extender" -a -z "$interface" ] ; then
uci_set obuspa global interface "lan"
fi
fi

View File

@@ -8,6 +8,11 @@ RETRY_MIN_INTERVAL="5"
RETRY_INTERVAL_MUL="2000"
ENDPOINT_ID=""
log()
{
echo "$*"|logger -t obuspa.dhcp -p debug
}
get_oui_from_db() {
db -q get device.deviceinfo.ManufacturerOUI
}
@@ -124,15 +129,15 @@ get_vivsoi() {
done
}
get_netmode()
get_access_role()
{
local mode
local mode lan_proto
if command -v fw_printenv; then
mode="$(fw_printenv -n netmode)"
fi
lan_proto="$(uci -q get network.lan.proto)"
if [ "$mode" != "extender" ]; then
if [ "${lan_proto}" == "dhcp" ]; then
mode="extender"
else
mode="full_access"
fi
@@ -141,13 +146,25 @@ get_netmode()
config_load obuspa
config_get_bool enable_obuspa global enabled 1
config_get wan_intf global interface "wan"
config_get wan_intf global interface
config_get_bool dhcp_discovery global dhcp_discovery 1
if [ "$enable_obuspa" = "0" ] || [ "$dhcp_discovery" = "0" ]; then
return 0
fi
if [ -z "${wan_intf}" ]; then
role="$(get_access_role)"
if [ "${role}" = "extender" ]; then
wan_intf="lan"
uci -q set obuspa.global.interface="lan"
uci commit obuspa
else
wan_intf="wan"
fi
fi
if [ "${wan_intf}" == "${INTERFACE}" ]; then
if [ -n "$opt125" ]; then
len=$(printf "$opt125"|wc -c)
@@ -226,7 +243,7 @@ if [ "${wan_intf}" == "${INTERFACE}" ]; then
fi
fi
uci -q set obuspa.dhcpcontroller.assigned_role_name="$(get_netmode)"
uci -q set obuspa.dhcpcontroller.assigned_role_name="$(get_access_role)"
uci -q set obuspa.dhcpcontroller.Enable='1'
uci_change=1
fi
@@ -309,6 +326,7 @@ if [ "${wan_intf}" == "${INTERFACE}" ]; then
fi
if [ ${uci_change} -eq 1 ]; then
log "# Reloading obuspa as dhcp config changed"
ubus call uci commit '{"config":"obuspa"}'
fi
fi

9
periodicstats/Config.in Normal file
View File

@@ -0,0 +1,9 @@
if PACKAGE_periodicstats
config PERIODICSTAT_INTERNAL_SAMPLING_RATE
int "Number of times statistics will be measured within a sample interval"
range 3 10
default 3
depends on PACKAGE_periodicstats
help
This value must be in range of 3 to 10. (default 3)
endif

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=periodicstats
PKG_VERSION:=1.5.5
PKG_VERSION:=1.5.8.2
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/periodicstats.git
PKG_SOURCE_VERSION:=28bea5be686013af0ba8e54cf4871f10015e4b06
PKG_SOURCE_VERSION:=6bee158e3a4d56d573fb8f26fe06fe59b75138ca
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
@@ -32,6 +32,12 @@ define Package/periodicstats/description
Manage periodic statistics
endef
define Package/periodicstats/config
source "$(SOURCE)/Config.in"
endef
TARGET_CFLAGS += -DINTERNAL_SAMPLING_RATE=$(CONFIG_PERIODICSTAT_INTERNAL_SAMPLING_RATE)
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
$(CP) -rf ~/git/periodicstats/* $(PKG_BUILD_DIR)/

View File

@@ -16,6 +16,10 @@ broute_rule_set_traffic_class() {
fi
}
broute_filter_on_dscp() {
BR_RULE="$BR_RULE --ip-tos $1"
}
broute_ipv4_rule_options()
{
local cid="$1"
@@ -25,7 +29,12 @@ broute_ipv4_rule_options()
set_ip_addr "$cid" ebt_match_src_ip ebt_match_dst_ip
if [ -n "$dscp_filter" ]; then
echo "DSCP filter is not supporter"
local tos_val
local tos_hex
tos_val=$((dscp_filter<<2))
tos_hex=$(printf "%x" $tos_val)
broute_filter_on_dscp "$tos_hex"
fi
if [ -n "$protocol" ]; then

View File

@@ -220,12 +220,7 @@ ebt_match_ipv6_dscp() {
}
broute_filter_on_dscp() {
# The broadcom option --ip-dscp-extend actually accepts tos
# and not dscp and that too in hex, hence, perform the conversion
# from dscp in uci to tos first and then convert to hex
tos_val=$(($1<<2))
tos_hex=$(printf "%x" $tos_val)
BR_RULE="$BR_RULE --ip-dscp-extend $tos_hex"
BR_RULE="$BR_RULE --ip-tos $1"
}
broute_ipv4_rule_options()
@@ -237,7 +232,12 @@ broute_ipv4_rule_options()
set_ip_addr $cid ebt_match_src_ip ebt_match_dst_ip
if [ ! -z $dscp_filter ]; then
broute_filter_on_dscp "$dscp_filter"
local tos_val
local tos_hex
tos_val=$((dscp_filter<<2))
tos_hex=$(printf "%x" $tos_val)
broute_filter_on_dscp "$tos_hex"
fi
if [ ! -z $protocol ]; then

View File

@@ -5,14 +5,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=rulengd
PKG_VERSION:=1.2.10
PKG_VERSION:=1.2.11
PKG_RELEASE:=1
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/rulengd.git
PKG_SOURCE_VERSION:=a32e325090d4303fe9aec786f81f0699006d21ab
PKG_SOURCE_VERSION:=8fabf294cc056fd9a85cad06e81bd11df64e23a3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=swmodd
PKG_VERSION:=2.5.3
PKG_VERSION:=2.5.3.1
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/lcm/swmodd.git
PKG_SOURCE_VERSION:=80d8a2f0dddc8e1575c0a6dee1e496c52104d033
PKG_SOURCE_VERSION:=d8cc9a7a3749975720c9b748adadb2b6c920acdc
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

16
swmodd/files/etc/init.d/crun Normal file → Executable file
View File

@@ -56,8 +56,8 @@ configure_lxc_container() {
}
configure_crun_container() {
local name type autostart du_status requested_state url username password
local BRIDGE BUNDLE BOOT
local name type autostart du_status requested_state url username password capability
local BRIDGE BUNDLE BOOT PERM
local RUNNER="/etc/swmodd/run.sh"
BUNDLE="${2}"
@@ -73,6 +73,10 @@ configure_crun_container() {
config_get url "${1}" url ""
config_get username "${1}" username ""
config_get password "${1}" password ""
config_get capability "${1}" capability ""
if [ -n "${capability}" ]; then
PERM="-p ${capability// /,}"
fi
if [ -z "${name}" ] || [ -z "${type}" ] || [ -z "${du_status}" ]; then
return 0;
@@ -148,7 +152,7 @@ configure_crun_container() {
if [ "${BOOT}" -eq "1" ]; then
if [ "${autostart}" -eq 1 ]; then
${RUNNER} -U -b "${BUNDLE}" -n "${name}"
${RUNNER} -U -b "${BUNDLE}" -n "${name}" ${PERM}
result=$(cat ${BUNDLE}/${name}/config.json |jq ".annotations.org_opencontainers_image_description")
if [ "${result}" != "null" ]; then
uci_set ocicontainer "${1}" description "${result}"
@@ -178,10 +182,10 @@ configure_crun_container() {
fi
elif [ "${requested_state}" = "Active" ]; then
if is_container_running "${name}"; then
${RUNNER} -u -n "${name}" -i "${BRIDGE}"
${RUNNER} -u -n "${name}" -i "${BRIDGE}" ${PERM}
crun resume "${name}"
else
${RUNNER} -U -b "${BUNDLE}" -n "${name}"
${RUNNER} -U -b "${BUNDLE}" -n "${name}" ${PERM}
result=$(cat ${BUNDLE}/${name}/config.json |jq ".annotations.org_opencontainers_image_description")
if [ "${result}" != "null" ]; then
uci_set ocicontainer "${1}" description "${result}"
@@ -207,7 +211,7 @@ configure_crun_container() {
procd_set_param stderr 1
procd_set_param command "${RUNNER}"
procd_append_param command -b "${BUNDLE}" -n "${name}" -i "${BRIDGE}"
procd_set_param respawn
#procd_set_param respawn
procd_close_instance "${name}"
}

View File

@@ -22,20 +22,20 @@ validate_globals_section()
}
start_lxc_container() {
local root
local root_dir
config_get name "${1}" name ""
config_get type "${1}" type ""
config_get autostart "${1}" autostart "0"
config_get timeout "${1}" timeout "300"
root="${2}"
root_dir="${2}"
if [ -z "${name}" ] || [ -z "${type}" ]; then
return 0;
fi
# workaround to install lxc container with installdu and autostart them
if [ -f "${root}/$name/config" ]; then
if [ -f "${root_dir}/$name/config" ]; then
type=lxc
fi
@@ -43,7 +43,7 @@ start_lxc_container() {
return 0;
fi
state=$(lxc-ls -f | tail -n +2 | grep -w "${name}" | cut -d " " -f 2)
state=$(lxc-info -n "$name" -s -H)
if [ -z "${state}" ]; then
return 0;
fi
@@ -81,31 +81,29 @@ start_service() {
local enabled debug log_level sock root
config_load swmodd
validate_globals_section || {
return 1;
}
[ "${enabled}" -eq 0 ] && return 0
# crun default runtime directory /run, if not present then create
[ ! -d "/run" ] && ln -fs /var/run /run
if [ ! -d "${root}" ]; then
log "# Not staring root [${root}] not present/defined"
return 1
fi
env_name=""
execenvs=$(uci show swmodd | grep "=execenv" | cut -d'=' -f 1 | cut -d'.' -f 2)
for env in ${execenvs}; do
name=$(uci get swmodd.${env}.name)
if [ -n "${name}" ]; then
env_name="${name}"
break
if [ ! -d "${root}" ]; then
log "# root [${root}] not present, creating ..."
if [ -n "${root}" ]; then
mkdir -p "${root}"
else
log "# Not starting, root [${root}] not defined"
return 1
fi
done
fi
# Currently only one execenv supported
env_name="$(uci -q get swmodd.@execenv[0].name)"
if [ -z "${env_name}" ]; then
log "# Not starting execenv name [${env_name}] not defined"
log "# Not starting, execenv name [${env_name}] not defined"
return 1
fi
@@ -115,10 +113,14 @@ start_service() {
fi
bundle_root="${bundle_root}${env_name}"
if [ ! -d "${bundle_root}" ]; then
log "# Not staring execenv [${bundle_root}] not present"
return 1
fi
if [ ! -d "${bundle_root}" ]; then
if [ -n "${bundle_root}" ]; then
mkdir -p "${bundle_root}"
else
log "# Not starting, execenv [${bundle_root}] not defined"
return 1
fi
fi
procd_open_instance swmodd
procd_set_param command ${PROG}
@@ -154,5 +156,5 @@ reload_service() {
}
service_triggers() {
procd_add_reload_trigger "swmodd"
procd_add_reload_trigger "swmodd"
}

62
swmodd/files/etc/swmodd/run.sh Normal file → Executable file
View File

@@ -123,12 +123,57 @@ update_config_json() {
fi
cd "${BUNDLE}/${NAME}"
if cat config.json |jq '.linux.namespaces[] |select (.type == "network") |.path' |grep -q ${NAME}; then
exit 0;
# If netns already configured and no additional permission bit assigned, exit from here
if [ -z "${PERM}" ]; then
exit 0;
fi
fi
mv config.json config_orig.json
json_init
json_load_file "config_orig.json"
# update hostname to container name
if [ -n "${NAME}" ]; then
json_add_string hostname "${NAME}"
fi
# Update cabalities
if [ -n "${PERM}" ]; then
log "Updating Permission in the json ..."
PERM="${PERM//,/ }"
json_select process
json_select capabilities
json_select bounding
for p in ${PERM}; do
json_add_string "" ${p}
done
json_select ..
json_select effective
for p in ${PERM}; do
json_add_string "" ${p}
done
json_select ..
json_select inheritable
for p in ${PERM}; do
json_add_string "" ${p}
done
json_select ..
json_select permitted
for p in ${PERM}; do
json_add_string "" ${p}
done
json_select ..
json_select ambient
for p in ${PERM}; do
json_add_string "" ${p}
done
json_select ..
json_select ..
json_select ..
fi
# update additional capabilities
json_select linux
json_for_each_item update_network_ns namespaces
json_dump >config.json
@@ -212,16 +257,19 @@ pull_image_from_registry() {
clean=0
net_update=0
update_json=0
while getopts b:n:i:r:l:t:cuU options
PERM=""
while getopts b:n:i:r:l:t:p:cuU options
do
case "${options}" in
b) BUNDLE=${OPTARG};;
n) NAME=${OPTARG};;
c) clean=1;;
i) BRIDGE=${OPTARG};;
n) NAME=${OPTARG};;
p) PERM="${OPTARG}";;
r) REGURL=${OPTARG};;
l) LOGIN=${OPTARG};;
t) TIMEOUT=${OPTARG};;
c) clean=1;;
u) net_update=1;;
U) update_json=1;;
*) log "Invalid options";;
@@ -233,7 +281,7 @@ if [ -z "${NAME}" ]; then
return 0;
fi
if [ "${update_json}" -eq 1 ]; then
if [ "${update_json}" -eq "1" ]; then
update_config_json
return 0;
fi
@@ -243,7 +291,7 @@ if [ -n "${REGURL}" ]; then
return 0;
fi
if [ "$clean" -eq 1 ]; then
if [ "$clean" -eq "1" ]; then
clean_container_network "${NAME}"
return 0;
fi
@@ -253,7 +301,7 @@ if [ -z "${BRIDGE}" ]; then
return 0;
fi
if [ "${net_update}" -eq 1 ]; then
if [ "${net_update}" -eq "1" ]; then
get_veth_name "${NAME}"
brctl addif "${BRIDGE}" "${VETHNAME}"
return 0;

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=tr104
PKG_VERSION:=1.0.13.3
PKG_VERSION:=1.0.13.4
LOCAL_DEV:=0
ifeq ($(LOCAL_DEV),0)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/voice/tr104.git
PKG_SOURCE_VERSION:=38ef8533501af818638339acce21fc1fdfc95ee2
PKG_SOURCE_VERSION:=9d8e68f237207723b446f614a2233dccf3c4dc09
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

View File

@@ -6,13 +6,13 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=urlfilter
PKG_VERSION:=1.1.8
PKG_VERSION:=1.1.14
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/urlfilter.git
PKG_SOURCE_VERSION:=a726e4ce9fa3322e135cb0dd961f31b4fd7ae22a
PKG_SOURCE_VERSION:=ebf8afb44ff808d3b99c45a7c636fb12a774f357
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

View File

@@ -21,7 +21,7 @@ configure_firewall()
iptables -w -I INPUT 2 -p udp --sport 53 -j NFQUEUE --queue-num 0 --queue-bypass
# disable acceleration for https packet so that they can be read by urlfilter
ebtables -A FORWARD -p ip --ip-protocol 6 --ip-destination-port 443 -j SKIPLOG
ebtables -A FORWARD -p ip --ip-protocol 6 --ip-destination-port 443 -j SKIPLOG 2> /dev/null
fi
ip6tables -w -nL FORWARD|grep -iqE "NFQUEUE"
if [ "$?" -ne 0 ]; then
@@ -62,7 +62,7 @@ stop_service() {
iptables -w -D FORWARD -p udp --sport 53 -j NFQUEUE --queue-num 0 --queue-bypass
iptables -w -D INPUT -p udp --dport 53 -j NFQUEUE --queue-num 0 --queue-bypass
iptables -w -D INPUT -p udp --sport 53 -j NFQUEUE --queue-num 0 --queue-bypass
ebtables -D FORWARD -p ip --ip-protocol 6 --ip-destination-port 443 -j SKIPLOG
ebtables -D FORWARD -p ip --ip-protocol 6 --ip-destination-port 443 -j SKIPLOG 2> /dev/null
fi
ip6tables -w -nL FORWARD|grep -iqE "NFQUEUE"
if [ "$?" -eq 0 ]; then

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=wifimngr
PKG_VERSION:=16.2.1.2
PKG_VERSION:=16.2.1.5
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=a95b5a3d0c87ad486752c2a7423b017c8bb0d0e6
PKG_SOURCE_VERSION:=5696f739e765e221e2f882a659cf509296572250
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