Compare commits

...

159 Commits

Author SHA1 Message Date
Rahul Thakur
9084ce08b3 dslmngr: remove dependency on board-db 2023-09-29 04:32:15 +00:00
Suvendhu Hansa
eebe898c37 icwmpd: schedule inform and session handling 2023-09-28 08:38:23 +00:00
Yalu Zhang
ea3b3aec05 libvocie-d2_1.0.12: Fix a bug in getting RTP statistics 2023-09-27 17:18:13 +02:00
Lukasz Kotasa
2a820a9e33 libvoice-airoha: 1.0.7 2023-09-27 16:01:11 +02:00
Vivek Kumar Dutta
f5d77f5b19 sulu: 3.1.7 2023-09-27 16:46:57 +05:30
suvendhu
ea4a0acac7 icwmp: 9.5.7 2023-09-27 16:34:23 +05:30
Vivek Kumar Dutta
9655bf7740 sulu: 3.1.6 2023-09-27 14:42:30 +05:30
Vivek Kumar Dutta
2dce686767 icwmp: 9.5.6 2023-09-26 19:14:51 +05:30
Vivek Kumar Dutta
6d93558c6e tr104: 1.0.7 2023-09-26 19:08:13 +05:30
Vivek Kumar Dutta
363c2c39aa bbfdm: 1.3.30 2023-09-26 19:05:49 +05:30
Lukasz Kotasa
a5f7ef04f4 libvoice-airoha: 1.0.6 voicemngr: 1.0.10 2023-09-26 12:52:17 +00:00
Yalu Zhang
7f4eeaeb1a Remove the copyright declaration from Makefile 2023-09-26 12:32:29 +00:00
Vivek Kumar Dutta
a352b4f8fe twamp: 1.4.1 2023-09-26 16:20:11 +05:30
Vivek Kumar Dutta
a41e1d7299 obuspa: 7.0.4.4 2023-09-26 10:25:00 +05:30
suvendhu
01ce50ba59 icwmp: 9.5.5 2023-09-26 09:43:25 +05:30
Amin Ben Romdhane
b606530f0e bbfdm: 1.3.29 2023-09-25 14:52:25 +02:00
Janusz Dziedzic
0cdf15fec5 wifimngr: 16.1.2 2023-09-25 09:21:34 +00:00
Janusz Dziedzic
edb05ae692 libwifi: 7.4.3 2023-09-22 16:53:46 +00:00
Jakob Olsson
889f2637fc map-agent: map_genconfig: set channels list for airoha 2023-09-22 16:56:00 +02:00
Vivek Kumar Dutta
1792c8b615 bbfdm: Support FirstUseDate 2023-09-22 16:03:37 +05:30
Vivek Kumar Dutta
24173b4beb sulu: 3.1.5 2023-09-22 15:59:10 +05:30
Vivek Kumar Dutta
f59bed5f48 timemngr: Store first use date 2023-09-22 08:48:51 +05:30
Vivek Kumar Dutta
3a1915a027 sulu: 3.1.4 2023-09-21 18:35:30 +05:30
Jakob Olsson
67d8787dfa map-agent: 4.3.7.0 2023-09-21 12:08:14 +02:00
Jakob Olsson
8eb41f7b94 map-controller: 4.3.3.0 2023-09-21 12:04:35 +02:00
Amin Ben Romdhane
3725fdf26a bbfdm: 1.3.27 2023-09-21 11:57:27 +02:00
Vivek Kumar Dutta
9aa65e3489 icwmp: 9.5.4 2023-09-21 13:25:52 +05:30
Rahul Thakur
c945d0d4a6 libethernet: update rmon counter size to 64 2023-09-21 11:30:11 +05:30
Amin Ben Romdhane
63c8f8af95 bbfdm: 1.3.26 2023-09-20 18:25:36 +02:00
Vivek Kumar Dutta
18acbe65c4 sulu: 3.1.3 2023-09-20 19:27:03 +05:30
Vivek Kumar Dutta
af48c7c682 bbfdm: 1.3.25 2023-09-20 19:24:07 +05:30
Vivek Kumar Dutta
d961a590b4 obuspa: 7.0.4.3 2023-09-20 19:21:40 +05:30
Lukasz Kotasa
e7426d5e71 libvoice-airoha: align codec list and ptime max with Airoha specs 2023-09-20 12:19:50 +00:00
Markus Gothe
e485a0514e mcastmngr: Fix error regarding setup_mcast_mode().
Implement a stub for setup_mcast_mode() on
non-Broadcom platforms.

Change-Id: Idd0c75f564f0de5fe698c1fc32088a32a029ac96
2023-09-20 11:44:30 +00:00
Markus Gothe
05448a3cae qosmngr: Fix ingress rate limiting on Broadcom.
The code for ingress rate limiting is not working
on Broadcom.
2023-09-20 11:33:34 +00:00
Wenpeng Song
be22778704 voicemngr: 1.0.9
fixup, refactor header name
2023-09-20 09:58:36 +00:00
Lukasz Kotasa
89cfa4dc0d libvoice-airoha: add g722 codec to the supported codec list in codecs.json 2023-09-20 08:35:03 +00:00
Wenpeng Song
1a69381038 voicemngr: 1.0.8
Share data types with asterisk-chan-voicemngr
2023-09-20 08:31:11 +00:00
Wenpeng Song
0f6108a0c0 voicemngr: install shared header to staging dir 2023-09-20 08:14:53 +00:00
Amit Kumar
2dc1e6044a bbfdm: updated Makefile for leasetimeremaining 2023-09-20 11:56:14 +05:30
Vivek Kumar Dutta
2234822346 bbfdm: 1.3.24 2023-09-19 18:20:37 +05:30
Vivek Kumar Dutta
0739cef329 icwmp: 9.5.3 2023-09-19 17:50:23 +05:30
Janusz Dziedzic
572b370aec libwifi: 7.4.2
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
2023-09-19 09:10:09 +00:00
Janusz Dziedzic
0fc7964afa map-agent: 4.3.6.5 2023-09-18 08:27:15 +00:00
Janusz Dziedzic
10f287a885 map-controller: 4.3.2.6 2023-09-18 08:27:02 +00:00
Vivek Kumar Dutta
f47a2c3ef3 obuspa: wait for datamodel micro-services 2023-09-18 12:03:48 +05:30
Vivek Kumar Dutta
bb9d1621a5 bbfdm: 1.3.23
- Stop datamodel micro-services along with bbfdm
- Optimized schema handling
- Optimized service handling
2023-09-18 10:28:52 +05:30
Vivek Kumar Dutta
be88de9f0e periodicstats: 1.5.2 2023-09-18 09:48:37 +05:30
Vivek Kumar Dutta
d752daecbe bulkdata: 2.1.2 2023-09-18 09:22:12 +05:30
Vivek Kumar Dutta
f8482fd2ca sulu: 3.1.2 2023-09-16 09:36:58 +05:30
Vivek Kumar Dutta
6150acc420 hostmngr: Added dependency for libbbfdm-api 2023-09-15 18:14:04 +05:30
Jakob Olsson
b11e959fe7 hostmngr: 1.0.2 2023-09-14 21:41:49 +02:00
Jakob Olsson
76c8fbbfbc hostmngr: 1.0.1: Add support for Hosts Data Model 2023-09-14 21:39:40 +02:00
Jakob Olsson
81f0e8d255 Revert "hostmngr: 1.0.1: Add support for Hosts Data Model"
This reverts commit ba6a218a09.
2023-09-14 21:38:50 +02:00
Jakob Olsson
8b3ede859b map-agent: 4.3.6.4 2023-09-14 17:04:12 +02:00
Amin Ben Romdhane
82b8245f6a bbfdm: 1.3.22 2023-09-14 15:17:02 +02:00
Amin Ben Romdhane
ba6a218a09 hostmngr: 1.0.1: Add support for Hosts Data Model 2023-09-14 12:47:24 +00:00
suvendhu
7db489d987 obuspc: 1.0.1.5 2023-09-14 10:28:12 +00:00
Rahul Thakur
b718d566d7 libqos: add support for bcm63146 2023-09-14 15:37:40 +05:30
Janusz Dziedzic
c6808a3524 ieee1905: 8.2.19 2023-09-14 09:39:24 +00:00
Amin Ben Romdhane
74b9435ba4 timemngr: 1.0.2 2023-09-14 10:37:39 +02:00
Amin Ben Romdhane
1e81fee38a bbfdm: 1.3.21 2023-09-14 10:36:16 +02:00
Filip Matusiak
330f8b6e71 map-agent: 4.3.6.3 2023-09-14 10:33:42 +02:00
Filip Matusiak
3fbc1ea845 map-agent: 4.3.6.2
Signed-off-by: Filip Matusiak <filip.matusiak@iopsys.eu>
2023-09-13 18:00:49 +02:00
Janusz Dziedzic
fdc4a07242 map-agent: 4.3.6.2 2023-09-14 07:33:09 +00:00
Amin Ben Romdhane
fc7595c072 bbfdm: 1.3.20 2023-09-13 19:19:00 +02:00
Vivek Kumar Dutta
36e7d3d221 obuspa: Integrate v7.0.4 2023-09-13 19:20:51 +05:30
Lukasz Kotasa
ff11531d8c tr104: 1.0.6
Replace ubus call for getting codecs ('voice.asterisk' -> 'endpt')
2023-09-13 12:56:31 +02:00
Vivek Kumar Dutta
5f967edb5b swmodd: run lxc as service containers 2023-09-13 15:50:37 +05:30
Amin Ben Romdhane
22daedac3c usermngr: 1.2.2 2023-09-13 00:40:35 +02:00
Yalu Zhang
7a1760a20f libvoice-d2_1.0.11: Revise the jitter buffer configuration 2023-09-12 15:55:52 +02:00
Janusz Dziedzic
472bd4c27c map-controller: 4.3.2.5 2023-09-12 13:45:25 +00:00
Janusz Dziedzic
b37ea343f1 map-agent: 4.3.6.1 2023-09-12 13:43:50 +00:00
Yalu Zhang
0ea80c5b06 libvoice-d2_1.0.10: Change the jitter buffer mode to auto 2023-09-12 11:38:49 +02:00
Janusz Dziedzic
ae60472790 wifimngr: 16.1.1 2023-09-12 08:57:43 +00:00
Vivek Kumar Dutta
42f019a136 sulu: 3.1.1 2023-09-11 18:31:45 +05:30
Janusz Dziedzic
ccd87ca8bc libwifi: 7.4.1 2023-09-11 12:45:47 +00:00
Sukru Senli
23f74d3982 iop: config: remove map-topology package 2023-09-08 13:40:48 +02:00
Vivek Kumar Dutta
9dfbdbbb00 obuspa: 7.0.2.29 2023-09-07 19:48:30 +05:30
Vivek Kumar Dutta
b5e1379c8d bbfdm: 1.3.19 2023-09-07 19:47:41 +05:30
Amin Ben Romdhane
ce48719df9 bbfdm: 1.3.18 2023-09-07 16:03:36 +02:00
Jakob Olsson
84f2faff38 hostmngr: uci-defaults: exit with rc 0 after config convertation 2023-09-07 15:56:17 +02:00
Marina Maslova
74c1017a0c libqos: 7.2.104 2023-09-07 16:39:10 +03:00
Anjan Chanda
510712bf86 ieee1905: 8.2.18 2023-09-07 14:43:24 +02:00
subramanianc
7743425e9c ponmngr: Set default value as unknown for Connector parameter 2023-09-07 12:12:17 +00:00
Vivek Kumar Dutta
50984f8f84 sulu: 3.1.0
- Support to enqueue updates
2023-09-07 17:40:46 +05:30
Wenpeng Song
82fed513a8 libvoice-broadcom: 1.0.5
Support decode codecs cap list to improve decoding flexibility and robustness
2023-09-07 09:53:05 +00:00
Jakob Olsson
adfaa19180 hostmngr: uci-defaults: convert old hosts config to new format 2023-09-07 08:04:59 +00:00
Anjan Chanda
cf8b29665c hostmngr: 1.0.0 2023-09-07 10:02:49 +02:00
Anjan Chanda
43bfdc8994 ieee1905: 8.2.17 2023-09-07 10:02:49 +02:00
Yalu Zhang
b29b3a12e3 libvoice-d2_1.0.9: Rename rtp_stats->loss_rate with local_loss_rate which has been modified in the header file 2023-09-07 09:59:35 +02:00
Vivek Kumar Dutta
38d2c7dc25 sulu: 3.0.6 2023-09-06 19:50:22 +05:30
Grzegorz Sluja
cc3a8f55e6 tr104: 1.0.5
Fix mappings for some CallLog objects and parameters
2023-09-06 14:42:56 +02:00
Grzegorz Sluja
a6616bb17d voicemngr: 1.0.7
Expose both local and remote RTP loss rate to asterisk
2023-09-06 14:32:47 +02:00
Grzegorz Sluja
ad06a9f4ea libvoice-broadcom: 1.0.4
Expose both local and remote RTP loss rate to voicemngr
2023-09-06 14:31:05 +02:00
Janusz Dziedzic
d150800f1b libwifi: add IPQ95XX 2023-09-06 07:17:47 +00:00
Vivek Kumar Dutta
e8b716b2a1 icwmp: 9.5.2
- 9d42524 Support OpenSSL v3
- 8402178 Optimized module test
- 9322ecd Align with bbf changes
2023-09-05 19:26:20 +05:30
Vivek Kumar Dutta
442ce5ce83 bbfdm: 1.3.17
- d0d3480 Fix disabling DNS relay causes no IP on lan network
2023-09-05 19:22:18 +05:30
Janusz Dziedzic
72f18d7acf wifimngr: 16.1.0 2023-09-05 13:43:41 +00:00
Janusz Dziedzic
fa905db20f libwifi: 7.4.0
Introduce single wiphy architecture support.
2023-09-05 13:34:27 +00:00
Janusz Dziedzic
de1745f4ce ieee1905: 8.2.9 2023-09-05 08:45:06 +00:00
Janusz Dziedzic
f6697c9003 map-controller: 4.3.2.4 2023-09-05 08:32:31 +00:00
Janusz Dziedzic
44d9e704b3 map-controller: 4.3.2.3 2023-09-05 08:08:39 +00:00
Janusz Dziedzic
ed9ec3b702 wifimngr: 16.0.13 2023-09-04 13:21:08 +00:00
Janusz Dziedzic
07f10c42dc map-agent: fix genrated ifprefix 2023-09-04 13:07:55 +00:00
Vivek Kumar Dutta
9b45e4c9a1 stunc: 1.3.1 2023-09-04 14:43:11 +05:30
Grzegorz Sluja
d3d8bd14aa libvoice-broadcom: 1.0.3
Convert latency from Broadcom in ms to tr104 averageRoundTripDelay in us
2023-09-04 10:22:35 +02:00
Vivek Kumar Dutta
4dfe44af20 bbfdm: Updated deprecated ssl APIs 2023-09-01 17:39:09 +05:30
Ratish
9ae9af2acf qosmngr: ebtables rules race condition fix 2023-09-01 03:49:34 +00:00
Marina Maslova
2d11f25204 ieee1905: 8.2.8 2023-08-31 18:37:04 +03:00
Grzegorz Sluja
2cd4776649 dectmngr-3.5.14: upgrading to DSPG 4.13 Build19 2023-08-31 11:42:07 +00:00
Elena Vengerova
0aae8679c5 airoha: fix the case when library is used for mediatel platform, but not mt7915 chip 2023-08-31 10:12:56 +00:00
Vivek Kumar Dutta
3bb34b88a6 bbfdm: 1.3.15
- 88cb333 Cleanup topology object references
- a9f11eb Fix duplicate DNS server address
2023-08-31 15:38:34 +05:30
Janusz Dziedzic
8efb6e952a libwifi: 7.3.2 2023-08-31 08:23:59 +00:00
Padmalochan Mohapatra
3ef04dbd25 libqos: Makefile update to support ipq53xx based boards 2023-08-30 23:36:12 +05:30
Anjan Chanda
9d4eade8c1 decollector: 4.1.0.4 2023-08-30 17:14:13 +02:00
Anjan Chanda
9c145bc34b ieee1905: 8.2.7 2023-08-30 17:05:06 +02:00
Jakob Olsson
2317e6b072 map-agent: 4.3.6.0 2023-08-30 12:05:47 +02:00
Vivek Kumar Dutta
f12f17c6c4 bbfdm: 1.3.14
- 9799ef7 FirmwareImage: truncate name to max 64 characters
2023-08-29 18:48:55 +05:30
Wenpeng Song
23358a7f8c libvoice-d2-1.0.8: Fix crash due to DTMF event call back issue 2023-08-29 10:29:11 +00:00
Vivek Kumar Dutta
ef32f8b0f9 bbfdm: Align with hostmngr 2023-08-29 12:25:21 +05:30
Vivek Kumar Dutta
7e81d58f78 iop: Select timemngr for Device.Time. 2023-08-28 17:08:14 +05:30
suvendhu
213f7850bc timemngr: 1.0.1 2023-08-28 11:33:05 +00:00
Vivek Kumar Dutta
89a86c3629 sulu: 3.0.5 2023-08-28 16:17:33 +05:30
Jakob Olsson
83f4e57fe2 map-agent: map-dynamic-backhaul: create folder prior to touching ports file 2023-08-28 10:44:36 +02:00
nevadita.chatterjee
0ffe19196c map-agent:4.3.5.10 2023-08-28 13:53:38 +05:30
Vivek Kumar Dutta
ec9fb0cddc timemngr: 1.0.0 2023-08-28 12:31:50 +05:30
Vivek Kumar Dutta
c1ffc565e5 obuspa: 7.0.2.28
- 7d7b223 Add startup delay of 10s for DM stabilization
- 664eeb8 Add reload for schema update event notification
- 0242ca9 Fix instance refresh handler for objects
2023-08-28 12:24:24 +05:30
Vivek Kumar Dutta
dca4cd0e63 bbfdm: 1.3.12
- 5197103 Add schema update event
- 680179b FirmwareImage: Switch to fwbank file dependency
- Prepone bbfdm startup sequence
2023-08-28 11:41:30 +05:30
Vivek Kumar Dutta
0a00f07d26 obuspc: 1.0.1.4 2023-08-28 11:19:37 +05:30
Jakob Olsson
6b75585b9d map-agent: dynbhd: fix connected ports file path 2023-08-25 16:55:07 +02:00
Grzegorz Sluja
59583925b5 tr104: 1.0.4
1e7e8b9 Get proper data for jitter buffer overruns and underruns
43b93cb Align sip_option for srv_lookup
2023-08-25 16:48:53 +02:00
Grzegorz Sluja
39c594531a voicemngr: 1.0.6
Add support for getting jitter buffer overruns and underruns from the UBUS call
2023-08-25 16:43:55 +02:00
Grzegorz Sluja
21d167b543 libvoice-broadcom: 1.0.2
139397e Add debug messages for all RTP statistics numbers from Brcm API
8f11273 Get number of jitter buffer overruns and underruns
2023-08-25 16:41:17 +02:00
Janusz Dziedzic
4439dd777a wifimngr: 16.0.12 2023-08-25 11:28:47 +00:00
Elena Vengerova
1b17f255cd libwifi: add build dependency, remove temporary work around 2023-08-25 13:48:35 +03:00
Janusz Dziedzic
bd7ffb6ed0 wifimngr: 16.0.11 2023-08-25 10:34:48 +00:00
Anjan Chanda
d56bd71f04 ieee1905d: 8.2.3 2023-08-25 11:02:47 +02:00
Filip Matusiak
5dea0ad170 map-agent: 4.3.5.9 2023-08-25 09:32:11 +02:00
Wenpeng Song
caf0bcabf4 libvoice-d2-1.0.7: Support ptime change on a connection 2023-08-25 07:09:51 +00:00
Elena Vengerova
ad6c736f5c libwifi: add driver header temporary 2023-08-24 19:16:41 +03:00
Elena Vengerova
4c5443fff8 libwifi: rollback dependency temporary 2023-08-24 18:55:11 +03:00
Marina Maslova
c4c3ce2c76 libwifi: update dependency for mt vendor extension 2023-08-24 16:38:49 +03:00
Marek Puzyniak
f2e3dd3835 libwifi: 7.3.1 2023-08-24 12:29:42 +00:00
Anjan Chanda
3f8a60c2fd decollector: 4.1.0.3 2023-08-24 14:04:25 +02:00
Vivek Kumar Dutta
1d62545b4d swmodd: limited support to install lxc service container 2023-08-24 17:24:17 +05:30
Vivek Kumar Dutta
33b331d724 obuspc: Disable on extender DUT
- uci-default script to detect based on env variable `netmode=extender`
  to disable obuspc.
2023-08-24 17:21:36 +05:30
Anjan Chanda
ac51e3b0cd libwifi: 7.3.0 2023-08-24 13:48:19 +02:00
Vivek Kumar Dutta
6af817414a sulu: Use controller role from core usp definition 2023-08-24 17:15:21 +05:30
Vivek Kumar Dutta
c94f060196 obuspa: Multiple fixes
- Enable roles.json with extender role
- uci-default script for extender proxy
- dhcp provision script moved from source repo
2023-08-24 17:14:10 +05:30
Padmalochan Mohapatra
302daba0a6 libqos: Addressing memleak 2023-08-24 16:56:53 +05:30
Janusz Dziedzic
0cfd475bc7 map-agent: change qca prefix 2023-08-24 12:36:08 +02:00
Jakob Olsson
8bcb3d8d18 map-agent: 4.3.5.8 2023-08-24 12:35:54 +02:00
Marek Puzyniak
e70a2d5387 map-agent: 4.3.5.7 2023-08-24 10:05:53 +00:00
Vivek Kumar Dutta
1004eab7c3 rulengd: 1.2.9 2023-08-24 14:28:07 +05:30
Jakob Olsson
21512b44ff map-controller: change ap section order to ascending based on bands 2023-08-24 09:32:53 +02:00
Vivek Kumar Dutta
121bec3a3b rulengd: 1.2.8 2023-08-23 19:23:09 +05:30
Vivek Kumar Dutta
6227fca86e sulu: 3.0.3 2023-08-23 18:52:21 +05:30
Anjan Chanda
21d3c577c8 hostmngr: 0.21.0 2023-08-22 18:44:24 +02:00
83 changed files with 1576 additions and 555 deletions

View File

@@ -5,11 +5,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=bbfdm
PKG_VERSION:=1.3.11
PKG_VERSION:=1.3.30
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/bbfdm.git
PKG_SOURCE_VERSION:=35f7a1778a635bfabf7ffd6c4f5cf76893f52559
PKG_SOURCE_VERSION:=60171c88176bd0e8d8cb67ddea3cb4f40b834f17
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip

View File

@@ -2,6 +2,6 @@
config bbfdmd 'bbfdmd'
option enabled '1'
option loglevel '1'
option refresh_time '0'
option refresh_time '10'
option transaction_timeout '30'

View File

@@ -1,12 +1,13 @@
#!/bin/sh /etc/rc.common
START=96
START=65
STOP=10
USE_PROCD=1
PROG=/usr/sbin/bbfdmd
BBFDM_JSON_INPUT="/etc/bbfdm/input.json"
BBFDM_TEMP_JSON="/tmp/bbfdm.json"
log() {
echo "${@}"|logger -t bbfdmd.init -p info
@@ -16,43 +17,47 @@ validate_bbfdm_bbfdmd_section()
{
uci_validate_section bbfdm bbfdmd "bbfdmd" \
'enabled:bool:true' \
'debug:bool:false' \
'loglevel:uinteger' \
'sock:string' \
'refresh_time:uinteger' \
'transaction_timeout:uinteger' \
'debug:bool:false' \
'loglevel:uinteger:1' \
'refresh_time:uinteger:0' \
'transaction_timeout:uinteger:30' \
'subprocess_level:uinteger'
}
configure_bbfdmd()
{
local enabled debug sock
local enabled debug sock update
local jlog jrefresh jtimeout
update=0
config_load bbfdm
validate_bbfdm_bbfdmd_section || {
log "Validation of bbfdmd section failed"
return 1;
}
[ "${enabled}" -eq 0 ] && return 0
[ ! -f "${BBFDM_JSON_INPUT}" ] && return 0
if [ -n "${loglevel}" ]; then
echo "$(jq --arg res ${loglevel} '.daemon.config += {"loglevel": $res}' ${BBFDM_JSON_INPUT})" > ${BBFDM_JSON_INPUT}
jlog="$(jq '.daemon.config.loglevel' ${BBFDM_JSON_INPUT})"
if [ "\"${loglevel}\"" != "${jlog}" ]; then
update=1
fi
if [ -n "${refresh_time}" ]; then
echo "$(jq --arg res ${refresh_time} '.daemon.config += {"refresh_time": $res}' ${BBFDM_JSON_INPUT})" > ${BBFDM_JSON_INPUT}
jrefresh="$(jq '.daemon.config.refresh_time' ${BBFDM_JSON_INPUT})"
if [ "\"${refresh_time}\"" != "${jrefresh}" ]; then
update=1
fi
if [ -n "${transaction_timeout}" ]; then
echo "$(jq --arg res ${transaction_timeout} '.daemon.config += {"transaction_timeout": $res}' ${BBFDM_JSON_INPUT})" > ${BBFDM_JSON_INPUT}
jtimeout="$(jq '.daemon.config.transaction_timeout' ${BBFDM_JSON_INPUT})"
if [ "\"${transaction_timeout}\"" != "${jtimeout}" ]; then
update=1
fi
if [ -n "${subprocess_level}" ]; then
echo "$(jq --arg res ${subprocess_level} '.daemon.config += {"subprocess_level": $res}' ${BBFDM_JSON_INPUT})" > ${BBFDM_JSON_INPUT}
if [ "${update}" -eq "1" ]; then
echo "$(jq --arg log ${loglevel} --arg tran ${transaction_timeout} --arg refresh ${refresh_time} '.daemon.config += {"loglevel": $log, "refresh_time": $refresh, "transaction_timeout": $tran}' ${BBFDM_JSON_INPUT})" > ${BBFDM_TEMP_JSON}
mv ${BBFDM_TEMP_JSON} ${BBFDM_JSON_INPUT}
fi
procd_set_param command ${PROG}
@@ -72,6 +77,13 @@ start_service()
configure_bbfdmd
procd_set_param respawn
procd_close_instance "bbfdm"
ubus call service state '{"name":"bbfdm.services", "spawn":true}'
}
stop_service()
{
ubus call service state '{"name":"bbfdm.services", "spawn":false}'
}
service_triggers()

View File

@@ -0,0 +1,62 @@
#!/bin/sh
. /lib/functions.sh
bbfdm_sysctl_conf="/etc/bbfdm/sysctl.conf"
update_device_section() {
local section="${1}"
local dev_name="${2}"
local ipv6="${3}"
local name
# Get name value
config_get name "${section}" name
# Retrun if the name value is different to the dev_name value
[ "${name}" != "${dev_name}" ] && return
if [ "${ipv6}" = "0" ]; then
ipv6="1"
else
ipv6="0"
fi
# Add ipv6 option
uci -q set network.${section}.ipv6="${ipv6}"
}
parse_bbfdm_sysctl_conf_file() {
# Check if the file exists
[ -f "${bbfdm_sysctl_conf}" ] || return
# Create a temporary file
tmpfile=$(mktemp)
# Load network config
config_load network
# Read each line of the file
while read -r line; do
if echo "$line" | grep -Eq '^net\.ipv6\.conf\.(.+)\.disable_ipv6=([0-1])$'; then
name=$(echo "$line" | sed -n 's/^net\.ipv6\.conf\.\(.*\)\.disable_ipv6=[0-1]$/\1/p')
value=$(echo "$line" | sed -n 's/^net\.ipv6\.conf\.\(.*\)\.disable_ipv6=\([0-1]\)$/\2/p')
config_foreach update_device_section device "${name}" "${value}"
else
# If the line doesn't match, preserve it in the temporary file
echo "$line" >> "$tmpfile"
fi
done < "${bbfdm_sysctl_conf}"
# Replace the original file with the modified content
mv "$tmpfile" "${bbfdm_sysctl_conf}"
# Apply the changes
uci commit network
sysctl -e -p "${bbfdm_sysctl_conf}" >&-
}
parse_bbfdm_sysctl_conf_file
exit 0

View File

@@ -7,13 +7,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=bulkdata
PKG_VERSION:=2.1.1
PKG_VERSION:=2.1.2
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/bulkdata.git
PKG_SOURCE_VERSION:=2dd55d9c9eb01ed1b11e16bad9e2c3e8badfffeb
PKG_SOURCE_VERSION:=d83c42070e7f10178dc1c2d0ce078e3d6d42d889
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

View File

@@ -1,6 +1,6 @@
#!/bin/sh /etc/rc.common
START=99
START=60
STOP=10
. /etc/bbfdm/bbfdm_services.sh

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=decollector
PKG_VERSION:=4.1.0.2
PKG_VERSION:=4.1.0.4
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=39aad7f222eabf781f2bc1181c5ba3b23dc47629
PKG_SOURCE_VERSION:=566f0b7d148c0ece72f311c4f4b6b5f8e11d6f97
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

@@ -1,20 +1,14 @@
#
# Copyright (C) 2021 IOPSYS Software Solutions AB
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=dectmngr
PKG_RELEASE:=3
PKG_VERSION:=3.5.13
PKG_VERSION:=3.5.14
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/dectmngr.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=2465b94d72b8d54102c10565e624847d4f0b39ee
PKG_SOURCE_VERSION:=4f16755f8ac09d373234565f050832c049bdf543
PKG_MIRROR_HASH:=skip
endif

View File

@@ -302,6 +302,8 @@ xdsl_stop() {
}
xdsl_init() {
[ -d /sys/class/net/dsl0/ ] || exit
prioritize_arp
echo "Starting DSL"

View File

@@ -26,10 +26,6 @@ stop_service() {
}
boot() {
local HASADSL="$(db -q get hw.board.hasAdsl)"
local HASVDSL="$(db -q get hw.board.hasVdsl)"
[ "$HASADSL" == "1" -o "$HASVDSL" == "1" ] || return
xdsl_init
start

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=hostmngr
PKG_VERSION:=0.17.0
PKG_VERSION:=1.0.3
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=d355e72e31eb0e3640761af2aec390324c7d142b
PKG_SOURCE_VERSION:=bfb9098121d665a324c86a2a9ee0971871d6c22e
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
@@ -31,7 +31,8 @@ define Package/hostmngr
DEPENDS= +libubox +libuci +libubus +ubus +libeasy +libnl-genl \
+libjson-c +libblobmsg-json +libnfnetlink +libmnl \
+libnetfilter-conntrack \
+HOSTMNGR_PLATFORM_HAS_WIFI:libwifi
+HOSTMNGR_PLATFORM_HAS_WIFI:libwifi +libbbfdm-api
endef
define Package/hostmngr/config
@@ -58,7 +59,10 @@ MAKE_PATH:=src
define Package/hostmngr/install
$(CP) ./files/* $(1)/
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_DIR) $(1)/etc/hostmngr/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/hostmngr $(1)/usr/sbin/
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/bbf_plugin/libhostmngr.so $(1)/etc/hostmngr/
$(INSTALL_DATA) ./files/etc/hostmngr/input.json $(1)/etc/hostmngr/
endef
ifeq ($(LOCAL_DEV),1)

View File

@@ -3,7 +3,7 @@ config global 'global'
option enabled '1'
option history '1'
option history_file '/etc/hosts_history.json'
option history_timeout '604800'
option history_timeout '86400'
config interface
list ifname 'br-lan'

View File

@@ -0,0 +1,16 @@
{
"daemon": {
"input": {
"type": "DotSo",
"name": "/etc/hostmngr/libhostmngr.so"
},
"output": {
"type": "UBUS",
"name": "bbfdm.hosts",
"parent_dm": "Device.",
"object": "Hosts",
"root_obj": "bbfdm"
}
}
}

View File

@@ -3,16 +3,22 @@
START=97
STOP=20
. /etc/bbfdm/bbfdm_services.sh
USE_PROCD=1
HOSTS_JSON_INPUT="/etc/hostmngr/input.json"
start_service() {
procd_open_instance
procd_set_param command "/usr/sbin/hostmngr" "--config hosts" "-o" "/tmp/hostmngr.log" "-f"
procd_set_param command "/usr/sbin/hostmngr" "--config hosts" "-o" "/tmp/hostmngr.log" "-f"
# procd_set_param respawn
procd_set_param limits core="unlimited"
# procd_set_param stdout 1
# procd_set_param stderr 1
procd_close_instance
bbfdm_add_service "bbfdm.hosts" "${HOSTS_JSON_INPUT}"
}
service_triggers()

View File

@@ -0,0 +1,23 @@
#!/bin/sh
uci -q get hosts.global.ageing_timer || exit 0
# Old hosts UCI config is detected; Convert to new format
ageing_timer="$(uci -q get hosts.global.ageing_timer)"
history_timeout=$((ageing_timer*60))
uci -q set hosts.global.enabled=1
uci -q delete hosts.global.ageing_timer
uci -q set hosts.global.history_timeout="$history_timeout"
uci -q rename hosts.global.reboot_persistent=history
uci -q set hosts.global.history_file="/etc/hosts_history.json"
uci -q add hosts interface
for ifname in $(uci -q get hosts.global.ifname); do
uci -q add_list hosts.@interface[-1].ifname="$ifname"
done
uci -q delete hosts.global.ifname
exit 0

View File

@@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=icwmp
PKG_VERSION:=9.5.1
PKG_VERSION:=9.5.8
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/icwmp.git
PKG_SOURCE_VERSION:=8167cfa5a0ce77f467ad173e44d0012a6cb9b3e3
PKG_SOURCE_VERSION:=79871c5365cf89ce718b922b0863c8a68c09a771
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip

View File

@@ -18,14 +18,7 @@ handle_icwmp_update() {
sleep 10
ret=$(ubus call service list '{"name":"icwmpd"}' | jsonfilter -qe '@.icwmpd.instances.icwmp.running')
if [ "$ret" = "true" ]; then
# read status from var/state/icwmp
status=$(uci -q -c /var/state get icwmp.sess_status.current_status)
if [ "$status" != "running" ]; then
log "Trigger out of bound inform, since last inform status was failure"
ubus -t 10 call tr069 inform >/dev/null 2>&1
fi
else
if [ "$ret" != "true" ]; then
log "Restarting icwmp tr069 object"
/etc/init.d/icwmpd restart
fi

View File

@@ -566,16 +566,8 @@ reload_service() {
fi
status="$(echo "${tr069_status}" | jsonfilter -qe '@.cwmp.status')"
ret="$?"
if [ "$status" = "up" ]; then
ubus -t 1 call tr069 command '{"command":"reload"}'
ret="$?"
fi
if [ "$status" = "init" ] || [ "$ret" -ne "0" ]; then
log "Restarting CWMP client"
stop
start
fi
}
@@ -590,6 +582,6 @@ service_triggers() {
config_get wan_interface cpe default_wan_interface "wan"
procd_add_reload_trigger "cwmp"
add_interface_trigger ${default_wan_interface}
add_interface_trigger ${wan_interface}
}

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ieee1905
PKG_VERSION:=8.2.2
PKG_VERSION:=8.2.19
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=c03fc4287af3dd17655dcaa02fc37d67425531f7
PKG_SOURCE_VERSION:=3d175485a7461ce567e3bee47e1c760e15434367
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

View File

@@ -2,13 +2,16 @@ config ieee1905 'ieee1905'
option enabled '1'
option extension '1'
list extmodule 'map'
list extmodule 'topology'
option registrar '2 5 6'
# option macaddress '0a:1b:2c:3d:4e:50'
config al-iface
option enabled '1'
option ifname 'br-lan'
option type 'bridge'
list ifname 'br-lan'
list ifname '/eth.*'
list ifname '/wl.*'
list ifname '/wds.*'
# ap sections are auto-generated/overwritten during onboarding
#

View File

@@ -59,19 +59,17 @@ CONFIG_PACKAGE_inbd=y
CONFIG_PACKAGE_qosmngr=y
CONFIG_PACKAGE_libwifiutils=y
CONFIG_PACKAGE_wifimngr=y
CONFIG_PACKAGE_hostmngr=y
# Multi-AP #
CONFIG_PACKAGE_ieee1905=y
CONFIG_IEEE1905_CMDU_SA_IS_ALMAC=y
CONFIG_PACKAGE_topology-plugin=y
CONFIG_PACKAGE_decollector=y
CONFIG_PACKAGE_map-agent=y
CONFIG_PACKAGE_map-controller=y
CONFIG_PACKAGE_map-topology=y
CONFIG_IEEE1905_CMDU_SA_IS_ALMAC=y
# Network #
CONFIG_PACKAGE_hostmngr=y
CONFIG_PACKAGE_netmode=y
CONFIG_PACKAGE_urlfilter=y
@@ -95,6 +93,7 @@ CONFIG_PACKAGE_udpecho-client=y
CONFIG_PACKAGE_udpecho-server=y
CONFIG_PACKAGE_userinterface=y
CONFIG_PACKAGE_xmppc=y
CONFIG_PACKAGE_timemngr=y
# WebGUI #
CONFIG_PACKAGE_sulu=y

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libethernet
PKG_VERSION:=7.2.104
PKG_VERSION:=7.2.105
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=d777636ca43302a95e571ab030ec44ef50905570
PKG_SOURCE_VERSION:=4a363a699c4a8024054ca095f1b7818f8bd56ded
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

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libqos
PKG_VERSION:=7.2.101
PKG_VERSION:=7.2.105
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=93ca0a66d6f82bca208bbe52b75ed582b20aa094
PKG_SOURCE_VERSION:=78cc1481feff7adc09749e73a3513fae4d9ded28
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/libqos.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_MIRROR_HASH:=skip
@@ -37,14 +37,11 @@ else ifeq ($(CONFIG_TARGET_armvirt),y)
else ifeq ($(CONFIG_TARGET_airoha),y)
TARGET_PLATFORM=ECONET
TARGET_CFLAGS +=-DIOPSYS_ECONET
else ifeq ($(CONFIG_TARGET_ipq95xx),y)
TARGET_PLATFORM=IPQ95XX
TARGET_CFLAGS +=-DIPQ95XX
else ifeq ($(CONFIG_TARGET_mediatek),y)
TARGET_PLATFORM=LINUX
TARGET_CFLAGS +=-DIOPSYS_LINUX
TARGET_PLATFORM=MEDIATEK
TARGET_CFLAGS +=-DIOPSYS_MEDIATEK
else
$(info Unexpected CONFIG_TARGET, use default LINUX)
$(info Using default LINUX)
TARGET_PLATFORM=LINUX
TARGET_CFLAGS +=-DIOPSYS_LINUX
endif

View File

@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=libvoice-airoha
PKG_RELEASE:=1
PKG_VERSION:=1.0.5
PKG_VERSION:=1.0.7
PKG_LICENSE:=PROPRIETARY
PKG_LICENSE_FILES:=LICENSE
@@ -17,7 +17,7 @@ LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/$(PKG_NAME).git
PKG_SOURCE_VERSION:=3f4cdca981b30d54ec5a426775fdcec2a63f83d9
PKG_SOURCE_VERSION:=5e1befd02c6734ee8b94b7ef54d6171ba1086042
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

View File

@@ -2,7 +2,7 @@
"ulaw": {
"name": "G.711MuLaw",
"ptime_min": 10,
"ptime_max": 30,
"ptime_max": 60,
"ptime_default": 20,
"ptime_increment": 10,
"bitrate": 64
@@ -10,7 +10,7 @@
"alaw": {
"name": "G.711ALaw",
"ptime_min": 10,
"ptime_max": 30,
"ptime_max": 60,
"ptime_default": 20,
"ptime_increment": 10,
"bitrate": 64
@@ -18,7 +18,7 @@
"g726": {
"name": "G.726",
"ptime_min": 10,
"ptime_max": 30,
"ptime_max": 60,
"ptime_default": 20,
"ptime_increment": 10,
"bitrate": 16,
@@ -27,7 +27,7 @@
"g723": {
"name": "G.723.1",
"ptime_min": 10,
"ptime_max": 30,
"ptime_max": 60,
"ptime_default": 30,
"ptime_increment": 30,
"bitrate": 5.3
@@ -35,26 +35,18 @@
"g729": {
"name": "G.729",
"ptime_min": 10,
"ptime_max": 30,
"ptime_max": 60,
"ptime_default": 20,
"ptime_increment": 10,
"bitrate": 8
},
"ilbc": {
"name": "iLBC",
"g722": {
"name": "G.722",
"ptime_min": 10,
"ptime_max": 30,
"ptime_max": 60,
"ptime_default": 20,
"ptime_increment": 30,
"bitrate": 15.2
},
"gsm": {
"name": "AMR",
"ptime_min": 10,
"ptime_max": 30,
"ptime_default": 20,
"ptime_increment": 20,
"bitrate": 12.2
"ptime_increment": 10,
"bitrate": 64
}
}

View File

@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=libvoice-broadcom
PKG_RELEASE:=1
PKG_VERSION:=1.0.1
PKG_VERSION:=1.0.5
PKG_LICENSE:=PROPRIETARY
PKG_LICENSE_FILES:=LICENSE
@@ -17,7 +17,7 @@ LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/$(PKG_NAME).git
PKG_SOURCE_VERSION:=548f8fccc9f8f0b5dd6bb39bdd9cac8659400cb6
PKG_SOURCE_VERSION:=8c8fa2b70e2bd570deb291478b31fa81a4ab3c1a
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

View File

@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=libvoice-d2
PKG_RELEASE:=1
PKG_VERSION:=1.0.6
PKG_VERSION:=1.0.12
PKG_LICENSE:=PROPRIETARY
PKG_LICENSE_FILES:=LICENSE
@@ -17,7 +17,7 @@ LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/$(PKG_NAME).git
PKG_SOURCE_VERSION:=062a265754b93a865cfcd2745f200aa09fb4a668
PKG_SOURCE_VERSION:=e60fdaa93e1385bbea08751dcd392cddffdf3345
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.2.111
PKG_VERSION:=7.4.3
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=75bc4789e742584d45fcc2f9261267ed3e5c5492
PKG_SOURCE_VERSION:=66cd6a376308ab28b0650883e6ba7bb1952ce6fc
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
@@ -46,6 +46,10 @@ else ifeq ($(CONFIG_TARGET_ipq95xx),y)
TARGET_PLATFORM=IPQ95XX
TARGET_WIFI_TYPE=QUALCOMM MAC80211
TARGET_CFLAGS +=-DIPQ95XX
else ifeq ($(CONFIG_TARGET_ipq53xx),y)
TARGET_PLATFORM=IPQ53XX
TARGET_WIFI_TYPE=QUALCOMM MAC80211
TARGET_CFLAGS +=-DIPQ53XX
else ifeq ($(CONFIG_TARGET_mediatek),y)
TARGET_PLATFORM=LINUX
TARGET_WIFI_TYPE=MEDIATEK MAC80211
@@ -57,6 +61,12 @@ else
TARGET_CFLAGS +=-DIOPSYS_MAC80211
endif
ifneq ($(CONFIG_PACKAGE_kmod-mt7915e),)
TARGET_CFLAGS=-DMT7915_VENDOR_EXT
endif
PKG_BUILD_DEPENDS:=PACKAGE_kmod-mt7915e:mt76
ifneq ($(CONFIG_PACKAGE_libwifi),)
TARGET_CFLAGS +=-DHAS_WIFI
endif

View File

@@ -45,5 +45,12 @@ config AGENT_LOCAL_ACS_SERVICE
config AGENT_STRICT_OPER_CHANNEL_REPORT
bool "Report operation channel strictly, skip some unsolicited reports"
config AGENT_WIRELESS_EXPLICIT_RELOAD
bool "Reload wireless after UCI commit"
config AGENT_OPER_CHANNEL_CHANGE_RELAY_MCAST
bool "Use config opt to determine if Oper Channel Report CMDU is send as relayed multicast or directly to controller"
default y
endmenu
endif

View File

@@ -5,9 +5,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=map-agent
PKG_VERSION:=4.3.5.6
PKG_VERSION:=4.3.7.0
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=c64710581c46b2260a36b59d03cc83d21011d671
PKG_SOURCE_VERSION:=03a85b04d10c08dccd96381ef6f2ece91d16dc52
PKG_MAINTAINER:=Jakob Olsson <jakob.olsson@iopsys.eu>
PKG_LICENSE:=BSD-3-Clause
@@ -94,6 +94,14 @@ ifeq ($(CONFIG_AGENT_STRICT_OPER_CHANNEL_REPORT),y)
TARGET_CFLAGS += -DSTRICT_OPER_CHANNEL_REPORT
endif
ifeq ($(CONFIG_AGENT_WIRELESS_EXPLICIT_RELOAD),y)
TARGET_CFLAGS += -DWIRELESS_EXPLICIT_RELOAD
endif
ifeq ($(CONFIG_AGENT_OPER_CHANNEL_CHANGE_RELAY_MCAST),y)
TARGET_CFLAGS += -DOPER_CHAN_CHANGE_RELAY_MCAST
endif
MAKE_PATH:=src
define Package/map-agent/install

View File

@@ -7,6 +7,7 @@ config agent 'agent'
option island_prevention '0'
option eth_onboards_wifi_bhs '1'
option scan_on_boot_only '0'
option chan_ch_relay_mcast '1'
option guest_isolation '1'
list map_port 'all'
# option controller_macaddr '0a:1b:2c:3d:4e:50'

View File

@@ -2,7 +2,7 @@
. /lib/network/utils.sh
conn_ports_file="/tmp/map.connected.ports"
conn_ports_file="/var/run/multiap/map.connected.ports"
map_bh_file="/var/run/multiap/multiap.backhaul"
al_bridge="$(uci -q get mapagent.agent.al_bridge)"
[ "${al_bridge:0:3}" = "br-" ] || exit 0
@@ -19,6 +19,7 @@ if [ -n "$(which dynbhd)" ]; then
pidof dynbhd >/dev/null && exit 0 # dynbhd is managing the links
if [ ! -f $conn_ports_file ]; then
mkdir -p /var/run/multiap
touch $conn_ports_file
if [ "$LINK" = "up" ]; then
touch $conn_ports_file

View File

@@ -36,17 +36,20 @@ generate_multiap_config() {
mode_band=""
priority=
dpp_chan=
channels=
case "$band" in
2g)
mode_band=2
priority=2
dpp_chan="81/1"
channels="1 6 11"
;;
5g)
mode_band=5
priority=1
dpp_chan="128/36"
channels="36-64 100-112"
;;
6g)
mode_band=6
@@ -65,6 +68,8 @@ generate_multiap_config() {
ifprefix="wlan%_%"
ifname="wlan${devidx}_0"
ifname_bh="wlan${devidx}_1"
uci set wireless.$dev.channels="$channels"
uci commit wireless
elif is_broadcom; then
ifprefix="wl"
ifname="wl${devidx}"
@@ -72,13 +77,13 @@ generate_multiap_config() {
device="wl${devidx}"
brcm_setup="1"
elif is_qualcomm; then
ifprefix="wlan%%"
ifprefix="wlan0%-"
ifname="wlan${devidx}"
ifname_bh="wlan${devidx}-1"
else
ifprefix="wlan%-%"
ifprefix="wlan%-"
ifname="wlan$devidx"
ifname_bh="$ifname-0"
ifname_bh="$ifname-1"
fi
if [ $generate_mapagent_config -eq 1 ]; then

View File

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

View File

@@ -34,7 +34,7 @@ config sta_steering
###################
config ap
option band '5'
option band '2'
option ssid '$DEVICE_MANUFACTURER-$BASEMAC_ADDR'
option encryption 'sae-mixed'
option key '$WIFI_FH_KEY'
@@ -42,7 +42,7 @@ config ap
option type 'fronthaul'
config ap
option band '2'
option band '5'
option ssid '$DEVICE_MANUFACTURER-$BASEMAC_ADDR'
option encryption 'sae-mixed'
option key '$WIFI_FH_KEY'
@@ -58,16 +58,16 @@ config ap
option type 'fronthaul'
config ap
option band '5'
option ssid 'MAP-$BASEMAC_ADDR-BH-5GHz'
option band '2'
option ssid 'MAP-$BASEMAC_ADDR-BH-2.4GHz'
option encryption 'sae'
option key '$WIFI_BH_KEY'
option type 'backhaul'
option vid '1'
config ap
option band '2'
option ssid 'MAP-$BASEMAC_ADDR-BH-2.4GHz'
option band '5'
option ssid 'MAP-$BASEMAC_ADDR-BH-5GHz'
option encryption 'sae'
option key '$WIFI_BH_KEY'
option type 'backhaul'

View File

@@ -246,6 +246,10 @@ config_mcproxy() {
fi
}
setup_mcast_mode() {
:
}
configure_mcast() {
config_global_params "set_max_groups_and_sources"

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=obuspa
PKG_VERSION:=7.0.2.26
PKG_VERSION:=7.0.4.4
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/obuspa.git
PKG_SOURCE_VERSION:=7b3a47a4bf4c5e5a92470cb73ce15b09192e5936
PKG_SOURCE_VERSION:=7ae856494f6cae9e81510818a7944b1259ca55b2
PKG_MAINTAINER:=Vivek Dutta <vivek.dutta@iopsys.eu>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
@@ -111,9 +111,10 @@ define Package/obuspa/install
$(INSTALL_DATA) ./files/etc/obuspa/dmcaching_exclude.json $(1)/etc/obuspa/dmcaching_exclude.json
$(INSTALL_DATA) ./files/etc/bbfdm/json/USPAgent.json $(1)/etc/bbfdm/json/USPAgent.json
$(INSTALL_DATA) ./files/etc/bbfdm/json/TransferComplete.json $(1)/etc/bbfdm/json/TransferComplete.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) $(PKG_BUILD_DIR)/files/etc/udhcpc.user.d/udhcpc_obuspa_opt125.user $(1)/etc/udhcpc.user.d/udhcpc_obuspa_opt125.user
$(INSTALL_BIN) ./files/etc/udhcpc.user.d/udhcpc_obuspa_opt125.user $(1)/etc/udhcpc.user.d/udhcpc_obuspa_opt125.user
ifeq ($(CONFIG_OBUSPA_ENABLE_TEST_CONTROLLER),y)
$(INSTALL_BIN) ./files/etc/init.d/usptest $(1)/etc/init.d/
$(INSTALL_BIN) ./files/etc/uci-defaults/55-test-usp-controller $(1)/etc/uci-defaults/

View File

@@ -1,14 +1,13 @@
config obuspa 'global'
option enabled '1'
option debug '0'
option debug '1'
option dhcp_discovery '1'
option interface 'wan'
option log_level '1'
option prototrace '0'
option db_file '/etc/obuspa/usp.db'
#option role_file '/etc/obuspa/roles.json'
option role_file '/etc/obuspa/roles.json'
option dm_caching_exclude '/etc/obuspa/dmcaching_exclude.json'
#option trust_cert '/etc/obuspa/rootCA.pem'
#option client_cert '/etc/obuspa/client.pem'
#option log_dest '/var/log/obuspa'
#option log_dest '/tmp/obuspa.log'

View File

@@ -1073,25 +1073,4 @@ reload_service() {
service_triggers() {
procd_add_reload_trigger "obuspa"
# Create a reload trigger if schema update avaialble
procd_open_trigger
json_add_array
json_add_string "" "bbfdm"
json_add_array
json_add_string "" "if"
json_add_array
json_add_string "" "eq"
json_add_string "" "action"
json_add_string "" "schema_update_available"
json_close_array
json_add_array
json_add_string "" "run_script"
json_add_string "" "/etc/init.d/obuspa"
json_add_string "" "restart"
json_close_array
json_close_array
json_add_int "" "2000"
json_close_array
procd_close_trigger
}

View File

@@ -1,7 +1,18 @@
{
"roles": [
{
"name": "admin",
"name": "full_access",
"permission": [
{
"object": "Device.",
"perm": [
"PERMIT_ALL"
]
}
]
},
{
"name": "Untrusted",
"permission": [
{
"object": "Device.",
@@ -13,31 +24,44 @@
"object": "Device.DeviceInfo.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST"
]
},
{
"object": "Device.WiFi.",
"perm": [
"PERMIT_GET",
"PERMIT_SET",
"PERMIT_ADD",
"PERMIT_DEL",
"PERMIT_OPER",
"PERMIT_SUBS_VAL_CHANGE",
"PERMIT_SUBS_OBJ_ADD",
"PERMIT_SUBS_OBJ_DEL",
"PERMIT_SUBS_EVT_OPER_COMP",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object": "Device.IP.",
"object": "Device.DeviceInfo.ProcessStatus.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST"
"PERMIT_NONE"
]
},
{
"object": "Device.DeviceInfo.VendorConfigFile.",
"perm": [
"PERMIT_NONE"
]
},
{
"object": "Device.DeviceInfo.VendorLogFile.",
"perm": [
"PERMIT_NONE"
]
},
{
"object": "Device.DeviceInfo.Processor.",
"perm": [
"PERMIT_NONE"
]
}
]
},
{
"name": "admin",
"permission": [
{
"object": "Device.",
"perm": [
"PERMIT_ALL"
]
}
]
@@ -55,40 +79,289 @@
"object": "Device.DeviceInfo.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST"
]
},
{
"object": "Device.WiFi.",
"perm": [
"PERMIT_GET",
"PERMIT_OPER",
"PERMIT_SUBS_VAL_CHANGE",
"PERMIT_SUBS_OBJ_ADD",
"PERMIT_SUBS_OBJ_DEL",
"PERMIT_SUBS_EVT_OPER_COMP",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.Time.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.UPnP.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.Bridging.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.Ethernet.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.DHCPv4.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.DHCPv6.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.Hosts.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.NAT.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.PPP.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.Routing.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.IEEE1905.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.InterfaceStack.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.DynamicDNS.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.LANConfigSecurity.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.Security.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.RouterAdvertisement.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.Services.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.UserInterface.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.PeriodicStatistics.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.SoftwareModules.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.Users.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.XMPP.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object": "Device.LocalAgent.Subscription.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO",
"PERMIT_ADD",
"PERMIT_SET",
"PERMIT_DEL"
]
},
{
"object": "Device.WiFi.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO",
"PERMIT_OPER",
"PERMIT_SUBS_VAL_CHANGE",
"PERMIT_SUBS_OBJ_ADD",
"PERMIT_SUBS_OBJ_DEL",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
"object": "Device.DNS.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO",
"PERMIT_OPER",
"PERMIT_SUBS_VAL_CHANGE",
"PERMIT_SUBS_OBJ_ADD",
"PERMIT_SUBS_OBJ_DEL",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
"object": "Device.IP.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST"
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO",
"PERMIT_OPER",
"PERMIT_SUBS_VAL_CHANGE",
"PERMIT_SUBS_OBJ_ADD",
"PERMIT_SUBS_OBJ_DEL",
"PERMIT_SUBS_EVT_OPER_COMP"
]
}
]
},
{
"name": "undefined-1"
},
{
"name": "undefined-2"
},
{
"name": "undefined-3"
"name": "extender",
"permission": [
{
"object": "Device.",
"perm": [
"PERMIT_NONE"
]
},
{
"object": "Device.SSH.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO",
"PERMIT_OPER",
"PERMIT_SUBS_VAL_CHANGE",
"PERMIT_SUBS_OBJ_ADD",
"PERMIT_SUBS_OBJ_DEL",
"PERMIT_SUBS_EVT_OPER_COMP"
]
}
]
},
{
"name": "undefined-4"

View File

@@ -0,0 +1,13 @@
#!/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

@@ -0,0 +1,314 @@
#!/bin/sh
. /lib/functions.sh
URL=""
PROV_CODE=""
RETRY_MIN_INTERVAL="5"
RETRY_INTERVAL_MUL="2000"
ENDPOINT_ID=""
get_oui_from_db() {
db -q get device.deviceinfo.ManufacturerOUI
}
get_serial_from_db() {
db -q get device.deviceinfo.SerialNumber
}
get_vivsoi() {
# opt125 environment variable has data in below format
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
# | enterprise-number1 |
# | |
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
# | data-len1 | |
# +-+-+-+-+-+-+-+-+ option-data1 |
# / /
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -----
# | enterprise-number2 | ^
# | | |
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
# | data-len2 | | optional
# +-+-+-+-+-+-+-+-+ option-data2 | |
# / / |
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
# ~ ... ~ V
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -----
# Enterprise Id Len Sub Op SLen Data Sub Op SLen Data Sub Op SLen Data
# +-------------+-----+------+------+----+------+-----+----+-----+------+-----+----+
# | id | n | 1 | n1 | D1 | 2 | n2 | D2 | ... | 6 | n6 | D6 |
# +-------------+-----+------+------+----+------+-----+----+-----+------+-----+----+
local opt125="$1"
local len="$2"
local ent_id
#hex-string 2 character=1 Byte
# length in hex string will be twice of actual Byte length
[ "$len" -gt "8" ] || return
data="${opt125}"
rem_len="${len}"
while [ $rem_len -gt 0 ]; do
ent_id=${data:0:8}
ent_id=$(printf "%d\n" "0x$ent_id")
if [ $ent_id -ne 3561 ]; then
len_val=${data:8:2}
data_len=$(printf "%d\n" "0x$len_val")
# add 4 byte for ent_id and 1 byte for len
data_len=$(( data_len * 2 + 10 ))
# move ahead data to next enterprise id
data=${data:"${data_len}":"${rem_len}"}
rem_len=$(( rem_len - $data_len ))
continue
fi
# read the length of enterprise data
len_val=${data:8:2}
data_len=$(printf "%d\n" "0x$len_val")
# add 4 byte for ent_id and 1 byte for len
data_len=$(( data_len * 2 + 10 ))
opt_len=$(printf "%d\n" "0x$len_val")
[ $opt_len -eq 0 ] && return
# populate the option data of enterprise id
sub_data_len=$(( opt_len * 2))
# starting 10 means ahead of length field
sub_data=${data:10:"${sub_data_len}"}
# parsing of suboption of option 125
while [ $sub_data_len -gt 0 ]; do
# get the suboption id
sub_opt_id=${sub_data:0:2}
sub_opt_id=$(printf "%d\n" "0x$sub_opt_id")
# get the length of suboption
sub_opt_len=${sub_data:2:2}
sub_opt_len=$(printf "%d\n" "0x$sub_opt_len")
sub_opt_len=$(( sub_opt_len * 2 ))
# get the value of sub option starting 4 means starting after length
sub_opt_val=${sub_data:4:${sub_opt_len}}
# assign the value found in sub option
case "${sub_opt_id}" in
"25") URL=$(echo -n $sub_opt_val | sed 's/\([0-9A-F]\{2\}\)/\\\\\\x\1/gI' | xargs printf && echo '')
;;
"26") PROV_CODE=$(echo -n $sub_opt_val | sed 's/\([0-9A-F]\{2\}\)/\\\\\\x\1/gI' | xargs printf && echo '')
;;
"27") RETRY_MIN_INTERVAL=$(echo -n $sub_opt_val | sed 's/\([0-9A-F]\{2\}\)/\\\\\\x\1/gI' | xargs printf && echo '')
;;
"28") RETRY_INTERVAL_MUL=$(echo -n $sub_opt_val | sed 's/\([0-9A-F]\{2\}\)/\\\\\\x\1/gI' | xargs printf && echo '')
;;
"29") ENDPOINT_ID=$(echo -n $sub_opt_val | sed 's/\([0-9A-F]\{2\}\)/\\\\\\x\1/gI' | xargs printf && echo '')
;;
esac
# add 2 bytes for sub_opt id and sub_opt len field
sub_opt_end=$(( sub_opt_len + 4 ))
# update the remaining sub option hex string length
sub_data_len=$((sub_data_len - sub_opt_end))
# fetch next sub option hex string
sub_data=${sub_data:${sub_opt_end}:${sub_data_len}}
done
# move ahead data to next enterprise id
data=${data:"${data_len}":"${rem_len}"}
rem_len=$(( rem_len - data_len ))
done
}
get_netmode()
{
local mode
if command -v fw_printenv; then
mode="$(fw_printenv -n netmode)"
fi
if [ "$mode" != "extender" ]; then
mode="full_access"
fi
echo "$mode"
}
config_load obuspa
config_get_bool enable_obuspa global enabled 1
config_get wan_intf global interface "wan"
config_get_bool dhcp_discovery global dhcp_discovery 1
if [ "$enable_obuspa" = "0" ] || [ "$dhcp_discovery" = "0" ]; then
return 0
fi
if [ "${wan_intf}" == "${INTERFACE}" ]; then
if [ -n "$opt125" ]; then
len=$(printf "$opt125"|wc -c)
get_vivsoi "$opt125" "$len"
fi
if [ -z "$URL" ] || [ -z "$ENDPOINT_ID" ]; then
return 0
fi
proto=""
ip=""
port=""
topic=""
is_fqdn=1
case $URL in
ws://*) is_fqdn=0;;
wss://*) is_fqdn=0;;
mqtt://*) is_fqdn=0;;
mqtts://*) is_fqdn=0;;
*) is_fqdn=1
esac;
if [ ${is_fqdn} -eq 1 ]; then
# This is an FQDN, perform DNS query
nslookup -type=a $URL > /tmp/fqdn_ip
nslookup -type=ptr $URL > /tmp/fqdn_ptr
return 0
else
proto=$(echo "${URL}" | awk -F: '{print $1}')
dest=$(echo "${URL}" | awk -F/ '{print $3}')
ip=$(echo "${dest}" | awk -F: '{print $1}')
port=$(echo "${dest}" | awk -F: '{print $2}')
topic=$(echo "${URL}" | sed 's/^.*:'"${port}"'/\1/g')
fi
offered_proto=""
if [ "${proto}" == "mqtt" ] || [ "${proto}" == "mqtts" ]; then
offered_proto="MQTT"
elif [ "${proto}" == "ws" ] || [ "${proto}" == "wss" ]; then
offered_proto="WebSocket"
else
return 0
fi
uci_change=0
mtp_encrypt="0"
## Handling of controller section
ct_endpoint=$(uci -q get obuspa.dhcpcontroller.EndpointID)
ct_proto=$(uci -q get obuspa.dhcpcontroller.Protocol)
ct_topic=$(uci -q get obuspa.dhcpcontroller.Topic)
ct_enable=$(uci -q get obuspa.dhcpcontroller.Enable)
ct_prov=$(uci -q get obuspa.dhcpcontroller.ProvisioningCode)
if [ "${ct_endpoint}" != "${ENDPOINT_ID}" ] || [ "${ct_proto}" != "${offered_proto}" ] || [ "${ct_topic}" != "${topic}" ] || [ "${ct_enable}" != "1" ] || [ "${ct_prov}" != "${PROV_CODE}" ]; then
uci -q del obuspa.dhcpcontroller
sec=$(uci -q add obuspa controller)
uci -q rename obuspa."${sec}"='dhcpcontroller'
uci -q set obuspa.dhcpcontroller.EndpointID="${ENDPOINT_ID}"
uci -q set obuspa.dhcpcontroller.ProvisioningCode="${PROV_CODE}"
uci -q set obuspa.dhcpcontroller.Protocol="${offered_proto}"
if [ "${offered_proto}" == "MQTT" ]; then
uci -q set obuspa.dhcpcontroller.Topic="${topic}"
uci -q set obuspa.dhcpcontroller.mqtt='dhcpmqtt'
else
uci -q set obuspa.dhcpcontroller.Path="${topic}"
uci -q set obuspa.dhcpcontroller.Host="${ip}"
uci -q set obuspa.dhcpcontroller.Port="${port}"
if [ "${proto}" == "wss" ]; then
uci -q set obuspa.dhcpcontroller.EnableEncryption='1'
mtp_encrypt="1"
else
uci -q set obuspa.dhcpcontroller.EnableEncryption='0'
mtp_encrypt="0"
fi
fi
uci -q set obuspa.dhcpcontroller.assigned_role_name="$(get_netmode)"
uci -q set obuspa.dhcpcontroller.Enable='1'
uci_change=1
fi
if [ "${offered_proto}" == "WebSocket" ]; then
ex_mqtt=$(uci -q get obuspa.dhcpmqtt)
if [ -n "${ex_mqtt}" ]; then
uci -q del obuspa.dhcpmqtt
uci_change=1
fi
## Handling of mtp section
ct_proto=$(uci -q get obuspa.dhcpmtp.Protocol)
ct_port=$(uci -q get obuspa.dhcpmtp.Port)
ct_enable=$(uci -q get obuspa.dhcpmtp.Enable)
ct_encrypt=$(uci -q get obuspa.dhcpmtp.EnableEncryption)
if [ "${ct_proto}" != "WebSocket" ] || [ "${ct_port}" != "${port}" ] || [ "${ct_enable}" != "1" ] || [ "${ct_encrypt}" != "${mtp_encrypt}" ]; then
uci -q del obuspa.dhcpmtp
sec=$(uci -q add obuspa mtp)
uci -q rename obuspa."${sec}"='dhcpmtp'
uci -q set obuspa.dhcpmtp.Protocol='WebSocket'
uci -q set obuspa.dhcpmtp.Port="${port}"
uci -q set obuspa.dhcpmtp.Enable='1'
uci -q set obuspa.dhcpmtp.EnableEncryption="${mtp_encrypt}"
uci_change=1
fi
else
if [ "${proto}" == "mqtt" ]; then
transport_proto="TCP/IP"
else
transport_proto="TLS"
fi
## Handling of mqtt section
ct_address=$(uci -q get obuspa.dhcpmqtt.BrokerAddress)
ct_port=$(uci -q get obuspa.dhcpmqtt.BrokerPort)
ct_proto=$(uci -q get obuspa.dhcpmqtt.TransportProtocol)
ct_enable=$(uci -q get obuspa.dhcpmqtt.Enable)
ct_ver=$(uci -q get obuspa.dhcpmqtt.ProtocolVersion)
if [ "${ct_address}" != "${ip}" ] || [ "${ct_port}" != "${port}" ] || [ "${ct_proto}" != "${transport_proto}" ] || [ "${ct_enable}" != "1" ] || [ "${ct_ver}" != "5.0" ]; then
uci -q del obuspa.dhcpmqtt
sec=$(uci -q add obuspa mqtt)
uci -q rename obuspa."${sec}"='dhcpmqtt'
uci -q set obuspa.dhcpmqtt.BrokerAddress="${ip}"
uci -q set obuspa.dhcpmqtt.BrokerPort="${port}"
uci -q set obuspa.dhcpmqtt.TransportProtocol="${transport_proto}"
uci -q set obuspa.dhcpmqtt.Enable='1'
uci -q set obuspa.dhcpmqtt.ProtocolVersion='5.0'
uci_change=1
fi
## Handling of mtp section
ct_proto=$(uci -q get obuspa.dhcpmtp.Protocol)
ct_topic=$(uci -q get obuspa.dhcpmtp.ResponseTopicConfigured)
ct_enable=$(uci -q get obuspa.dhcpmtp.Enable)
config_load obuspa
config_get AgentEndpointID localagent EndpointID ""
if [ -z "${AgentEndpointID}" ]; then
serial=$(get_serial_from_db)
oui=$(get_oui_from_db)
AgentEndpointID=$(echo "${oui}-${serial//+/%2B}")
fi
topic_base=$(echo "${AgentEndpointID}" | sed -E 's/[^[:alnum:]]/_/g')
agent_topic="/usp/${topic_base}/endpoint"
if [ "${ct_proto}" != "MQTT" ] || [ "${ct_topic}" != "${agent_topic}" ] || [ "${ct_enable}" != "1" ]; then
uci -q del obuspa.dhcpmtp
sec=$(uci -q add obuspa mtp)
uci -q rename obuspa."${sec}"='dhcpmtp'
uci -q set obuspa.dhcpmtp.Protocol='MQTT'
uci -q set obuspa.dhcpmtp.ResponseTopicConfigured="${agent_topic}"
uci -q set obuspa.dhcpmtp.Enable='1'
uci -q set obuspa.dhcpmtp.mqtt='dhcpmqtt'
uci_change=1
fi
fi
if [ ${uci_change} -eq 1 ]; then
ubus call uci commit '{"config":"obuspa"}'
fi
fi

View File

@@ -20,7 +20,7 @@
void DM_PRIV_RequestInit(dm_req_t *req, dm_node_t *node, char *path, dm_instances_t *inst);
--- a/src/core/msg_handler.c
+++ b/src/core/msg_handler.c
@@ -893,6 +893,20 @@ char *MtpSendItemToString(mtp_send_item_
@@ -902,6 +902,20 @@ char *MtpSendItemToString(mtp_send_item_
/*********************************************************************//**
**

View File

@@ -1,6 +1,6 @@
--- a/src/core/data_model.c
+++ b/src/core/data_model.c
@@ -1242,7 +1242,7 @@ int DATA_MODEL_NotifyInstanceAdded(char
@@ -1243,7 +1243,7 @@ int DATA_MODEL_NotifyInstanceAdded(char
// Exit if instance already exists - nothing to do
if (exists)
{
@@ -9,7 +9,7 @@
return USP_ERR_CREATION_FAILURE;
}
@@ -1327,7 +1327,7 @@ int DATA_MODEL_NotifyInstanceDeleted(cha
@@ -1328,7 +1328,7 @@ int DATA_MODEL_NotifyInstanceDeleted(cha
// Exit if instance does not exist - nothing to do
if (exists == false)
{

View File

@@ -1,16 +1,14 @@
diff --git a/src/core/data_model.c b/src/core/data_model.c
index 2cf4b6c..b92cf59 100644
--- a/src/core/data_model.c
+++ b/src/core/data_model.c
@@ -136,6 +136,7 @@ void DumpDataModelNodeMap(void);
int GetVendorParam(dm_node_t *node, char *path, dm_instances_t *inst, char *buf, int len, dm_req_t *req);
@@ -137,6 +137,7 @@ int GetVendorParam(dm_node_t *node, char
int SetVendorParam(dm_node_t *node, char *path, dm_instances_t *inst, char *value, dm_req_t *req);
double_link_t *FindLinkToFirstObject(double_linked_list_t *list);
+extern bool is_running_cli_local_command;
/*********************************************************************//**
**
** DATA_MODEL_Init
@@ -223,7 +224,9 @@ int DATA_MODEL_Init(void)
@@ -224,7 +225,9 @@ int DATA_MODEL_Init(void)
}
// Set the default values of OUI, Serial Number and (LocalAgent) EndpointID, and cache EndpointID

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=obuspc
PKG_VERSION:=1.0.1.2
PKG_VERSION:=1.0.1.5
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/obuspa-test-controller.git
PKG_SOURCE_VERSION:=2ae29195817e75ada7c030a03662e72dbaae8e77
PKG_SOURCE_VERSION:=61f14c5a1fba8c251cf1cfb18c163eab62d5674d
PKG_MAINTAINER:=Vivek Dutta <vivek.dutta@iopsys.eu>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
@@ -63,11 +63,12 @@ define Package/obuspc/install
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DIR) $(1)/etc/bbfdm/json
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_BIN) $(PKG_BUILD_DIR)/obuspc $(1)/usr/sbin/
$(INSTALL_BIN) ./files/etc/init.d/obuspc $(1)/etc/init.d/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/obuspc $(1)/usr/sbin/uspc
$(INSTALL_BIN) ./files/etc/init.d/uspc $(1)/etc/init.d/
$(INSTALL_BIN) ./files/etc/uci-defaults/50-disable-on-extender $(1)/etc/uci-defaults/
$(INSTALL_BIN) ./files/etc/uci-defaults/99-fix-agent-endpoint $(1)/etc/uci-defaults/
$(INSTALL_BIN) ./files/etc/uci-defaults/100-add-mosquitto-listener $(1)/etc/uci-defaults/
$(INSTALL_DATA) ./files/etc/config/obuspc $(1)/etc/config/
$(INSTALL_DATA) ./files/etc/config/uspc $(1)/etc/config/
endef
$(eval $(call BuildPackage,obuspc))

View File

@@ -1,8 +1,8 @@
config obuspc 'global'
config global 'global'
option enabled '1'
option debug '1'
option log_level '1'
option prototrace '1'
option prototrace '0'
config mqtt 'mqtt'
option BrokerAddress '127.0.0.1'
@@ -15,5 +15,10 @@ config controller 'controller'
option ResponseTopicConfigured '/usp/discovery/controller'
option mqtt 'mqtt'
config proxy 'usp'
option protocol 'USP'
option parent_dm 'Device.'
option mount_point 'Node'
config agent 'agent'
option Topic '/usp/endpoint'

View File

@@ -4,10 +4,10 @@ START=99
STOP=01
USE_PROCD=1
PROG=/usr/sbin/obuspc
CONFIGURATION=obuspc
PROG=/usr/sbin/uspc
CONFIGURATION=uspc
RESET_FILE="/tmp/usp/obuspc_param_reset.txt"
RESET_FILE="/tmp/usp/uspc_param_reset.txt"
SQL_DB_FILE="/tmp/usp/uspc.db"
BASEPATH=""
@@ -24,7 +24,7 @@ global_init()
log()
{
echo "$*"|logger -t obuspc.init -p debug
echo "$*"|logger -t uspc.init -p debug
}
db_set_reset_file()
@@ -336,7 +336,7 @@ boot() {
validate_global_section()
{
uci_validate_section ${CONFIGURATION} obuspc "${1}" \
uci_validate_section ${CONFIGURATION} uspc "${1}" \
'enabled:bool:1' \
'debug:bool:0' \
'prototrace:bool:0' \
@@ -513,7 +513,7 @@ configure_mqtt_client() {
db_set
}
configure_obuspc() {
configure_uspc() {
local enabled trust_cert ifname interface debug prototrace log_level db_file log_dest
local client_cert
@@ -573,7 +573,7 @@ register_service()
procd_open_instance ${CONFIGURATION}
procd_set_param command ${PROG}
configure_obuspc
configure_uspc
procd_set_param respawn \
"${respawn_threshold:-5}" \
"${respawn_timeout:-10}" "${respawn_retry:-3}"
@@ -582,7 +582,7 @@ register_service()
}
start_service() {
local enabled
local enabled mode
config_load ${CONFIGURATION}
config_get_bool enabled global enabled 0
@@ -606,5 +606,5 @@ reload_service() {
}
service_triggers() {
procd_add_reload_trigger "obuspc"
procd_add_reload_trigger "uspc"
}

View File

@@ -1,13 +1,18 @@
#!/bin/sh
section_exist=$(uci -q get mosquitto.obuspc)
if [ -z "${section_exist}" ]; then
section=$(uci -q add mosquitto listener)
uci -q rename mosquitto.$section="obuspc"
# exit if running in an extender
enabled="$(uci -q get uspc.global.enabled)"
if [ "$enabled" -eq 0 ]; then
return 0;
fi
port=$(uci -q get obuspc.mqtt.BrokerPort)
uci -q set mosquitto.obuspc.enabled="1"
uci -q set mosquitto.obuspc.port=$port
uci -q set mosquitto.obuspc.allow_anonymous="1"
section_exist=$(uci -q get mosquitto.uspc)
if [ -z "${section_exist}" ]; then
uci set mosquitto.uspc=listener
fi
port=$(uci -q get uspc.mqtt.BrokerPort)
uci -q set mosquitto.uspc.enabled="1"
uci -q set mosquitto.uspc.port=$port
uci -q set mosquitto.uspc.allow_anonymous="1"
uci commit mosquitto

View File

@@ -0,0 +1,10 @@
#!/bin/sh
#!/bin/sh
. /lib/functions.sh
mode="$(fw_printenv -n netmode)"
if [ "${mode}" == "extender" ]; then
uci set uspc.global.enabled=0
uci commit uspc
fi

View File

@@ -2,6 +2,12 @@
. /lib/functions.sh
# exit if running in an extender
enabled="$(uci -q get uspc.global.enabled)"
if [ "$enabled" -eq 0 ]; then
return 0;
fi
get_oui_from_db()
{
db -q get device.deviceinfo.ManufacturerOUI
@@ -25,7 +31,7 @@ fix_agent_endpoint()
AgentEndpointID="os::${oui}-${serial//+/%2B}"
fi
uci -q set obuspc.agent.EndpointID="${AgentEndpointID}"
uci -q set uspc.agent.EndpointID="${AgentEndpointID}"
}
fix_agent_endpoint

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=periodicstats
PKG_VERSION:=1.5.1
PKG_VERSION:=1.5.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:=e68c87c5648182cc08e69c5fd368e8d178f24804
PKG_SOURCE_VERSION:=375c71ebaabffa2e47aa37a04e072232492eff25
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

View File

@@ -1,6 +1,6 @@
#!/bin/sh /etc/rc.common
START=99
START=61
STOP=01
. /etc/bbfdm/bbfdm_services.sh

View File

@@ -911,6 +911,7 @@
},
"PONMode": {
"type": "string",
"default": "Unknown",
"read": true,
"write": false,
"protocols": [
@@ -928,6 +929,7 @@
},
"Connector": {
"type": "string",
"default": "Unknown",
"read": true,
"write": false,
"protocols": [

View File

@@ -15,6 +15,25 @@ SP_Q_PRIO=7
cfg_name=""
cfg_type=""
get_port_number() {
[ -z "$1" ] && return
local ports="0 1 2 3 4 5 6 7 8"
local units="0 1"
local port="$1"
local prt
local ifname
for unit in $units; do
for prt in $ports; do
ifname="$(ethswctl getifname $unit $prt 2>/dev/null | awk '{print$NF}')"
if [ "$ifname" == "$port" ]; then
echo "$unit $prt"
return
fi
done
done
}
get_rate_per_queue() {
echo "0"
}

View File

@@ -392,10 +392,10 @@ create_ebtables_chains() {
ebtables -t broute -N qos 2> /dev/null
ret=$?
if [ $ret -eq 0 ]; then
ebtables -t broute -I BROUTING -j qos
ebtables -t broute -A BROUTING -j qos
else
ebtables -t broute -D BROUTING -j qos
ebtables -t broute -I BROUTING -j qos
ebtables -t broute -A BROUTING -j qos
fi
}

View File

@@ -5,14 +5,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=rulengd
PKG_VERSION:=1.2.7
PKG_VERSION:=1.2.9
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:=1f247e1afc845f47348febffa55fe40d8b552737
PKG_SOURCE_VERSION:=1a3bf130d99ed275152c7d29b309d12c4400613d
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

View File

@@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=stunc
PKG_RELEASE:=1
PKG_VERSION:=1.3.0
PKG_VERSION:=1.3.1
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/stunc.git
PKG_SOURCE_VERSION:=8bf66ef0fac9dcbc63cb2b98cbce787d23059cd1
PKG_SOURCE_VERSION:=3e56818cd219f285263d6d1a7d41f751bbb0fe08
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

View File

@@ -5,11 +5,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=sulu-base
PKG_VERSION:=3.0.1
PKG_VERSION:=3.1.7
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/sulu.git
PKG_SOURCE_VERSION:=dd0374b05be401707a76adab86cf9115811d03ed
PKG_SOURCE_VERSION:=f9b7325a81d3cd43a683cfb2b01fd1ef35e58c70
PKG_MIRROR_HASH:=skip
SULU_MOD:=core

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=sulu-builder
PKG_VERSION:=3.0.2
PKG_VERSION:=3.1.7
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/sulu-builder.git
PKG_SOURCE_VERSION:=00c5c42d6106a1e0a288c22510fee1d2fd882c1d
PKG_SOURCE_VERSION:=bdda8098426361b6e703dad3b26f38fad78a3841
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)
@@ -120,7 +120,6 @@ define Package/sulu/install/Default
$(INSTALL_BIN) ./files/etc/init.d/sulu $(1)/etc/init.d/sulu
$(INSTALL_DIR) $(1)/etc/sulu
$(INSTALL_DATA) ./files/etc/sulu/roles.json $(1)/etc/sulu/
$(INSTALL_BIN) ./files/etc/sulu/sulu.sh $(1)/etc/sulu/
$(INSTALL_DATA) ./files/etc/sulu/nginx.locations $(1)/etc/sulu/

View File

@@ -1,299 +0,0 @@
{
"roles": [
{
"name": "admin",
"permission": [
{
"object": "Device.",
"perm": [
"PERMIT_ALL"
]
}
]
},
{
"name": "user",
"permission": [
{
"object": "Device.",
"perm": [
"PERMIT_NONE"
]
},
{
"object": "Device.DeviceInfo.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.Time.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.UPnP.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.Bridging.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.Ethernet.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.DHCPv4.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.DHCPv6.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.Hosts.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.NAT.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.PPP.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.Routing.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.IEEE1905.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.InterfaceStack.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.DynamicDNS.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.LANConfigSecurity.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.Security.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.RouterAdvertisement.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.Services.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.UserInterface.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.PeriodicStatistics.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.SoftwareModules.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.Users.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object":"Device.XMPP.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
]
},
{
"object": "Device.LocalAgent.Subscription.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO",
"PERMIT_ADD",
"PERMIT_SET",
"PERMIT_DEL"
]
},
{
"object": "Device.WiFi.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO",
"PERMIT_OPER",
"PERMIT_SUBS_VAL_CHANGE",
"PERMIT_SUBS_OBJ_ADD",
"PERMIT_SUBS_OBJ_DEL",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
"object": "Device.DNS.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO",
"PERMIT_OPER",
"PERMIT_SUBS_VAL_CHANGE",
"PERMIT_SUBS_OBJ_ADD",
"PERMIT_SUBS_OBJ_DEL",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
"object": "Device.IP.",
"perm": [
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO",
"PERMIT_OPER",
"PERMIT_SUBS_VAL_CHANGE",
"PERMIT_SUBS_OBJ_ADD",
"PERMIT_SUBS_OBJ_DEL",
"PERMIT_SUBS_EVT_OPER_COMP"
]
}
]
},
{
"name": "undefined-1"
},
{
"name": "undefined-2"
},
{
"name": "undefined-3"
},
{
"name": "undefined-4"
}
]
}

View File

@@ -92,6 +92,16 @@ function _get_sulu_tls_port()
echo "${port:-8443}"
}
function _get_sulu_http_port()
{
local port listen
listen="$(uci -q get nginx._sulu_http.listen)"
port="$(echo $listen|grep -Eo '[0-9]+'|head -n 1)"
echo "${port:-8080}"
}
function update_nginx_template()
{
local port
@@ -134,6 +144,18 @@ function generate_sulu_conn_config()
json_add_array 'auth';
json_close_array;
json_add_array 'urlOverrides';
json_add_object "";
json_add_object 'match';
json_add_string 'protocol' 'http:'
json_close_object
json_add_object 'override';
json_add_string 'protocol' 'ws'
json_add_int 'port' "$(_get_sulu_http_port)";
json_close_object
json_close_object
json_close_array
json_add_object 'overrides';
for f in ${users}; do
json_add_object "${f}";
@@ -156,6 +178,18 @@ function generate_sulu_conn_config()
json_add_string 'subscribeEndpoint' "/usp/controller";
json_add_array 'auth';
json_close_array;
json_add_array 'urlOverrides';
json_add_object "";
json_add_object 'match';
json_add_string 'protocol' 'http:'
json_close_object
json_add_object 'override';
json_add_string 'protocol' 'ws'
json_add_int 'port' "$(_get_sulu_http_port)";
json_close_object
json_close_object
json_close_array
json_close_object;
json_close_object;
@@ -295,9 +329,6 @@ function _update_obuspa_config_rbac() {
restart=1
fi
done
if [ -f "/etc/sulu/roles.json" ]; then
uci_set obuspa global role_file "/etc/sulu/roles.json"
fi
return "${restart}"
}

View File

@@ -21,6 +21,7 @@ add_sulu_nginx_uci()
uci_set nginx _sulu_s error_log '/dev/null'
fi
# To host on http, disable _suluredirect and enable _sulu_http
if ! uci_get nginx _suluredirect >/dev/null 2>&1; then
uci_add nginx server _suluredirect
uci_add_list nginx _suluredirect listen "8080"
@@ -28,6 +29,17 @@ add_sulu_nginx_uci()
uci_set nginx _suluredirect server_name '_suluredirect'
uci_set nginx _suluredirect return '302 https://$host:8443$request_uri'
fi
# if ! uci_get nginx _sulu_http >/dev/null 2>&1; then
# uci_add nginx server _sulu_http
# uci_set nginx _sulu_http root '/sulu'
# uci_add_list nginx _sulu_http listen "8080"
# uci_add_list nginx _sulu_http listen "[::]:8080"
# uci_set nginx _sulu_http server_name '_sulu_http'
# uci_add_list nginx _sulu_http include '/etc/sulu/nginx.locations'
# uci_set nginx _sulu_http ssl_session_cache 'none'
# uci_set nginx _sulu_http access_log 'off; # logd openwrt'
# fi
}

View File

@@ -4,11 +4,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=sulu-lcm
PKG_VERSION:=3.0.0
PKG_VERSION:=3.1.1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/sulu-lcm.git
PKG_SOURCE_VERSION:=ac2e418026a0570bec16a77186a948e18e49d4c7
PKG_SOURCE_VERSION:=d4c0522c9a7cc59e621d5f967fa6b001a025c7ae
PKG_MIRROR_HASH:=skip
SULU_PLUGIN_INSTALL:=1

View File

@@ -4,11 +4,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=sulu-multi-ap
PKG_VERSION:=3.0.1
PKG_VERSION:=3.1.6
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/sulu-multi-ap.git
PKG_SOURCE_VERSION:=1db484dc54aa10e1a6623d1e79be68d6d8859ac3
PKG_SOURCE_VERSION:=07da9a4d69452a6b092cd0c529186a5cb3b3c538
PKG_MIRROR_HASH:=skip
include ../sulu-builder/sulu.mk

View File

@@ -4,11 +4,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=sulu-parental-control
PKG_VERSION:=3.0.0
PKG_VERSION:=3.1.0
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/sulu-parental-control.git
PKG_SOURCE_VERSION:=b50857e88d14de9752bd081159a6c71e8ea03539
PKG_SOURCE_VERSION:=c7ac55a741ac36a126e2fb806f97b8c2625a4499
PKG_MIRROR_HASH:=skip
include ../sulu-builder/sulu.mk

View File

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

View File

@@ -14,6 +14,34 @@ is_container_running() {
return $?
}
configure_lxc_container() {
local requested_state name ctype du_status BUNDLE
ctype="${1}"
name="${2}"
requested_state="${3}"
du_state="${4}"
BUNDLE="${5}"
if [ "${ctype}" != "lxc" ]; then
return 0;
fi
if [ "${du_status}" = "Uninstalling" ]; then
lxc-stop -q -k "${name}"
if [ -d "${BUNDLE:?}/${name:?}" ]; then
rm -rf "${BUNDLE:?}/${name:?}"
fi
fi
if [ "${requested_state}" = "Idle" ]; then
lxc-stop -q -k "${name}"
elif [ "${requested_state}" = "Active" ]; then
lxc-start -q "${name}" >/dev/null 2>&1
fi
}
configure_crun_container() {
local name type autostart du_status requested_state url username password
local BRIDGE BUNDLE BOOT
@@ -38,6 +66,7 @@ configure_crun_container() {
fi
if [ "${type}" != "crun" ]; then
configure_lxc_container "${type}" "${name}" "${requested_state}" "${du_status}" "${BUNDLE}"
return 0;
fi

View File

@@ -23,15 +23,23 @@ validate_globals_section()
}
start_lxc_container() {
local root
config_get name "${1}" name ""
config_get type "${1}" type ""
config_get autostart "${1}" autostart "0"
config_get timeout "${1}" timeout "300"
root="${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
type=lxc
fi
if [ "${type}" != "lxc" ]; then
return 0;
fi
@@ -44,12 +52,12 @@ start_lxc_container() {
if [ "${autostart}" == "0" ]; then
if [ "${state}" == "RUNNING" ]; then
# stop the container if running
lxc-stop -n "${name}" -t "${timeout}" &
lxc-stop -k -n "${name}" &
return 0;
elif [ "${state}" == "FROZEN" ]; then
# first unfreeze then stop
lxc-unfreeze -n "${name}"
lxc-stop -n "${name}" -t "${timeout}" &
lxc-stop -k -n "${name}" &
return 0;
fi
else
@@ -64,6 +72,12 @@ start_lxc_container() {
fi
}
stop_lxc_containers() {
for f in `lxc-ls`; do
lxc-stop -k -n $f >/dev/null 2>&1;
done
}
start_service() {
local enabled debug log_level sock lxc_bundle_root oci_bundle_root
@@ -105,8 +119,17 @@ start_service() {
if [ -f "${lxc_bundle_root}/lxccontainer" ]; then
UCI_CONFIG_DIR="${lxc_bundle_root}"
config_load lxccontainer
config_foreach start_lxc_container container
config_foreach start_lxc_container container ${lxc_bundle_root}
fi
if [ -f "${oci_bundle_root}/ocicontainer" ]; then
UCI_CONFIG_DIR="${oci_bundle_root}"
config_load ocicontainer
config_foreach start_lxc_container du_eu_assoc ${oci_bundle_root}
fi
}
stop_service() {
stop_lxc_containers
}
reload_service() {

20
timemngr/Config.in Normal file
View File

@@ -0,0 +1,20 @@
if PACKAGE_timemngr
choice
prompt "Select backend of time management"
default TIMEMNGR_NTPD
depends on PACKAGE_timemngr
help
Select which backend daemon to use for time management
config TIMEMNGR_NTPD
bool "Use NTPD for time management"
endchoice
config TIMEMNGR_MIGRATE_SYSTEM
bool "Migrate time definition from system uci"
default y
help
Timemngr can be configured with time uci file, or by a migration
script to migrate ntp uci definition from system uci to time uci.
Enable this option to install the ntp migration script.
endif

71
timemngr/Makefile Normal file
View File

@@ -0,0 +1,71 @@
#
# Copyright (C) 2023 IOPSYS
#
include $(TOPDIR)/rules.mk
PKG_NAME:=timemngr
PKG_VERSION:=1.0.3
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/timemngr.git
PKG_SOURCE_VERSION:=1ffb220f42e37befb37e40ac2286ba31fddfb157
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=TRx69
TITLE:=Time manager daemon based on ntpd
DEPENDS:=+bbfdmd +ntpd +libuci +libubox +ubus
MENU:=1
endef
define Package/$(PKG_NAME)/config
source "$(SOURCE)/Config.in"
endef
MAKE_PATH:=src
define Package/$(PKG_NAME)/description
Manage device time with ntpd and provides Device.Time. datamodel object based on TR181-2.16
endef
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
$(CP) -rf ~/git/timemngr/* $(PKG_BUILD_DIR)/
endef
endif
define Package/$(PKG_NAME)/install
$(INSTALL_DIR) $(1)/etc/timemngr/
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
$(INSTALL_DIR) $(1)/etc/hotplug.d/ntp
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/timemngr $(1)/usr/sbin/timemngr
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/libtimemngr.so $(1)/etc/timemngr/
$(INSTALL_DATA) ./files/etc/timemngr/input.json $(1)/etc/timemngr/
$(INSTALL_BIN) ./files/etc/hotplug.d/iface/21-timemngr $(1)/etc/hotplug.d/iface/
$(INSTALL_BIN) ./files/etc/hotplug.d/ntp/40-firstUseDate $(1)/etc/hotplug.d/ntp/
$(INSTALL_BIN) ./files/etc/init.d/timemngr $(1)/etc/init.d/
ifeq ($(CONFIG_TIMEMNGR_MIGRATE_SYSTEM),y)
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_BIN) ./files/etc/uci-defaults/96-system-ntp-migrate $(1)/etc/uci-defaults/
endif
ifeq ($(CONFIG_TIMEMNGR_NTPD),y)
$(CP) ./files/etc/timemngr/ntpd_config.sh $(1)/etc/timemngr/time.sh
endif
endef
$(eval $(call BuildPackage,$(PKG_NAME)))

View File

@@ -0,0 +1,35 @@
#!/bin/sh
NAME=time
. /usr/share/libubox/jshn.sh
configure_ntp_servers()
{
local ntp_interface
# Only change the ntp servers if interface matches with the defined interface
ntp_interface="$(uci -q get ${NAME}.dhcp_driven.interface)"
if [ "${ntp_interface}" != "${1}" ]; then
return 0
fi
json_load "$(ifstatus $ntp_interface)"
json_select data
json_get_var servers ntpserver ""
exist_dhcp_ntp_server="$(uci -q get ${NAME}.dhcp_driven.server)"
if [ "${servers}" != "${exist_dhcp_ntp_server}" ]; then
uci -q del ${NAME}.dhcp_driven.server
for server in ${servers}; do
uci -q add_list ${NAME}.dhcp_driven.server="${server}"
done
eval ubus call uci commit '{\"config\":\"$NAME\"}'
fi
}
[ "$ACTION" = "ifup" -a "$(uci -q get network.$INTERFACE.is_lan)" != "1" ] && {
configure_ntp_servers ${INTERFACE}
}

View File

@@ -0,0 +1,10 @@
#!/bin/sh
# This hotplug script set the firstUseDate if not already set
[ "$ACTION" = stratum ] || exit 0
[ -f "/etc/config/time" ] || exit 0
if ! uci -q get time.global.first_use_date > /dev/null 2>&1; then
uci -q set time.global.first_use_date="$(date -u +'%Y-%m-%dT%H:%M:%SZ')"
uci commit time
fi

View File

@@ -0,0 +1,62 @@
#!/bin/sh /etc/rc.common
START=20
STOP=01
. /etc/bbfdm/bbfdm_services.sh
. /etc/timemngr/time.sh
USE_PROCD=1
PROG_UBUS=/usr/sbin/timemngr
DM_INPUT="/etc/timemngr/input.json"
validate_global_section() {
uci_validate_section time global global \
'enable:bool:1'
}
start_service() {
if uci -q get system.ntp >/dev/null 2>&1; then
logger -t timemngr.init "Not starting timemngr, legacy ntp definition detected"
return 1
fi
local enable
validate_global_section || {
return 1
}
if [ "$enable" != 1 ]; then
return 1
fi
procd_open_instance timemngr_ubus
procd_set_param command $PROG_UBUS -l 1
procd_close_instance
generate_config
create_service
bbfdm_add_service "bbfdm.time" "${DM_INPUT}"
}
reload_service() {
stop
start
}
service_triggers() {
procd_add_reload_trigger "time"
local enable mode ttl interface
validate_server_section || {
return 1
}
if [ "$enable" != 0 ] && [ "$mode" = "Broadcast" ] && [ -n "$interface" ]; then
procd_open_trigger
procd_add_interface_trigger "interface.*.up" $interface /etc/init.d/timemngr restart
procd_close_trigger
fi
}

View File

@@ -0,0 +1,15 @@
{
"daemon": {
"input": {
"type": "DotSo",
"name": "/etc/timemngr/libtimemngr.so"
},
"output": {
"type": "UBUS",
"name": "bbfdm.time",
"parent_dm": "Device.",
"object": "Time",
"root_obj": "bbfdm"
}
}
}

View File

@@ -0,0 +1,184 @@
#!/bin/sh
. /lib/functions.sh
CONF_FILE=/tmp/timemngr/timemngr.conf
trunc() {
mkdir -p $(dirname ${CONF_FILE})
chown -R ntp:ntp $(dirname ${CONF_FILE})
echo -n "" > ${CONF_FILE}
}
emit() {
echo -e "$@" >> ${CONF_FILE}
}
validate_global_section() {
uci_validate_section time global global \
'enable:bool:1'
}
validate_server_section() {
uci_validate_section time server server \
'enable:bool:1'\
'mode:string:Unicast'\
'ttl:uinteger:255'\
'interface:string'
}
validate_client_section() {
uci_validate_section time client $1 \
'enable:bool:1'\
'iburst:bool:1'\
'version:uinteger:4'\
'peer:bool:0'\
'minpoll:uinteger:6'\
'maxpoll:uinteger:10'\
'mode:string:Unicast'\
'server:list(host)'
}
generate_config() {
local enable
validate_global_section || {
return 1
}
if [ "$enable" != 1 ]; then
return 1
fi
local enable_client_sec
enabled_sec=$(uci -q show time | grep enable=\'1\' | cut -d'.' -f 2)
for sec in $enabled_sec; do
type=$(uci -q get time.$sec)
if [ "${type}" == "client" ]; then
enable_client_sec=$sec
break
fi
done
local client_mode enable_client
local enable iburst version peer minpoll maxpoll mode server
if [ -n $enable_client_sec ]; then
validate_client_section $enable_client_sec || {
return 1
}
client_mode=$mode
enable_client=$enable
else
enable_client=0
fi
local server_mode enable_server
local enable mode ttl interface
validate_server_section || {
return 1
}
server_mode=$mode
enable_server=$enable
[ "$enable_client" = 0 ] && [ "$enable_server" = 0 ] && return
trunc
emit "driftfile /tmp/timemngr/ntp.drift\n"
str1="restrict -4 default noserve"
str2="restrict -6 default noserve"
if [ "$enable_server" != 0 ]; then
str1="restrict default limited kod nomodify notrap"
str2="restrict -6 default limited kod nomodify notrap"
fi
if [ "$enable_client" == 0 ] || [ "$peer" == 0 ]; then
str1="${str1} nopeer"
str2="${str2} nopeer"
fi
emit "${str1}"
emit "${str2}"
emit "restrict source noquery"
emit "\n# No limits for local monitoring"
emit "restrict 127.0.0.1"
emit "restrict -6 ::1\n"
if [ "$enable_client" != 0 ]; then
if [ "$client_mode" = "Broadcast" ]; then
emit "broadcastclient\n"
elif [ "$client_mode" = "Multicast" ]; then
emit "multicastclient 224.0.1.1 minpoll $minpoll maxpoll $maxpoll version $version\n"
elif [ "$client_mode" = "Manycast" ]; then
emit "manycastclient 224.0.1.1 minpoll $minpoll maxpoll $maxpoll version $version\n"
else
for i in $server; do
str="server $i minpoll $minpoll maxpoll $maxpoll version $version"
if [ "$iburst" != 0 ]; then
str="${str} iburst"
fi
emit "${str}"
done
if [ "$peer" != 0 ]; then
for i in $server; do
str="peer $i minpoll $minpoll maxpoll $maxpoll version $version"
if [ "$iburst" != 0 ]; then
str="${str} iburst"
fi
emit "${str}"
done
fi
fi
fi
emit ""
if [ "$enable_server" != 0 ]; then
if [ "$server_mode" = "Broadcast" ] && [ -n "$interface" ]; then
ip=$(ubus call network.interface dump | jsonfilter -e "@.interface[@.interface='$interface']['ipv4-address'][0]['address']")
mask=$(ubus call network.interface dump | jsonfilter -e "@.interface[@.interface='$interface']['ipv4-address'][0]['mask']")
if [ -n "$ip" ] && [ -n "$mask" ]; then
pref=$(( $mask / 8 ))
bcast_ip=$(echo $ip | cut -d. -f1-$pref)
for i in `seq $pref 3`; do
bcast_ip=$bcast_ip".255"
done
str="broadcast $bcast_ip"
if [ -n "$ttl" ]; then
str="${str} ttl ${ttl}"
fi
emit "${str}"
fi
elif [ "$server_mode" = "Multicast" ]; then
str="broadcast 224.0.1.1"
if [ -n "$ttl" ]; then
str="${str} ttl ${ttl}"
fi
emit "${str}"
elif [ "$server_mode" = "Manycast" ]; then
emit "manycastserver 224.0.1.1"
fi
emit ""
if [ -n "$interface" ]; then
local loopback=$(ubus call network.interface dump | jsonfilter -e "@.interface[@.interface='loopback']['device']")
local l3_intf=$(ubus call network.interface dump | jsonfilter -e "@.interface[@.interface='$interface']['device']")
local saw_lo=
emit "interface listen $l3_intf"
[ "$l3_intf" = "$loopback" ] && saw_lo=1
[ -z "$saw_lo" ] && emit "interface listen $loopback"
emit ""
fi
fi
}
create_service() {
procd_open_instance timemngr
procd_set_param command "/sbin/ntpd" -g -u ntp:ntp -n -c ${CONF_FILE}
procd_close_instance
}

View File

@@ -0,0 +1,71 @@
#!/bin/sh
function get_system_ntp_option()
{
local val
val="$(uci -q get system.ntp.${1})"
echo "${val}"
}
# migrate system ntp servers to time
if uci -q get system.ntp >/dev/null 2>&1; then
if [ ! -f "/etc/config/time" ]; then
touch /etc/config/time
uci -q set time.global="global"
uci -q set time.global.enable="1"
uci -q set time.client="client"
enabled="$(get_system_ntp_option enabled)"
if [ -z "${enabled}" ]; then
enabled="1"
fi
uci -q set time.client.enable="$enabled"
uci -q set time.client.iburst="1"
uci -q set time.client.version="4"
uci -q set time.client.peer="0"
uci -q set time.client.minpoll="6"
uci -q set time.client.maxpoll="10"
uci -q set time.client.mode="Unicast"
servers="$(get_system_ntp_option server)"
if [ -z "${servers}" ]; then
servers="ntp1.sth.netnod.se ntp1.gbg.netnod.se"
fi
for server in $servers; do
uci -q add_list time.client.server="${server}"
done
# DHCP client instance
uci -q set time.dhcp_driven="client"
uci -q set time.dhcp_driven.enable="0"
interface="$(get_system_ntp_option interface)"
if [ -n "${interface}" ]; then
uci -q set time.dhcp_driven.interface="${interface}"
else
uci -q set time.dhcp_driven.interface="wan"
fi
uci -q set time.dhcp_driven.iburst="1"
uci -q set time.dhcp_driven.version="4"
uci -q set time.dhcp_driven.peer="0"
uci -q set time.dhcp_driven.minpoll="6"
uci -q set time.dhcp_driven.maxpoll="10"
uci -q set time.dhcp_driven.mode="Unicast"
# Add timeserver
uci -q set time.server="server"
uci -q set time.server.enable="$(get_system_ntp_option enable_server)"
uci -q set time.server.mode="Unicast"
uci -q set time.server.ttl="255"
uci -q commit time
fi
uci -q delete system.ntp
uci -q commit system
fi

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=tr104
PKG_VERSION:=1.0.3
PKG_VERSION:=1.0.7
LOCAL_DEV:=0
ifeq ($(LOCAL_DEV),0)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/voice/tr104.git
PKG_SOURCE_VERSION:=e0e52a4c2c19cc79c630d5db9f049e469f6e38be
PKG_SOURCE_VERSION:=63a9876a4f7f030bac433fc44427884e7e97baf5
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
PKG_NAME:=twamp
PKG_VERSION:=1.4.0
PKG_VERSION:=1.4.1
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/twamp-light.git
PKG_SOURCE_VERSION:=9523a75f4c4059b729d462e741f7edd462c28147
PKG_SOURCE_VERSION:=f3d35a5499e8815721ba384e79fda8181f76b8f8
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:=usermngr
PKG_VERSION:=1.2.1
PKG_VERSION:=1.2.2
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/usermngr.git
PKG_SOURCE_VERSION:=b1021fd6cba8291657a3b127e47c6fd91b8a0976
PKG_SOURCE_VERSION:=76a7e491ed533b5d2684eef8ace9fd52ecc232e0
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

View File

@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=voicemngr
PKG_RELEASE:=1
PKG_VERSION:=1.0.5
PKG_VERSION:=1.0.10
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
@@ -19,7 +19,7 @@ LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/$(PKG_NAME).git
PKG_SOURCE_VERSION:=e174820ea544498d56ff89d03307ef883607d792
PKG_SOURCE_VERSION:=7ad15dc84ce950f7ce8dd723877a9f8fd81194a7
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
@@ -75,6 +75,12 @@ define Build/Prepare
endef
endif
#installs files into ./staging_dir/. that shared with asterisk-chan-voicemngr
define Build/InstallDev
$(INSTALL_DIR) $(STAGING_DIR)/usr/include
$(CP) $(PKG_BUILD_DIR)/libvoice/voice-types.h $(STAGING_DIR)/usr/include
endef
define Package/$(PKG_NAME)/install
$(CP) ./files/* $(1)/
$(INSTALL_DIR) $(1)/usr/sbin

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=wifimngr
PKG_VERSION:=16.0.10
PKG_VERSION:=16.1.2
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=38ec9902a518797ca1ef5a7edae31e0c58d7a79c
PKG_SOURCE_VERSION:=8f64538aafe43a778c44756adc3b5d1f6dbe7165
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