Compare commits

...

240 Commits

Author SHA1 Message Date
Vivek Kumar Dutta
eafe5587fc bbfdm: Added SelfTestDiagnostics() 2023-10-31 14:08:49 +05:30
Vivek Kumar Dutta
644856890b bbfdm: 1.4.4 2023-10-30 11:28:46 +05:30
Vivek Kumar Dutta
208ebe92a8 sulu: 3.1.21 2023-10-27 19:28:05 +05:30
Vivek Kumar Dutta
752648d604 bbfdm: Updated NeighboringWiFiDiagnostic parameters 2023-10-27 09:32:06 +05:30
Ratish
8f5e73321f bbfdm: handled X_IOPSYS_EU_IGMP.Proxy.{i}.Interface set 2023-10-26 16:42:43 +05:30
Jakob Olsson
5c83a98cb3 wifimngr: uci-defaults: generate wifi.json 2023-10-26 12:46:59 +02:00
Amit Kumar
8711c64ff6 qosmngr: handling linux platform qos shaper 2023-10-26 07:25:52 +00:00
Anatoly Mirin
b6477e8b84 mcastmngr: add snooping configuration support for linux targets
l2 snooping mode implements on the linux kernel multicast bridge level.
If snooping mode is enabled, mcastmngr configure kernel multicast bridge
with the appropriate uci mcast params.
2023-10-26 05:17:14 +00:00
Vivek Kumar Dutta
6f24ad440c sulu: 3.1.20 2023-10-26 08:41:59 +05:30
Yalu Zhang
640d24ea66 libvoice-airoha_1.0.8: Support type II caller ID presentation 2023-10-25 15:54:16 +02:00
Mikhail Kshevetskiy
60b06dd739 libwifi: fix mediatek module building with gcc-10 2023-10-25 13:57:05 +03:00
Vivek Kumar Dutta
501966b150 tr104: micro-service support 2023-10-24 17:07:36 +00:00
Amin Ben Romdhane
32e6e38103 bbfdm: 1.4.2 2023-10-24 17:28:00 +02:00
Lukasz Kotasa
adce72980b voicemngr: 1.0.12, dectmngr: 3.5.19
dectmngr can now tell if FLASH should be simulated
or not in the explicit way.
2023-10-24 11:03:47 +02:00
Yalu Zhang
695351633d libvoice-broadcom: Support type II caller ID presentation 2023-10-20 17:27:10 +02:00
Mikhail Kshevetskiy
a2b4aedce5 libwifi: fix building with 64-bit airoha board 2023-10-20 13:27:11 +03:00
Vivek Kumar Dutta
37dd1361b0 hostmngr: 1.0.7 2023-10-19 20:59:12 +05:30
Andreas Gnau
68042169ff voicemngr: Update LD_LIBRARY_PATH for BCM
Update the LD_LIBRARY_PATH after all BCM libraries have moved to a
separate sub-directory.

In the future, we should probably set the RUNPATH accordingly already at
build time.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2023-10-19 14:54:27 +02:00
Vivek Kumar Dutta
f110bdbe68 sulu: 3.1.19 2023-10-19 18:21:12 +05:30
Rahul Thakur
923e714017 libqos: fix stats for linux 2023-10-19 18:20:31 +05:30
subramanianc
81dd8f8afa qosmngr: Fix port shaping for qcm 2023-10-19 12:32:09 +00:00
Vivek Kumar Dutta
73d855e682 obuspa: 7.0.4.11 2023-10-19 17:54:59 +05:30
Vivek Kumar Dutta
a5606ed518 hostmngr: 1.0.6 2023-10-19 17:10:41 +05:30
Vivek Kumar Dutta
ca2a495790 sulu: 3.1.18 2023-10-19 16:57:16 +05:30
Elena Vengerova
695b7374bc libwifi: 7.4.6 2023-10-19 13:24:11 +03:00
Grzegorz Sluja
f9df86feec dectmngr-3.5.18
8aa0a3f Show contact's name on DECT handset for incoming call
3fe7209 Force outgoing calls to use WB when remote answered
2023-10-19 08:53:28 +02:00
Jani Juvan
8686249557 iop: feeds_update: let qualcomm feed override openwrt packages 2023-10-18 18:06:39 +02:00
Piotr Kubik
a8d529f9ea iop: genconfig: Rename armvirt to armsr
With openwrt 23.05 uplift armvirt target was renamed to armsr.
2023-10-18 18:06:39 +02:00
Vivek Kumar Dutta
4715de6308 sulu: 3.1.17 2023-10-18 16:40:46 +05:30
Amit Kumar
b41ec4ff65 hostmngr: handled host access control timing 2023-10-18 13:39:56 +05:30
Vivek Kumar Dutta
b3de88d2c4 obuspa: 7.0.4.10 2023-10-18 13:35:49 +05:30
Padmalochan Mohapatra
063314c91d qosmngr : Incorporating all interfaces option in classify 2023-10-18 06:38:00 +00:00
Vivek Kumar Dutta
e72b600326 xmppc: fix inform event 2023-10-18 08:39:01 +05:30
Vivek Kumar Dutta
594b13f5f9 bbfdm: link plugins from old path 2023-10-18 02:56:03 +00:00
Vivek Kumar Dutta
fdb1dbbba0 xmppc: Align with bbfdm plugins 2023-10-18 02:56:03 +00:00
Vivek Kumar Dutta
d89055f64b usermngr: Align with bbfdm plugins 2023-10-18 02:56:03 +00:00
Vivek Kumar Dutta
13ffeac51b udpecho: Align with bbfdm plugins 2023-10-18 02:56:03 +00:00
Vivek Kumar Dutta
d94c6e9995 twamp: Align with bbfdm plugins 2023-10-18 02:56:03 +00:00
Vivek Kumar Dutta
639694c0fb swmodd: Align with bbfdm plugins 2023-10-18 02:56:03 +00:00
Vivek Kumar Dutta
6f629b7393 stunc: Align with bbfdm plugins 2023-10-18 02:56:03 +00:00
Vivek Kumar Dutta
d4af4ca030 ponmngr: Align with bbfdm plugins 2023-10-18 02:56:03 +00:00
Vivek Kumar Dutta
237cead03b obuspc: 1.0.1.6 2023-10-18 02:56:03 +00:00
Vivek Kumar Dutta
d440af07b1 obuspa: Align with bbfdm plugins 2023-10-18 02:56:03 +00:00
Vivek Kumar Dutta
a09346bfc0 icwmp: Align with bbfdm plugins 2023-10-18 02:56:03 +00:00
Vivek Kumar Dutta
c9f90a6cf5 bbfdm: 1.4.0
- Load plugins from micro-services
- Unified path for core datamodel plugins(JSON and DotSO)
- Helper function to install plugin in core
- Manage plugins based on input.json
- Removed CONFIG_BBFDM_ENABLE_JSON_PLUGIN
- Removed CONFIG_BBFDM_ENABLE_DOTSO_PLUGIN
2023-10-18 02:56:03 +00:00
Anjan Chanda
e0d07b5205 hostmngr: 1.0.5 2023-10-17 14:19:58 +02:00
Anjan Chanda
1c035c5523 decollector: 4.2.0.1 2023-10-17 10:38:40 +02:00
Jakob Olsson
38e49fc09f map-controller: 4.3.3.1 2023-10-17 09:48:34 +02:00
Jakob Olsson
1ff2a366fa map-agent: 4.3.7.2 2023-10-17 09:48:17 +02:00
Jakob Olsson
263b785fcb ieee1905: 8.2.22 2023-10-17 09:40:03 +02:00
Vivek Kumar Dutta
c1475dd5f1 sulu: 3.1.16 2023-10-17 11:35:18 +05:30
Amin Ben Romdhane
3411ece8a8 icwmp: 9.5.12 2023-10-16 19:03:55 +02:00
Amin Ben Romdhane
5912c00a4b bbfdm: 1.3.39 2023-10-16 19:02:49 +02:00
Amin Ben Romdhane
e39acfeeae bbfdm: 1.3.38 2023-10-13 16:18:41 +02:00
Vivek Kumar Dutta
b0ddc52e97 obsupa: register TransferComplete event 2023-10-13 19:19:10 +05:30
Suvendhu Hansa
b7ea6fdfcf bbfdmd: added support of Device.Firewall.Service. 2023-10-13 13:02:44 +00:00
Vivek Kumar Dutta
28fdf33411 obuspa: 7.0.4.7 2023-10-13 16:10:28 +05:30
Janusz Dziedzic
96b753c367 libwifi: 7.4.5 2023-10-13 07:41:24 +00:00
Grzegorz Sluja
e34ed69b9b dectmngr-3.5.17
Update documentation after phonebook modifications
2023-10-13 07:47:41 +02:00
Amin Ben Romdhane
d75d44795c bbfdm: 1.3.36 2023-10-12 18:04:22 +02:00
Yalu Zhang
97ce9d60e0 libvoice-d2_1.0.15: Support type II caller ID presentation 2023-10-11 16:51:15 +02:00
Janusz Dziedzic
391dbe06cc libwifi: 7.4.4 2023-10-11 14:32:33 +00:00
Vivek Kumar Dutta
81ae6221ac sulu: 3.1.15 2023-10-11 19:12:46 +05:30
Vivek Kumar Dutta
a96302230c obuspa: Use vendor extension prefix 2023-10-11 18:48:59 +05:30
Vivek Kumar Dutta
a5b5b160e2 sulu: 3.1.14 2023-10-11 10:15:44 +05:30
Andreas Gnau
21d327d4fe iop: config: Remove nping
Nping is only used as a convenience util. Due to restrictions imposed by
nmap's license (NPSL 0.95) distributing it in official images becomes
questionable. Remove it. Users can still enable it, if needed.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2023-10-10 12:01:26 +00:00
Vivek Kumar Dutta
2241f360b4 icwmp: Allow empty set from cli 2023-10-10 11:59:07 +05:30
Vivek Kumar Dutta
3d951f5453 sulu: 3.1.13 2023-10-10 10:14:36 +05:30
Janusz Dziedzic
9db96d7296 wifimngr: 16.1.4 2023-10-09 08:56:29 +00:00
Vivek Kumar Dutta
7a8b81f261 sulu: 3.1.12 2023-10-07 13:09:34 +05:30
Amin Ben Romdhane
edd2f92dae bbfdm: 1.3.35 2023-10-06 15:59:04 +02:00
Vivek Kumar Dutta
f9fbb07f0a bbfdm: 1.3.34 2023-10-06 12:02:06 +05:30
Yalu Zhang
29418e36d8 dectmngr-3.5.16: Modifications for phone book operations 2023-10-05 15:07:10 +02:00
Vivek Kumar Dutta
2420391455 obuspa: updated user role for events 2023-10-05 17:39:16 +05:30
Vivek Kumar Dutta
5221858e30 sulu: 3.1.11 2023-10-05 17:36:33 +05:30
Janusz Dziedzic
1a40a6e747 wifimngr: 16.1.3 2023-10-05 11:22:52 +00:00
Amin Ben Romdhane
85715416a5 bbfdm: 1.3.33 2023-10-05 12:43:39 +02:00
Jakob Olsson
2133c53a5c ieee1905: 8.2.21 2023-10-05 12:29:57 +02:00
Jakob Olsson
f2a5d2987d map-agent: 4.3.7.1 2023-10-05 12:13:21 +02:00
Amin Ben Romdhane
cef675a672 bbfdm: 1.3.32 2023-10-04 17:49:45 +02:00
Amin Ben Romdhane
78cf48518c usermngr: 1.2.3 2023-10-04 17:41:08 +02:00
Amin Ben Romdhane
10d36df0b6 swmodd: 2.4.1 2023-10-04 17:39:57 +02:00
Amin Ben Romdhane
b2e5e5ee8d timemngr: 1.0.6 2023-10-04 17:39:06 +02:00
Amin Ben Romdhane
14cb91a952 hostmngr: 1.0.4 2023-10-04 17:38:01 +02:00
Amin Ben Romdhane
aba3bcbe99 periodicstats: 1.5.3 2023-10-04 17:36:23 +02:00
Amin Ben Romdhane
95691b3de6 icwmp: 9.5.10 2023-10-04 17:34:49 +02:00
Vivek Kumar Dutta
c6abc34868 sulu: 3.1.10 2023-10-04 19:11:23 +05:30
Vivek Kumar Dutta
e9e50f7402 sulu: 3.1.9 2023-10-04 16:54:34 +05:30
Yalu Zhang
ec66d57a7a libvocie-d2_1.0.14: Store FXS hook status each time when on-hook or off-hook event is received 2023-10-04 11:02:19 +02:00
Vivek Kumar Dutta
8eb1f7b729 sulu: 3.1.8 2023-10-04 08:58:08 +05:30
Wenpeng Song
4d1fe3c052 voicemngr: 1.0.11 ,dectmngr:3.5.15
voicemngr: Add congestion tone play from DECT  
dectmngr: Add busy tone playing via ubus call
2023-10-03 15:53:06 +00:00
suvendhu
93a42e1cb9 icwmpd: Optimised icwmpd startup 2023-10-03 12:43:15 +00:00
Vivek Kumar Dutta
93cffa2d20 usp-js: 1.2.3 2023-10-03 18:12:33 +05:30
Vivek Kumar Dutta
14a32ff704 timemngr: Fix ubus cleanup 2023-10-03 12:29:54 +05:30
Amin Ben Romdhane
1d1318dad2 bbfdm: 1.3.31 2023-10-02 17:30:55 +02:00
Yalu Zhang
cacf1e9610 libvocie-d2_1.0.13: Fix a regression that causes caller ID not being displayed 2023-10-02 16:46:55 +02:00
Vivek Kumar Dutta
cd80edc69d timemngr: 1.0.4 2023-10-02 14:32:34 +05:30
Jakob Olsson
778bd98197 ieee1905: 8.2.20 2023-10-02 08:41:09 +02:00
Jakob Olsson
2c0e2a559f decollector: 4.1.0.5 2023-10-02 08:39:55 +02:00
Amit Kumar
f76e8eb150 hostmngr: access schedule stop time calculation
stop time calculation has been corrected now to add duration
to utc converted start time.
2023-09-29 08:04:57 +00:00
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
105 changed files with 1875 additions and 1075 deletions

View File

@@ -18,14 +18,6 @@ config BBF_TR471
bool "Enable TR-471 Data Model Support"
default y
config BBFDM_ENABLE_JSON_PLUGIN
bool "Enable json plugin to extend datamodel"
default y
config BBFDM_ENABLE_DOTSO_PLUGIN
bool "Enable shared library plugin to extend datamodel"
default y
config BBF_MAX_OBJECT_INSTANCES
int "Maximum number of instances per object"
default 255

View File

@@ -5,13 +5,16 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=bbfdm
PKG_VERSION:=1.3.11
PKG_VERSION:=1.4.4
USE_LOCAL:=0
ifneq ($(USE_LOCAL),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/bbfdm.git
PKG_SOURCE_VERSION:=35f7a1778a635bfabf7ffd6c4f5cf76893f52559
PKG_SOURCE_VERSION:=3c0f416653781f04e2b73e7da6ccaddf6ab691de
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
@@ -102,10 +105,9 @@ define Package/libbbfdm/description
Library contains the data model tree. It includes TR181, TR143 data models
endef
USE_LOCAL=$(shell ls ./src/ 2>/dev/null >/dev/null && echo 1)
ifneq ($(USE_LOCAL),)
ifeq ($(USE_LOCAL),1)
define Build/Prepare
$(CP) ./src/* $(PKG_BUILD_DIR)/
$(CP) ~/git/bbfdm/* $(PKG_BUILD_DIR)/
endef
endif
@@ -130,20 +132,11 @@ CMAKE_OPTIONS += \
CMAKE_OPTIONS += \
-DBBF_VENDOR_LIST:String="$(CONFIG_BBF_VENDOR_LIST)" \
-DBBF_VENDOR_PREFIX:String="$(CONFIG_BBF_VENDOR_PREFIX)" \
-DDAEMON_JSON_INPUT:String="/etc/bbfdm/input.json" \
-DBBF_MAX_OBJECT_INSTANCES:Integer=$(CONFIG_BBF_MAX_OBJECT_INSTANCES)
endif ##CONFIG_BBF_VENDOR_EXTENSION
ifeq ($(CONFIG_BBFDM_ENABLE_JSON_PLUGIN),y)
CMAKE_OPTIONS += \
-DBBF_JSON_PLUGIN=ON
endif
ifeq ($(CONFIG_BBFDM_ENABLE_DOTSO_PLUGIN),y)
CMAKE_OPTIONS += \
-DBBF_DOTSO_PLUGIN=ON
endif
ifeq ($(BUILD_VARIANT),default)
CMAKE_OPTIONS += -DWITH_OPENSSL=ON
endif
@@ -174,21 +167,21 @@ define Package/libbbfdm/default/install
$(INSTALL_DIR) $(1)/lib
$(INSTALL_DIR) $(1)/etc/bbfdm
$(INSTALL_DIR) $(1)/etc/bbfdm/dmmap
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_DIR) $(1)/lib/upgrade/keep.d
$(CP) $(PKG_BUILD_DIR)/libbbfdm/libbbfdm.so $(1)/lib/
$(INSTALL_DATA) ./files/lib/upgrade/keep.d/bbf $(1)/lib/upgrade/keep.d/bbf
$(INSTALL_BIN) ./files/etc/uci-defaults/95-portmap-firewall $(1)/etc/uci-defaults/95-portmap-firewall
$(INSTALL_BIN) ./files/etc/uci-defaults/97-firewall-service $(1)/etc/uci-defaults/97-firewall-service
$(INSTALL_BIN) ./files/etc/uci-defaults/99-link-core-plugins $(1)/etc/uci-defaults/99-link-core-plugins
$(INSTALL_BIN) ./files/etc/firewall.portmap $(1)/etc/firewall.portmap
$(INSTALL_BIN) ./files/etc/firewall.service $(1)/etc/firewall.service
ifeq ($(CONFIG_BBF_TR143),y)
$(INSTALL_DIR) $(1)/usr/share/bbfdm
$(INSTALL_DIR) $(1)/usr/libexec/rpcd
$(INSTALL_BIN) $(PKG_BUILD_DIR)/libbbfdm/scripts/* $(1)/usr/share/bbfdm
$(LN) /usr/share/bbfdm/bbf.diag $(1)/usr/libexec/rpcd/bbf.diag
endif
ifeq ($(CONFIG_BBFDM_ENABLE_JSON_PLUGIN),y)
$(INSTALL_DIR) $(1)/etc/bbfdm/json
endif
ifeq ($(CONFIG_BBFDM_ENABLE_DOTSO_PLUGIN),y)
$(INSTALL_DIR) $(1)/usr/lib/bbfdm
endif
endef
define Package/libbbfdm/default/prerm
@@ -203,12 +196,12 @@ define Package/bbfdmd/install
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DIR) $(1)/etc/bbfdm
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) ./files/etc/init.d/bbfdmd $(1)/etc/init.d/bbfdmd
$(INSTALL_BIN) ./files/etc/hotplug.d/iface/85-bbfdm-sysctl $(1)/etc/hotplug.d/iface/85-bbfdm-sysctl
$(INSTALL_CONF) ./files/etc/config/bbfdm $(1)/etc/config/bbfdm
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bbfdmd/ubus/bbfdmd $(1)/usr/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/json/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
endef
define Package/userinterface/install
@@ -221,9 +214,7 @@ define Package/userinterface/install
$(INSTALL_BIN) ./files/etc/init.d/userinterface $(1)/etc/init.d/userinterface
$(INSTALL_BIN) ./files/etc/uci-defaults/93-userinterface-firewall $(1)/etc/uci-defaults/93-userinterface-firewall
$(INSTALL_BIN) ./files/etc/uci-defaults/94-userinterface-json $(1)/etc/uci-defaults/94-userinterface-json
$(INSTALL_BIN) ./files/etc/uci-defaults/95-portmap-firewall $(1)/etc/uci-defaults/95-portmap-firewall
$(INSTALL_BIN) ./files/etc/firewall.userinterface $(1)/etc/firewall.userinterface
$(INSTALL_BIN) ./files/etc/firewall.portmap $(1)/etc/firewall.portmap
endef
Package/libbbfdm/prerm = $(Package/libbbfdm/default/prerm)

9
bbfdm/bbfdm.mk Normal file
View File

@@ -0,0 +1,9 @@
#
# Copyright (C) 2023 IOPSYS
#
define BbfdmInstallPlugin
$(INSTALL_DIR) $(1)/etc/bbfdm/plugins
$(INSTALL_DATA) $(2) $(1)/etc/bbfdm/plugins/
endef

View File

@@ -13,5 +13,5 @@ bbfdm_add_service()
return 0;
fi
ubus call service add "{'name':'bbfdm.services','instances':{'$name':{'command':['$BBFDMD','-m','$path'], 'respawn': [0]}}}"
ubus call service add "{'name':'bbfdm.services','instances':{'$name':{'command':['$BBFDMD','-m','$path']}}}"
}

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'

163
bbfdm/files/etc/firewall.service Executable file
View File

@@ -0,0 +1,163 @@
#!/bin/sh
. /lib/functions.sh
log() {
echo "${@}"|logger -t firewall.service -p info
}
exec_cmd() {
if ! eval "$*"; then
log "Failed to run [$*]"
echo "-1"
return 0
fi
echo "0"
return 0
}
add_iptable_rule() {
chain_name=$1
protocol=$2
dest_port=$3
icmp_type=$4
family=$5
src_prefix=$6
action=$7
res=-1
cmd="-I ${chain_name}"
if [ -n "${protocol}" ]; then
cmd="${cmd} -p $protocol"
if [ "${protocol}" -eq 41 ] || [ "${protocol}" -eq 43 ] || [ "${protocol}" -eq 44 ] ||
[ "${protocol}" -eq 58 ] || [ "${protocol}" -eq 59 ] || [ "${protocol}" -eq 60 ]; then
# Explicit v6 protocols
if [ "${family}" = "ipv4" ]; then
echo $res
return 0
else
family="ipv6"
fi
elif [ "${protocol}" -eq 1 ]; then
# Explicit v4 protocols
if [ "${family}" = "ipv6" ]; then
echo $res
return 0
else
family="ipv4"
fi
fi
# Limitation:: iptables do not accept dport without specific protocol
count=$(echo "${dest_port}" | sed -n "/-1/p" | wc -l)
if [ "${count}" -eq 0 ]; then
# dest_port not contains -1 so need to have this match criteria
count=$(echo "${dest_port}" | wc -w)
if [ "${count}" -gt 1 ]; then
# multiple ports present
port=$(echo "${dest_port}" | sed "s/ /,/g")
cmd="${cmd} -m multiport --dports ${port}"
else
cmd="${cmd} --dport ${dest_port}"
fi
fi
fi
if [ "${family}" = "ipv4" ] || [ "${family}" = "-1" ]; then
if [ "${protocol}" -eq 1 ] && [ "${icmp_type}" -ge 0 ]; then
cmd="${cmd} --icmp-type ${icmp_type}"
fi
if [ -z "${src_prefix}" ]; then
res=$(exec_cmd "iptables ${cmd} -m comment --comment IPtables_service_rule -j ${action}")
else
#Add ipv4 sources if any
src_list=""
for src in $src_prefix; do
ret=$(echo $src | grep ":" | wc -l)
if [ "${ret}" -eq 0 ]; then
src_list="$src,$src_list"
fi
done
if [ -n "$src_list" ]; then
src_list=$(echo "${src_list}" | sed "s/,$//")
res=$(exec_cmd "iptables -s $src_list ${cmd} -m comment --comment IPtables_service_rule -j ${action}")
fi
fi
fi
if [ "${family}" = "ipv6" ] || [ "${family}" = "-1" ]; then
if [ "${protocol}" -eq 58 ] && [ "${icmp_type}" -ge 0 ]; then
cmd="${cmd} --icmpv6-type ${icmp_type}"
fi
if [ -z "${src_prefix}" ]; then
res=$(exec_cmd "ip6tables ${cmd} -m comment --comment IP6tables_service_rule -j ${action}")
else
#Add ipv6 sources if any
src_list=""
for src in $src_prefix; do
ret=$(echo $src | grep ":" | wc -l)
if [ "${ret}" -eq 1 ]; then
src_list="$src,$src_list"
fi
done
if [ -n "$src_list" ]; then
src_list=$(echo "${src_list}" | sed "s/,$//")
res=$(exec_cmd "ip6tables -s $src_list ${cmd} -m comment --comment IP6tables_service_rule -j ${action}")
fi
fi
fi
echo $res
}
add_service() {
local enable proto family dest_port interface target icmp_type
config_get enable "$1" enable "0"
config_get icmp_type "$1" icmp_type "-1"
config_get target "$1" target "Accept"
config_get interface "$1" interface ""
config_get family "$1" family "-1"
config_get dest_port "$1" dest_port "-1"
config_get proto "$1" proto "-1"
config_get src_prefix "$1" src_prefix ""
if [ "${enable}" -eq 0 ] || [ -z "${interface}" ]; then
return 0
fi
action=$(echo "${target}" | tr a-z A-Z)
chain_name="zone_${interface}_input"
res=0
count=$(echo "${proto}" | sed -n "/-1/p" | wc -l)
if [ "${count}" -eq 0 ]; then
# proto not contains -1 so need to have this match criteria
for protocol in $proto; do
res=$(add_iptable_rule "$chain_name" "$protocol" "$dest_port" "$icmp_type" "$family" "$src_prefix" "$action")
done
else
# proto contains -1 so no need to have this match criteria
res=$(add_iptable_rule "$chain_name" "" "$dest_port" "$icmp_type" "$family" "$src_prefix" "$action")
fi
if [ "${res}" -ne 0 ]; then
uci -q set firewall."${1}".status="Error"
else
uci -q set firewall."${1}".status=""
fi
uci commit firewall
}
config_load firewall
config_foreach add_service "service"

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

@@ -0,0 +1,12 @@
#!/bin/sh
uci -q batch <<-EOT
delete firewall.service_hook
set firewall.service_hook=include
set firewall.service_hook.path=/etc/firewall.service
set firewall.service_hook.reload=1
commit firewall
EOT
exit 0

View File

@@ -0,0 +1,18 @@
#!/bin/sh
UNIFIED_PATH="/etc/bbfdm/plugins/"
# Link JSON plugins
for f in `ls -1 /etc/bbfdm/json/*.json`; do
echo "# BBFDM JSON plugin ${f} not aligned #"
ln -s ${f} "${UNIFIED_PATH}"
done
# Link DotSo plugins
for f in `ls -1 /usr/lib/bbfdm/*.so`; do
echo "# BBFDM DotSO plugin ${f} not aligned #"
ln -s ${f} "${UNIFIED_PATH}"
done
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.3
PKG_VERSION:=4.2.0.1
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=5d05bc25fb32e2680f99543a713d5cbf8cac6300
PKG_SOURCE_VERSION:=3e54fa519defa462d08d4107c115905abb929c1a
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

@@ -7,7 +7,7 @@ USE_PROCD=1
PROG=/usr/sbin/decollector
service_running() {
ubus -t 2 wait_for ieee1905 ieee1905.map topology
ubus -t 2 wait_for ieee1905 ieee1905.map
}
start_service() {

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.19
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:=1fd0b11ad34f8f59b40c3a12e0cc07aa212eb87b
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.21.0
PKG_VERSION:=1.0.7
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=0414573a693b4b25d0430c566ea8c3b08b4e9ce3
PKG_SOURCE_VERSION:=975549e01df338a90e1d1a356d22a2c7f5bf2387
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,11 @@ 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/
$(INSTALL_DATA) ./files/lib/hosts/hosts_acl.sh $(1)/lib/hosts/
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

@@ -1,114 +1,7 @@
#!/bin/sh
. /lib/functions.sh
day=""
IP_RULE=""
process_ac_schedule() {
local acs_id="$1"
local is_enabled
local access_control
local start_time=""
local stop_time=""
local mac=""
handle_day_list() {
local value=$1
val=$(echo $value | cut -c 1-3)
if [ -z $day ]; then
day="$val"
else
day="$day,$val"
fi
}
config_list_foreach "$acs_id" "day" handle_day_list
config_get is_enabled "$acs_id" "enable" 1
config_get access_control "$acs_id" "dm_parent"
if [ "$is_enabled" == "0" ] || [ -z "$access_control" ]; then
return
fi
IP_RULE=""
mac=$(uci -q get hosts.$access_control.macaddr)
access_policy=$(uci -q get hosts.$access_control.access_policy)
config_get start_time "$acs_id" "start_time"
config_get duration "$acs_id" "duration"
if [ -z "$mac" ] && [ -z "$start_time" ] && [ -z "$duration" ] && [ -z "$day" ] && [ -z "$access_policy" ]; then
return
fi
if [ -n "$mac" ]; then
IP_RULE="$IP_RULE -m mac --mac-source $mac"
fi
# as per iptables manual default starttime is 00:00
# default stoptime is 23:59
if [ -z "$start_time" ]; then
start_time="0:0"
fi
if [ -n "$duration" ]; then
hh=$(echo $start_time | awk -F: '{ print $1 }')
mm=$(echo $start_time | awk -F: '{ print $2 }')
hh_s=`expr $hh \* 3600`
mm_s=`expr $mm \* 60`
ss=$(( hh_s + mm_s ))
stop_ss=$(( ss + duration ))
hh=$(( stop_ss / 3600 ))
if [ $hh -lt 24 ]; then
rem_ss=$(( stop_ss % 3600 ))
mm=$(( rem_ss / 60 ))
ss=$(( rem_ss % 60 ))
stop_time="$hh:$mm:$ss"
else
stop_time="23:59"
fi
else
stop_time="23:59"
fi
# conversion to utc
zone=$(date +%z | cut -c 1)
utc_h=$(date -u -d @$(date "+%s" -d "$start_time") +%H)
local_h=$(echo $start_time | awk -F: '{ print $1 }')
if [ "$zone" == "+" ] && [ $utc_h -gt $local_h ]; then
start_utc="0:0"
else
start_utc=$(date -u -d @$(date "+%s" -d "$start_time") +%H:%M)
fi
utc_h=$(date -u -d @$(date "+%s" -d "$stop_time") +%H)
local_h=$(echo $stop_time | awk -F: '{ print $1 }')
if [ "$zone" == "-" ] && [ $utc_h -lt $local_h ]; then
stop_utc="23:59"
else
stop_utc=$(date -u -d @$(date "+%s" -d "$stop_time") +%H:%M)
fi
IP_RULE="$IP_RULE -m time --timestart $start_utc --timestop $stop_utc"
if [ -n "$day" ]; then
IP_RULE="$IP_RULE --weekdays $day"
fi
if [ "$access_policy" == "Deny" ]; then
IP_RULE="$IP_RULE -j DROP"
else
IP_RULE="$IP_RULE -j ACCEPT"
fi
iptables -w -A hosts_forward ${IP_RULE}
ip6tables -w -A hosts_forward ${IP_RULE}
day=""
}
. /lib/hosts/hosts_acl.sh
iptables -w -F hosts_forward
ip6tables -w -F hosts_forward

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,24 @@
START=97
STOP=20
. /etc/bbfdm/bbfdm_services.sh
. /lib/hosts/hosts_acl.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}"
hosts_acl
}
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

@@ -0,0 +1,230 @@
#!/bin/sh
. /lib/functions.sh
day=""
next_days=""
prev_days=""
IP_RULE=""
IP_RULE1=""
get_next_day() {
local weekday="$1"
case "$weekday" in
"Mon"|"Monday") echo "Tuesday"
;;
"Tue"|"Tuesday") echo "Wednesday"
;;
"Wed"|"Wednesday") echo "Thursday"
;;
"Thu"|"Thursday") echo "Friday"
;;
"Fri"|"Friday") echo "Saturday"
;;
"Sat"|"Saturday") echo "Sunday"
;;
"Sun"|"Sunday") echo "Monday"
;;
esac
}
get_previous_day() {
local weekday="$1"
case "$weekday" in
"Mon"|"Monday") echo "Sunday"
;;
"Tue"|"Tuesday") echo "Monday"
;;
"Wed"|"Wednesday") echo "Tuesday"
;;
"Thu"|"Thursday") echo "Wednesday"
;;
"Fri"|"Friday") echo "Thursday"
;;
"Sat"|"Saturday") echo "Friday"
;;
"Sun"|"Sunday") echo "Saturday"
;;
esac
}
ip_rule_west_zone() {
local utc_start_t_h="$1"
local utc_stop_t_h="$2"
local local_start_t_h="$3"
local local_stop_t_h="$4"
local utc_start_time="$5"
local utc_stop_time="$6"
if [ "$utc_start_t_h" -lt "$local_start_t_h" ]; then
IP_RULE="$IP_RULE -m time --timestart $utc_start_time --timestop $utc_stop_time"
if [ -n "$next_days" ]; then
IP_RULE="$IP_RULE --weekdays $next_days"
fi
else
if [ "$utc_stop_t_h" -lt "$local_stop_t_h" ]; then
IP_RULE1="$IP_RULE"
IP_RULE="$IP_RULE -m time --timestart $utc_start_time --timestop 23:59"
IP_RULE1="$IP_RULE1 -m time --timestart 00:00 --timestop $utc_stop_time"
if [ -n "$next_days" ]; then
IP_RULE1="$IP_RULE1 --weekdays $next_days"
fi
else
IP_RULE="$IP_RULE -m time --timestart $utc_start_time --timestop $utc_stop_time"
fi
if [ -n "$day" ]; then
IP_RULE="$IP_RULE --weekdays $day"
fi
fi
}
ip_rule_east_zone() {
local utc_start_t_h="$1"
local utc_stop_t_h="$2"
local local_start_t_h="$3"
local local_stop_t_h="$4"
local utc_start_time="$5"
local utc_stop_time="$6"
if [ "$utc_start_t_h" -lt "$local_start_t_h" ]; then
IP_RULE="$IP_RULE -m time --timestart $utc_start_time --timestop $utc_stop_time"
if [ -n "$day" ]; then
IP_RULE="$IP_RULE --weekdays $day"
fi
else
if [ "$utc_stop_t_h" -lt "$local_stop_t_h" ]; then
IP_RULE1="$IP_RULE"
IP_RULE="$IP_RULE -m time --timestart 00:00 --timestop $utc_stop_time"
IP_RULE1="$IP_RULE1 -m time --timestart $utc_start_time --timestop 23:59"
if [ -n "$prev_days" ]; then
IP_RULE1="$IP_RULE1 --weekdays $prev_days"
fi
else
IP_RULE="$IP_RULE -m time --timestart $utc_start_time --timestop $utc_stop_time"
fi
if [ -n "$day" ]; then
IP_RULE="$IP_RULE --weekdays $day"
fi
fi
}
process_ac_schedule() {
local acs_id="$1"
local is_enabled
local access_control
local start_time=""
local mac=""
handle_day_list() {
local value=$1
val=$(echo $value | cut -c 1-3)
next_day_val=$(get_next_day $val)
prev_day_val=$(get_previous_day $val)
if [ -z $day ]; then
day="$val"
next_days="$next_day_val"
prev_days="$prev_day_val"
else
day="$day,$val"
next_days="$next_days,$next_day_val"
prev_days="$prev_days,$prev_day_val"
fi
}
config_list_foreach "$acs_id" "day" handle_day_list
config_get is_enabled "$acs_id" "enable" 1
config_get access_control "$acs_id" "dm_parent"
if [ "$is_enabled" == "0" ] || [ -z "$access_control" ]; then
return
fi
IP_RULE=""
IP_RULE1=""
mac=$(uci -q get hosts.$access_control.macaddr)
access_policy=$(uci -q get hosts.$access_control.access_policy)
config_get start_time "$acs_id" "start_time"
config_get duration "$acs_id" "duration"
if [ -z "$mac" ] && [ -z "$start_time" ] && [ -z "$duration" ] && [ -z "$day" ] && [ -z "$access_policy" ]; then
return
fi
if [ -n "$mac" ]; then
IP_RULE="$IP_RULE -m mac --mac-source $mac"
fi
zone=$(date +%z | cut -c 1)
local_start_time=$start_time
if [ -n "$duration" ]; then
hh=$(echo $local_start_time | awk -F: '{ print $1 }')
mm=$(echo $local_start_time | awk -F: '{ print $2 }')
hh_s=`expr $hh \* 3600`
mm_s=`expr $mm \* 60`
ss=$(( hh_s + mm_s ))
local_start_hh=$hh
stop_ss=$(( ss + duration ))
hh=$(( stop_ss / 3600 ))
rem_ss=$(( stop_ss % 3600 ))
mm=$(( rem_ss / 60 ))
ss=$(( rem_ss % 60 ))
local_stop_time="$hh:$mm:$ss"
local_stop_hh=$hh
fi
utc_start_time=$(date -u -d @$(date "+%s" -d "$local_start_time") +%H:%M)
utc_stop_time=$(date -u -d @$(date "+%s" -d "$local_stop_time") +%H:%M)
utc_start_hh=$(echo $utc_start_time | awk -F: '{ print $1 }')
utc_stop_hh=$(echo $utc_stop_time | awk -F: '{ print $1 }')
if [ "$zone" == "-" ]; then
ip_rule_west_zone $utc_start_hh $utc_stop_hh $local_start_hh $local_stop_hh $utc_start_time $utc_stop_time
else
ip_rule_east_zone $utc_start_hh $utc_stop_hh $local_start_hh $local_stop_hh $utc_start_time $utc_stop_time
fi
if [ "$access_policy" == "Deny" ]; then
IP_RULE="$IP_RULE -j DROP"
if [ -n "$IP_RULE1" ]; then
IP_RULE1="$IP_RULE1 -j DROP"
fi
else
IP_RULE="$IP_RULE -j ACCEPT"
if [ -n "$IP_RULE1" ]; then
IP_RULE1="$IP_RULE1 -j ACCEPT"
fi
fi
iptables -w -A hosts_forward ${IP_RULE}
ip6tables -w -A hosts_forward ${IP_RULE}
if [ -n "$IP_RULE1" ]; then
iptables -w -A hosts_forward ${IP_RULE1}
ip6tables -w -A hosts_forward ${IP_RULE1}
fi
day=""
next_days=""
prev_days=""
}
hosts_acl() {
iptables -w -F hosts_forward
ip6tables -w -F hosts_forward
hosts_forward=$(iptables -t filter --list | grep hosts_forward)
if [ -z "$hosts_forward" ]; then
iptables -w -t filter -N hosts_forward
ret=$?
[ $ret -eq 0 ] && iptables -w -t filter -I FORWARD -j hosts_forward
ip6tables -w -t filter -N hosts_forward
ret=$?
[ $ret -eq 0 ] && ip6tables -w -t filter -I FORWARD -j hosts_forward
fi
# Load /etc/config/hosts UCI file
config_load hosts
config_foreach process_ac_schedule ac_schedule
}

View File

@@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=icwmp
PKG_VERSION:=9.5.1
PKG_VERSION:=9.5.13
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/icwmp.git
PKG_SOURCE_VERSION:=8167cfa5a0ce77f467ad173e44d0012a6cb9b3e3
PKG_SOURCE_VERSION:=ade480d2b090e3fba952605596c9e9276e4cbd02
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
@@ -23,6 +23,7 @@ PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
include ../bbfdm/bbfdm.mk
define Package/icwmp/default
SECTION:=utils
@@ -93,10 +94,7 @@ define Package/icwmp/default/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_DIR) $(1)/lib/upgrade/keep.d
$(INSTALL_DIR) $(1)/etc/bbfdm/json/
$(INSTALL_DIR) $(1)/etc/udhcpc.user.d
$(INSTALL_DIR) $(1)/usr/lib/bbfdm
$(INSTALL_BIN) $(PKG_BUILD_DIR)/libcwmpdm.so $(1)/usr/lib/bbfdm/libcwmpdm.so
$(INSTALL_BIN) $(PKG_BUILD_DIR)/icwmpd $(1)/usr/sbin/icwmpd
$(INSTALL_DATA) ./files/etc/config/cwmp $(1)/etc/config/cwmp
$(INSTALL_BIN) ./files/etc/firewall.cwmp $(1)/etc/firewall.cwmp
@@ -104,10 +102,10 @@ define Package/icwmp/default/install
$(INSTALL_BIN) ./files/etc/uci-defaults/85-cwmp-set-userid $(1)/etc/uci-defaults/
$(INSTALL_BIN) ./files/etc/uci-defaults/90-cwmpfirewall $(1)/etc/uci-defaults/
$(INSTALL_DATA) ./files/lib/upgrade/keep.d/icwmp $(1)/lib/upgrade/keep.d/icwmp
$(INSTALL_BIN) ./files/etc/icwmpd/update.sh $(1)/etc/icwmpd/update.sh
$(INSTALL_DATA) ./files/etc/bbfdm/json/CWMPManagementServer.json $(1)/etc/bbfdm/json/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/etc/udhcpc.user.d/udhcpc_icwmp_opt125.user $(1)/etc/udhcpc.user.d/udhcpc_icwmp_opt125.user
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/etc/udhcpc.user.d/udhcpc_icwmp_opt43.user $(1)/etc/udhcpc.user.d/udhcpc_icwmp_opt43.user
$(call BbfdmInstallPlugin,$(1),./files/etc/bbfdm/json/CWMPManagementServer.json)
$(call BbfdmInstallPlugin,$(1),$(PKG_BUILD_DIR)/libcwmpdm.so)
endef
Package/icwmp/install = $(Package/icwmp/default/install)

View File

@@ -1,34 +0,0 @@
#!/bin/sh
. /lib/functions.sh
log() {
echo "$@" |logger -t cwmp.update -p info
}
handle_icwmp_update() {
local cwmp_enable
config_load cwmp
config_get_bool cwmp_enable cpe enable 1
if [ "$cwmp_enable" = "0" ]; then
return 0
fi
# wait for some time to avoid interface fluctuation
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
log "Restarting icwmp tr069 object"
/etc/init.d/icwmpd restart
fi
}
handle_icwmp_update "$@"

View File

@@ -467,19 +467,11 @@ validate_defaults() {
}
boot() {
local enable_cwmp="0"
local dhcp_discovery="0"
local wan_interface=""
config_load cwmp
config_get_bool enable_cwmp cpe enable 1
local wan_interface=""
config_get wan_interface cpe default_wan_interface "wan"
if [ "$enable_cwmp" = "0" ]; then
return 0
fi
config_get dhcp_discovery acs dhcp_discovery "0"
if [ "${dhcp_discovery}" = "enable" ] || [ "${dhcp_discovery}" = "1" ]; then
@@ -511,27 +503,28 @@ boot() {
}
start_service() {
local enable_cwmp
local enable_cwmp url dhcp_url
config_load cwmp
config_get_bool enable_cwmp cpe enable 1
config_get url acs url ""
config_get dhcp_url acs dhcp_url ""
if [ "$enable_cwmp" = "0" ]; then
return 0
fi
[ -f /sbin/netifd ] && log "Waiting for Network to be started ..." && ubus -t 5 wait_for network.interface
[ -f /usr/sbin/dnsmasq ] && log "Waiting for DNS Proxy to be started ..." && ubus -t 5 wait_for dnsmasq
[ -f /etc/config/dhcp ] && log "Waiting for DNS Server(s) ..." && wait_for_resolvfile 20
validate_defaults || {
log "Validation of defaults failed"
return 1;
}
procd_open_instance icwmp
procd_set_param command "$PROG"
procd_append_param command -b
if [ -n "${url}" ] || [ -n "${dhcp_url}" ]; then
procd_set_param command "$PROG"
procd_append_param command -b
fi
procd_set_param respawn \
"${respawn_threshold:-5}" \
"${respawn_timeout:-10}" "${respawn_retry:-3}"
@@ -558,38 +551,15 @@ reload_service() {
return 0
fi
tr069_status="$(ubus -t 1 call tr069 status)"
ret="$?"
if [ "$ret" = "7" ]; then
# ubus timed out may be due to uloop is busy in some task so returning
return 0
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"
ret=$(ubus call service list '{"name":"icwmpd"}' | jsonfilter -qe '@.icwmpd.instances.icwmp.running')
if [ "$ret" != "true" ]; then
stop
start
return 0
fi
}
add_interface_trigger() {
procd_add_interface_trigger "interface.update" "$1" /etc/icwmpd/update.sh
}
service_triggers() {
local wan_interface
config_load cwmp
config_get wan_interface cpe default_wan_interface "wan"
procd_add_reload_trigger "cwmp"
add_interface_trigger ${default_wan_interface}
}

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ieee1905
PKG_VERSION:=8.2.2
PKG_VERSION:=8.2.22
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=c03fc4287af3dd17655dcaa02fc37d67425531f7
PKG_SOURCE_VERSION:=78ab0f41b76773a446bd64d6d981e2b91302c02b
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
@@ -171,7 +170,6 @@ CONFIG_PACKAGE_iptables-mod-ipopt=y
CONFIG_PACKAGE_iptables-mod-nflog=y
CONFIG_PACKAGE_iptables-mod-nfqueue=y
CONFIG_PACKAGE_ndisc6=y
CONFIG_PACKAGE_nping=y
CONFIG_PACKAGE_rdisc6=y
CONFIG_PACKAGE_resolveip=y
CONFIG_PACKAGE_socat=y

View File

@@ -40,6 +40,7 @@ function feeds_update {
# replace core packages with iopsys versions
if [ $override == 1 ]; then
./scripts/feeds install -f -p openwrt_core -a || exit 1
./scripts/feeds install -f -p qualcomm -a || exit 1
fi
(

View File

@@ -16,7 +16,7 @@ function genconfig {
brcmbca_feed="target/linux/feeds/brcmbca"
airoha_feed="target/linux/feeds/airoha"
x86_feed="target/linux/feeds/x86"
armvirt_feed="target/linux/feeds/armvirt"
armsr_feed="target/linux/feeds/armsr"
mediatek_feed="target/linux/feeds/mediatek"
qualcomm_ipq95xx_feed="target/linux/feeds/ipq95xx"
qualcomm_ipq53xx_feed="target/linux/feeds/ipq53xx"
@@ -108,8 +108,8 @@ function genconfig {
airoha=$(cd $airoha_feed; ./genconfig)
[ -e $x86_feed/genconfig ] &&
x86=$(cd $x86_feed; ./genconfig)
[ -e $armvirt_feed/genconfig ] &&
armvirt=$(cd $armvirt_feed; ./genconfig)
[ -e $armsr_feed/genconfig ] &&
armsr=$(cd $armsr_feed; ./genconfig)
[ -e $mediatek_feed/genconfig ] &&
mediatek=$(cd $mediatek_feed; ./genconfig)
[ -e $qualcomm_ipq95xx_feed/genconfig ] &&
@@ -118,7 +118,7 @@ function genconfig {
ipq53xx=$(cd $qualcomm_ipq53xx_feed; ./genconfig)
if [ "$profile" == "LIST" ]; then
for list in brcmbca airoha x86 armvirt mediatek ipq95xx ipq53xx; do
for list in brcmbca airoha x86 armsr mediatek ipq95xx ipq53xx; do
echo "$list based boards:"
a=$(echo "${!list}" | sort)
for b in $a; do
@@ -144,10 +144,10 @@ function genconfig {
fi
done
for p in $armvirt; do
for p in $armsr; do
if [ $p == $profile ]; then
target="armvirt"
target_config_path="$armvirt_feed/config"
target="armsr"
target_config_path="$armsr_feed/config"
return
fi
done

View File

@@ -15,7 +15,7 @@ function genconfig_min {
brcmbca_feed="target/linux/feeds/brcmbca"
airoha_feed="target/linux/feeds/airoha"
x86_feed="target/linux/feeds/x86"
armvirt_feed="target/linux/feeds/armvirt"
armsr_feed="target/linux/feeds/armsr"
mediatek_feed="target/linux/feeds/mediatek"
qualcomm_ipq95xx_feed="target/linux/feeds/ipq95xx"
qualcomm_ipq53xx_feed="target/linux/feeds/ipq53xx"
@@ -107,8 +107,8 @@ function genconfig_min {
airoha=$(cd $airoha_feed; ./genconfig)
[ -e $x86_feed/genconfig ] &&
x86=$(cd $x86_feed; ./genconfig)
[ -e $armvirt_feed/genconfig ] &&
armvirt=$(cd $armvirt_feed; ./genconfig)
[ -e $armsr_feed/genconfig ] &&
armsr=$(cd $armsr_feed; ./genconfig)
[ -e $mediatek_feed/genconfig ] &&
mediatek=$(cd $mediatek_feed; ./genconfig)
[ -e $qualcomm_ipq95xx_feed/genconfig ] &&
@@ -117,7 +117,7 @@ function genconfig_min {
ipq53xx=$(cd $qualcomm_ipq53xx_feed; ./genconfig)
if [ "$profile" == "LIST" ]; then
for list in brcmbca airoha x86 armvirt mediatek ipq95xx ipq53xx; do
for list in brcmbca airoha x86 armsr mediatek ipq95xx ipq53xx; do
echo "$list based boards:"
a=$(echo "${!list}" | sort)
for b in $a; do
@@ -143,10 +143,10 @@ function genconfig_min {
fi
done
for p in $armvirt; do
for p in $armsr; do
if [ $p == $profile ]; then
target="armvirt"
target_config_path="$armvirt_feed/config"
target="armsr"
target_config_path="$armsr_feed/config"
return
fi
done

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.102
PKG_VERSION:=7.2.105
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=1b75f263b65ca7e808513904d90c6c5fedaa387d
PKG_SOURCE_VERSION:=61b15e0fe345186d36d0ca3212a08f384af3609b
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.8
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:=a6a70c7259ba440f7587f4f79d29e8caecafa544
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.6
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:=14e626db4e8943c100602e6e73e0b1652ff3faca
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.15
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:=499abc3c7932bf5187bce6cabeffdc0c0f6eada8
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.3.1
PKG_VERSION:=7.4.6
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=5c6be5899ca223de7606017f35d2dabf28432768
PKG_SOURCE_VERSION:=57348d9a901c33650ebfe8b5d8f35a0b57d12a89
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

@@ -1,342 +0,0 @@
#ifndef __MT7915_VENDOR_H
#define __MT7915_VENDOR_H
#define MTK_NL80211_VENDOR_ID 0x0ce7
#define EDCCA_THRES_NUM 3
enum mtk_nl80211_vendor_subcmds {
MTK_NL80211_VENDOR_SUBCMD_AMNT_CTRL = 0xae,
MTK_NL80211_VENDOR_SUBCMD_CSI_CTRL = 0xc2,
MTK_NL80211_VENDOR_SUBCMD_RFEATURE_CTRL = 0xc3,
MTK_NL80211_VENDOR_SUBCMD_WIRELESS_CTRL = 0xc4,
MTK_NL80211_VENDOR_SUBCMD_HEMU_CTRL = 0xc5,
MTK_NL80211_VENDOR_SUBCMD_PHY_CAPA_CTRL = 0xc6,
MTK_NL80211_VENDOR_SUBCMD_EDCCA_CTRL = 0xc7,
MTK_NL80211_VENDOR_SUBCMD_3WIRE_CTRL = 0xc8,
MTK_NL80211_VENDOR_SUBCMD_IBF_CTRL = 0xc9,
MTK_NL80211_VENDOR_SUBCMD_RSTATS = 0xd0,
MTK_NL80211_VENDOR_SUBCMD_IFSTATS = 0xd1,
};
enum mtk_vendor_attr_edcca_ctrl {
MTK_VENDOR_ATTR_EDCCA_THRESHOLD_INVALID = 0,
MTK_VENDOR_ATTR_EDCCA_CTRL_MODE,
MTK_VENDOR_ATTR_EDCCA_CTRL_PRI20_VAL,
MTK_VENDOR_ATTR_EDCCA_CTRL_SEC20_VAL,
MTK_VENDOR_ATTR_EDCCA_CTRL_SEC40_VAL,
MTK_VENDOR_ATTR_EDCCA_CTRL_SEC80_VAL,
MTK_VENDOR_ATTR_EDCCA_CTRL_COMPENSATE,
/* keep last */
NUM_MTK_VENDOR_ATTRS_EDCCA_CTRL,
MTK_VENDOR_ATTR_EDCCA_CTRL_MAX =
NUM_MTK_VENDOR_ATTRS_EDCCA_CTRL - 1
};
enum mtk_vendor_attr_edcca_dump {
MTK_VENDOR_ATTR_EDCCA_DUMP_UNSPEC = 0,
MTK_VENDOR_ATTR_EDCCA_DUMP_MODE,
MTK_VENDOR_ATTR_EDCCA_DUMP_PRI20_VAL,
MTK_VENDOR_ATTR_EDCCA_DUMP_SEC40_VAL,
MTK_VENDOR_ATTR_EDCCA_DUMP_SEC80_VAL,
/* keep last */
NUM_MTK_VENDOR_ATTRS_EDCCA_DUMP,
MTK_VENDOR_ATTR_EDCCA_DUMP_MAX =
NUM_MTK_VENDOR_ATTRS_EDCCA_DUMP - 1
};
enum mtk_vendor_attr_3wire_ctrl {
MTK_VENDOR_ATTR_3WIRE_CTRL_UNSPEC,
MTK_VENDOR_ATTR_3WIRE_CTRL_MODE,
/* keep last */
NUM_MTK_VENDOR_ATTRS_3WIRE_CTRL,
MTK_VENDOR_ATTR_3WIRE_CTRL_MAX =
NUM_MTK_VENDOR_ATTRS_3WIRE_CTRL - 1
};
enum mtk_capi_control_changed {
CAPI_RFEATURE_CHANGED = BIT(16),
CAPI_WIRELESS_CHANGED = BIT(17),
};
enum mtk_vendor_attr_wireless_ctrl {
MTK_VENDOR_ATTR_WIRELESS_CTRL_UNSPEC,
MTK_VENDOR_ATTR_WIRELESS_CTRL_FIXED_MCS,
MTK_VENDOR_ATTR_WIRELESS_CTRL_OFDMA,
MTK_VENDOR_ATTR_WIRELESS_CTRL_PPDU_TX_TYPE,
MTK_VENDOR_ATTR_WIRELESS_CTRL_NUSERS_OFDMA,
MTK_VENDOR_ATTR_WIRELESS_CTRL_BA_BUFFER_SIZE,
MTK_VENDOR_ATTR_WIRELESS_CTRL_MIMO,
MTK_VENDOR_ATTR_WIRELESS_CTRL_AMSDU,
MTK_VENDOR_ATTR_WIRELESS_CTRL_CERT = 9,
MTK_VENDOR_ATTR_WIRELESS_CTRL_RTS_SIGTA,
MTK_VENDOR_ATTR_WIRELESS_CTRL_MU_EDCA, /* reserve */
/* keep last */
NUM_MTK_VENDOR_ATTRS_WIRELESS_CTRL,
MTK_VENDOR_ATTR_WIRELESS_CTRL_MAX =
NUM_MTK_VENDOR_ATTRS_WIRELESS_CTRL - 1
};
enum mtk_vendor_attr_wireless_dump {
MTK_VENDOR_ATTR_WIRELESS_DUMP_UNSPEC,
MTK_VENDOR_ATTR_WIRELESS_DUMP_AMSDU,
/* keep last */
NUM_MTK_VENDOR_ATTRS_WIRELESS_DUMP,
MTK_VENDOR_ATTR_WIRELESS_DUMP_MAX =
NUM_MTK_VENDOR_ATTRS_WIRELESS_DUMP - 1
};
enum mtk_vendor_attr_hemu_ctrl {
MTK_VENDOR_ATTR_HEMU_CTRL_UNSPEC,
MTK_VENDOR_ATTR_HEMU_CTRL_ONOFF,
MTK_VENDOR_ATTR_HEMU_CTRL_DUMP,
/* keep last */
NUM_MTK_VENDOR_ATTRS_HEMU_CTRL,
MTK_VENDOR_ATTR_HEMU_CTRL_MAX =
NUM_MTK_VENDOR_ATTRS_HEMU_CTRL - 1
};
enum mtk_vendor_attr_rfeature_ctrl {
MTK_VENDOR_ATTR_RFEATURE_CTRL_UNSPEC,
MTK_VENDOR_ATTR_RFEATURE_CTRL_HE_GI,
MTK_VENDOR_ATTR_RFEATURE_CTRL_HE_LTF,
MTK_VENDOR_ATTR_RFEATURE_CTRL_TRIG_TYPE_CFG,
MTK_VENDOR_ATTR_RFEATURE_CTRL_TRIG_TYPE_EN,
MTK_VENDOR_ATTR_RFEATURE_CTRL_TRIG_TYPE,
MTK_VENDOR_ATTR_RFEATURE_CTRL_ACK_PLCY,
MTK_VENDOR_ATTR_RFEATURE_CTRL_TRIG_TXBF,
/* keep last */
NUM_MTK_VENDOR_ATTRS_RFEATURE_CTRL,
MTK_VENDOR_ATTR_RFEATURE_CTRL_MAX =
NUM_MTK_VENDOR_ATTRS_RFEATURE_CTRL - 1
};
enum mtk_vendor_attr_csi_ctrl {
MTK_VENDOR_ATTR_CSI_CTRL_UNSPEC,
MTK_VENDOR_ATTR_CSI_CTRL_CFG,
MTK_VENDOR_ATTR_CSI_CTRL_CFG_MODE,
MTK_VENDOR_ATTR_CSI_CTRL_CFG_TYPE,
MTK_VENDOR_ATTR_CSI_CTRL_CFG_VAL1,
MTK_VENDOR_ATTR_CSI_CTRL_CFG_VAL2,
MTK_VENDOR_ATTR_CSI_CTRL_MAC_ADDR,
MTK_VENDOR_ATTR_CSI_CTRL_INTERVAL,
MTK_VENDOR_ATTR_CSI_CTRL_DUMP_NUM,
MTK_VENDOR_ATTR_CSI_CTRL_DATA,
/* keep last */
NUM_MTK_VENDOR_ATTRS_CSI_CTRL,
MTK_VENDOR_ATTR_CSI_CTRL_MAX =
NUM_MTK_VENDOR_ATTRS_CSI_CTRL - 1
};
enum mtk_vendor_attr_csi_data {
MTK_VENDOR_ATTR_CSI_DATA_UNSPEC,
MTK_VENDOR_ATTR_CSI_DATA_PAD,
MTK_VENDOR_ATTR_CSI_DATA_VER,
MTK_VENDOR_ATTR_CSI_DATA_TS,
MTK_VENDOR_ATTR_CSI_DATA_RSSI,
MTK_VENDOR_ATTR_CSI_DATA_SNR,
MTK_VENDOR_ATTR_CSI_DATA_BW,
MTK_VENDOR_ATTR_CSI_DATA_CH_IDX,
MTK_VENDOR_ATTR_CSI_DATA_TA,
MTK_VENDOR_ATTR_CSI_DATA_I,
MTK_VENDOR_ATTR_CSI_DATA_Q,
MTK_VENDOR_ATTR_CSI_DATA_INFO,
MTK_VENDOR_ATTR_CSI_DATA_RSVD1,
MTK_VENDOR_ATTR_CSI_DATA_RSVD2,
MTK_VENDOR_ATTR_CSI_DATA_RSVD3,
MTK_VENDOR_ATTR_CSI_DATA_RSVD4,
MTK_VENDOR_ATTR_CSI_DATA_TX_ANT,
MTK_VENDOR_ATTR_CSI_DATA_RX_ANT,
MTK_VENDOR_ATTR_CSI_DATA_MODE,
MTK_VENDOR_ATTR_CSI_DATA_H_IDX,
/* keep last */
NUM_MTK_VENDOR_ATTRS_CSI_DATA,
MTK_VENDOR_ATTR_CSI_DATA_MAX =
NUM_MTK_VENDOR_ATTRS_CSI_DATA - 1
};
enum mtk_vendor_attr_mnt_ctrl {
MTK_VENDOR_ATTR_AMNT_CTRL_UNSPEC,
MTK_VENDOR_ATTR_AMNT_CTRL_SET,
MTK_VENDOR_ATTR_AMNT_CTRL_DUMP,
/* keep last */
NUM_MTK_VENDOR_ATTRS_AMNT_CTRL,
MTK_VENDOR_ATTR_AMNT_CTRL_MAX =
NUM_MTK_VENDOR_ATTRS_AMNT_CTRL - 1
};
enum mtk_vendor_attr_mnt_set {
MTK_VENDOR_ATTR_AMNT_SET_UNSPEC,
MTK_VENDOR_ATTR_AMNT_SET_INDEX,
MTK_VENDOR_ATTR_AMNT_SET_MACADDR,
/* keep last */
NUM_MTK_VENDOR_ATTRS_AMNT_SET,
MTK_VENDOR_ATTR_AMNT_SET_MAX =
NUM_MTK_VENDOR_ATTRS_AMNT_SET - 1
};
enum mtk_vendor_attr_mnt_dump {
MTK_VENDOR_ATTR_AMNT_DUMP_UNSPEC,
MTK_VENDOR_ATTR_AMNT_DUMP_INDEX,
MTK_VENDOR_ATTR_AMNT_DUMP_LEN,
MTK_VENDOR_ATTR_AMNT_DUMP_RESULT,
/* keep last */
NUM_MTK_VENDOR_ATTRS_AMNT_DUMP,
MTK_VENDOR_ATTR_AMNT_DUMP_MAX =
NUM_MTK_VENDOR_ATTRS_AMNT_DUMP - 1
};
enum mtk_vendor_attr_phy_capa_ctrl {
MTK_VENDOR_ATTR_PHY_CAPA_CTRL_UNSPEC,
MTK_VENDOR_ATTR_PHY_CAPA_CTRL_SET,
MTK_VENDOR_ATTR_PHY_CAPA_CTRL_DUMP,
/* keep last */
NUM_MTK_VENDOR_ATTRS_PHY_CAPA_CTRL,
MTK_VENDOR_ATTR_PHY_CAPA_CTRL_MAX =
NUM_MTK_VENDOR_ATTRS_PHY_CAPA_CTRL - 1
};
enum mtk_vendor_attr_phy_capa_dump {
MTK_VENDOR_ATTR_PHY_CAPA_DUMP_UNSPEC,
MTK_VENDOR_ATTR_PHY_CAPA_DUMP_MAX_SUPPORTED_BSS,
MTK_VENDOR_ATTR_PHY_CAPA_DUMP_MAX_SUPPORTED_STA,
/* keep last */
NUM_MTK_VENDOR_ATTRS_PHY_CAPA_DUMP,
MTK_VENDOR_ATTR_PHY_CAPA_DUMP_MAX =
NUM_MTK_VENDOR_ATTRS_PHY_CAPA_DUMP - 1
};
enum mtk_vendor_attr_ibf_ctrl {
MTK_VENDOR_ATTR_IBF_CTRL_UNSPEC,
MTK_VENDOR_ATTR_IBF_CTRL_ENABLE,
/* keep last */
NUM_MTK_VENDOR_ATTRS_IBF_CTRL,
MTK_VENDOR_ATTR_IBF_CTRL_MAX =
NUM_MTK_VENDOR_ATTRS_IBF_CTRL - 1
};
enum mtk_vendor_attr_ibf_dump {
MTK_VENDOR_ATTR_IBF_DUMP_UNSPEC,
MTK_VENDOR_ATTR_IBF_DUMP_ENABLE,
/* keep last */
NUM_MTK_VENDOR_ATTRS_IBF_DUMP,
MTK_VENDOR_ATTR_IBF_DUMP_MAX =
NUM_MTK_VENDOR_ATTRS_IBF_DUMP - 1
};
enum mtk_vendor_attr_rstats_dump {
MTK_VENDOR_ATTR_RSTATS_DUMP_UNSPEC,
MTK_VENDOR_ATTR_RSTATS_DUMP_PAD,
MTK_VENDOR_ATTR_RSTATS_DUMP_CTS_RCVD,
MTK_VENDOR_ATTR_RSTATS_DUMP_CTS_NOT_RCVD,
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_FRAME_ERR_PKTS,
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_GOOG_PLCP_PKTS,
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_OMAC_DATA_PKTS,
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_OMAC_MGMT_PKTS,
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_OMAC_CTRL_PKTS,
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_OMAC_CTS,
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_OMAC_RTS,
MTK_VENDOR_ATTR_RSTATS_DUMP_TX_BYTES,
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_BYTES,
MTK_VENDOR_ATTR_RSTATS_DUMP_TX_PKTS,
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_PKTS,
MTK_VENDOR_ATTR_RSTATS_DUMP_TX_ERR_PKTS,
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_ERR_PKTS,
MTK_VENDOR_ATTR_RSTATS_DUMP_TX_DROPPED_PKTS,
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_DROPPED_PKTS,
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_PLCP_ERR_PKTS,
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_FCS_ERR_PKTS,
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_MAC_ERR_PKTS,
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_UNKNOWN_PKTS,
MTK_VENDOR_ATTR_RSTATS_DUMP_NOISE,
/* keep last */
NUM_MTK_VENDOR_ATTRS_RSTATS_DUMP,
MTK_VENDOR_ATTR_RSTATS_DUMP_MAX =
NUM_MTK_VENDOR_ATTRS_RSTATS_DUMP - 1
};
enum mtk_vendor_attr_if_stats_dump {
MTK_VENDOR_ATTR_IFSTATS_DUMP_UNSPEC,
MTK_VENDOR_ATTR_IFSTATS_DUMP_PAD,
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_BYTES,
MTK_VENDOR_ATTR_IFSTATS_DUMP_RX_BYTES,
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_PKTS,
MTK_VENDOR_ATTR_IFSTATS_DUMP_RX_PKTS,
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_ERR_PKTS,
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_RTX_PKTS,
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_RTX_FAIL_PKTS,
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_RETRY_PKTS,
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_MRETRY_PKTS,
MTK_VENDOR_ATTR_IFSTATS_DUMP_ACK_FAIL_PKTS,
MTK_VENDOR_ATTR_IFSTATS_DUMP_AGGR_PKTS,
MTK_VENDOR_ATTR_IFSTATS_DUMP_RX_ERR_PKTS,
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_UCAST_PKTS,
MTK_VENDOR_ATTR_IFSTATS_DUMP_RX_UCAST_PKTS,
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_DROPPED_PKTS,
MTK_VENDOR_ATTR_IFSTATS_DUMP_RX_DROPPED_PKTS,
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_MCAST_PKTS,
MTK_VENDOR_ATTR_IFSTATS_DUMP_RX_MCAST_PKTS,
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_BCAST_PKTS,
MTK_VENDOR_ATTR_IFSTATS_DUMP_RX_BCAST_PKTS,
MTK_VENDOR_ATTR_IFSTATS_DUMP_RX_UNKNOWN_PKTS,
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_BUF_OVERFLOW,
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_STA_NOT_ASSOC,
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_FRAGS,
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_NO_ACK_PKTS,
MTK_VENDOR_ATTR_IFSTATS_DUMP_RX_DUP_PKTS,
MTK_VENDOR_ATTR_IFSTATS_DUMP_RX_TOO_LONG_PKTS,
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_TOO_SHORT_PKTS,
MTK_VENDOR_ATTR_IFSTATS_DUMP_UCAST_ACK,
/* STA mode only */
MTK_VENDOR_ATTR_IFSTATS_DUMP_LAST_DL_RATE,
MTK_VENDOR_ATTR_IFSTATS_DUMP_LAST_UL_RATE,
MTK_VENDOR_ATTR_IFSTATS_DUMP_SIGNAL,
MTK_VENDOR_ATTR_IFSTATS_DUMP_RETRANS_100,
/* keep last */
NUM_MTK_VENDOR_ATTRS_IFSTATS_DUMP,
MTK_VENDOR_ATTR_IFSTATS_DUMP_MAX =
NUM_MTK_VENDOR_ATTRS_IFSTATS_DUMP - 1
};
#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.8
PKG_VERSION:=4.3.7.2
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=cf6fd13681144224a91fab1f22fc7b38a2c06ab3
PKG_SOURCE_VERSION:=406b484e33f5f9862f2adcc95c8e8231a7bde87c
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}"
@@ -76,9 +81,9 @@ generate_multiap_config() {
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.1
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=5c57a6e2788b556f3d21ed39b415bc7e8e5db5ab
PKG_SOURCE_VERSION:=1faf0fce0d524f626638e08bd45348d11631f390
PKG_MAINTAINER:=Jakob Olsson <jakob.olsson@iopsys.eu>
LOCAL_DEV=0

View File

@@ -10,6 +10,8 @@ PROG_EXE=/usr/sbin/mcproxy
PROG_PARAMS=
PROG_PARAMS_SEPARATOR=:
snooping_bridges=
__device_is_bridge() {
local device="$2"
@@ -114,10 +116,11 @@ config_mcproxy_interfaces() {
config_sysfs_mcast_snooping() {
local downstreams="$1"
local snooping="$2"
for downstream in $downstreams; do
if device_is_bridge "$downstream"; then
echo 1 > /sys/class/net/$downstream/bridge/multicast_snooping
echo $snooping > /sys/class/net/$downstream/bridge/multicast_snooping
fi
done
}
@@ -136,7 +139,53 @@ config_sysfs_mcast_fastleave() {
done
}
config_sysfs_mcast_mode() {
config_sysfs_mcast_version() {
local protocol="$1"
local interfaces="$2"
local version="$3"
for iface in $interfaces; do
echo $version > /sys/class/net/$iface/bridge/multicast_"$protocol"_version
done
}
config_sysfs_mcast_robustness() {
local interfaces="$1"
local robustness="$2"
for iface in $interfaces; do
echo $robustness > /sys/class/net/$iface/bridge/multicast_last_member_count
done
}
config_sysfs_mcast_query_interval() {
local interfaces="$1"
local query_interval="$2"
for iface in $interfaces; do
echo $query_interval > /sys/class/net/$iface/bridge/multicast_query_interval
done
}
config_sysfs_mcast_q_resp_interval() {
local interfaces="$1"
local q_resp_interval="$2"
for iface in $interfaces; do
echo $q_resp_interval > /sys/class/net/$iface/bridge/multicast_query_response_interval
done
}
config_sysfs_mcast_last_mem_q_int() {
local interfaces="$1"
local last_mem_q_int="$2"
for iface in $interfaces; do
echo $last_mem_q_int > /sys/class/net/$iface/bridge/multicast_last_member_interval
done
}
config_sysfs_mcast_flood() {
local downstreams=$1
local mcast_mode=$2
local prt
@@ -157,6 +206,25 @@ config_sysfs_mcast_mode() {
done
}
config_snooping_mode() {
local interfaces="$1"
local snooping="$2"
# snooping_mode:
# 0 - snooping is disabled
# 1 - multicast flood is enabled
# 2 - multicast flood is disabled
[ -z "$snooping_mode" ] && snooping_mode=2
if [ "$snooping_mode" == 0 ]; then
config_sysfs_mcast_snooping "$interfaces" 0
else
config_sysfs_mcast_snooping "$interfaces" 1
fi
config_sysfs_mcast_flood "$interfaces" "$snooping_mode"
}
config_mcproxy_instance() {
local protocol="$1"
local version="$2"
@@ -195,6 +263,11 @@ config_mcproxy_instance() {
upstreams=$igmp_p_up_interfaces
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])
@@ -228,32 +301,108 @@ config_mcproxy_instance() {
# for snooping to work we should enable it on the bridge, doing it from
# here instead of from inside network config
config_sysfs_mcast_snooping "$downstreams"
[ -n $fast_leave ] &&
config_sysfs_mcast_fastleave "$downstreams" "$fast_leave"
config_sysfs_mcast_mode "$downstreams" "$mcast_mode"
if [ "$downstreams" != "$snooping_bridges" ]; then
config_sysfs_mcast_snooping "$downstreams" 1
[ -n $fast_leave ] &&
config_sysfs_mcast_fastleave "$downstreams" "$fast_leave"
config_sysfs_mcast_flood "$downstreams" "$mcast_mode"
fi
PROG_PARAMS="${PROG_PARAMS} -f ${CONFFILE}${PROG_PARAMS_SEPARATOR}"
}
config_snooping() {
local protocol="$1"
local version=
local robustness=
local query_interval=
local q_resp_interval=
local last_mem_q_int=
local fast_leave=0
local snooping_mode=
local interfaces=
local HZ=100
local all_interfaces=
if [ "$protocol" == "igmp" ]; then
all_interfaces=$igmp_s_iface
elif [ "$protocol" == "mld" ]; then
all_interfaces=$mld_s_iface
fi
for iface in $all_interfaces; do
device_is_bridge "$iface" || continue
interfaces="$interfaces $iface"
done
[ -z "$interfaces" ] && return
snooping_bridges="$interfaces"
if [ "$protocol" == "igmp" ]; then
case "$igmp_s_version" in
[1-3])
version="$igmp_s_version"
;;
*)
version="2"
;;
esac
robustness=$igmp_s_robustness
query_interval=$(( igmp_s_query_interval * HZ ))
q_resp_interval=$(( igmp_s_q_resp_interval * HZ / 10 ))
last_mem_q_int=$(( igmp_s_last_mem_q_int * HZ / 10 ))
fast_leave=$igmp_s_fast_leave
snooping_mode=$igmp_s_mode
elif [ "$protocol" == "mld" ]; then
case "$mld_s_version" in
[1-2])
version="$mld_s_version"
;;
*)
version="2"
;;
esac
robustness=$mld_s_robustness
query_interval=$(( mld_s_query_interval * HZ ))
q_resp_interval=$(( mld_s_q_resp_interval * HZ / 10 ))
last_mem_q_int=$(( mld_s_last_mem_q_int * HZ / 10 ))
fast_leave=$mld_s_fast_leave
snooping_mode=$mld_s_mode
fi
config_snooping_mode "$interfaces" "$snooping_mode"
[ -n "$version" ] && config_sysfs_mcast_version "$protocol" "$interfaces" "$version"
[ -n "$robustness" ] && config_sysfs_mcast_robustness "$interfaces" "$robustness"
[ -n "$query_interval" ] && config_sysfs_mcast_query_interval "$interfaces" "$query_interval"
[ -n "$q_resp_interval" ] && config_sysfs_mcast_q_resp_interval "$interfaces" "$q_resp_interval"
[ -n "$last_mem_q_int" ] && config_sysfs_mcast_last_mem_q_int "$interfaces" "$last_mem_q_int"
[ -n "$fast_leave" ] && config_sysfs_mcast_fastleave "$interfaces" "$fast_leave"
}
config_mcproxy() {
if [ "$igmp_p_enable" == "1" ]; then
config_mcproxy_instance igmp "$igmp_p_version"
elif [ "$igmp_s_enable" == "1" ]; then
config_snooping igmp "$igmp_s_version"
fi
if [ "$mld_p_enable" == "1" ]; then
config_mcproxy_instance mld "$mld_p_version"
elif [ "$mld_s_enable" == "1" ]; then
config_snooping mld "$mld_s_version"
fi
}
setup_mcast_mode() {
:
}
configure_mcast() {
config_global_params "set_max_groups_and_sources"
# 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
read_mcast_snooping_params
read_mcast_proxy_params
config_mcproxy

View File

@@ -1,8 +1,4 @@
if PACKAGE_obuspa
config OBUSPA_DB_PATH
string "Configure path for usp.db file"
default "/tmp/"
config OBUSPA_MTP_ENABLE_MQTT
bool "Enable MQTT as mtp protocol"
default y

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=obuspa
PKG_VERSION:=7.0.2.27
PKG_VERSION:=7.0.4.11
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/obuspa.git
PKG_SOURCE_VERSION:=3d3ac48318c3e70c7eaffee943798c04ae8e03f6
PKG_SOURCE_VERSION:=1211494650d170cc23e7d041dd5bff260530080e
PKG_MAINTAINER:=Vivek Dutta <vivek.dutta@iopsys.eu>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
@@ -19,12 +19,12 @@ endif
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_FIXUP:=autoreconf
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
include ../bbfdm/bbfdm.mk
define Package/obuspa
SECTION:=utils
@@ -45,48 +45,40 @@ endef
TARGET_CFLAGS += \
-D_GNU_SOURCE \
-DHAVE_STRERROR_R \
-Wall \
-D_DM_VENDOR_PREFIX=$(CONFIG_BBF_VENDOR_PREFIX) \
-Werror
CMAKE_OPTIONS += -DCMAKE_INSTALL_PREFIX=/tmp
CMAKE_OPTIONS += -DCMAKE_INSTALL_LOCALSTATEDIR=""
ifneq ($(CONFIG_OBUSPA_CONTROLLER_MTP_VERIFY),)
TARGET_CFLAGS += -DOBUSPA_CONTROLLER_MTP_VERIFY
endif
ifneq ($(CONFIG_OBUSPA_DB_PATH),)
CONFIGURE_ARGS += \
--localstatedir="$(CONFIG_OBUSPA_DB_PATH)"
endif
ifeq ($(CONFIG_OBUSPA_MTP_ENABLE_STOMP),y)
CONFIGURE_ARGS += \
--enable-stomp
CMAKE_OPTIONS += -DENABLE_STOMP=ON
else
CONFIGURE_ARGS += \
--disable-stomp
CMAKE_OPTIONS += -DENABLE_STOMP=OFF
endif
ifeq ($(CONFIG_OBUSPA_MTP_ENABLE_MQTT),y)
CONFIGURE_ARGS += \
--enable-mqtt
CMAKE_OPTIONS += -DENABLE_MQTT=ON
else
CONFIGURE_ARGS += \
--disable-mqtt
CMAKE_OPTIONS += -DENABLE_MQTT=OFF
endif
ifeq ($(CONFIG_OBUSPA_MTP_ENABLE_COAP),y)
CONFIGURE_ARGS += \
--enable-coap
CMAKE_OPTIONS += -DENABLE_COAP=ON
else
CONFIGURE_ARGS += \
--disable-coap
CMAKE_OPTIONS += -DENABLE_COAP=OFF
endif
ifeq ($(CONFIG_OBUSPA_MTP_ENABLE_WEBSOCKETS),y)
CONFIGURE_ARGS += \
--enable-websockets
CMAKE_OPTIONS += -DENABLE_WEBSOCKETS=ON
else
CONFIGURE_ARGS += \
--disable-websockets
CMAKE_OPTIONS += -DENABLE_WEBSOCKETS=OFF
endif
ifeq ($(LOCAL_DEV),1)
@@ -101,7 +93,6 @@ define Package/obuspa/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DIR) $(1)/etc/obuspa
$(INSTALL_DIR) $(1)/etc/bbfdm/json
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_DIR) $(1)/etc/udhcpc.user.d
$(INSTALL_BIN) $(PKG_BUILD_DIR)/obuspa $(1)/usr/sbin/
@@ -109,12 +100,11 @@ 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_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) ./files/etc/udhcpc.user.d/udhcpc_obuspa_opt125.user $(1)/etc/udhcpc.user.d/udhcpc_obuspa_opt125.user
$(call BbfdmInstallPlugin,$(1),./files/etc/bbfdm/json/USPAgent.json)
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,132 +0,0 @@
{
"Device.LocalAgent.": {
"type": "object",
"version": "2.12",
"protocols": [
"usp"
],
"access": false,
"array": false,
"TransferComplete!": {
"type": "event",
"version": "2.12",
"protocols": [
"usp"
],
"Command": {
"type": "string",
"read": true,
"write": true,
"version": "2.12",
"protocols": [
"usp"
],
"datatype": "string"
},
"CommandKey": {
"type": "string",
"read": true,
"write": true,
"version": "2.12",
"protocols": [
"usp"
],
"datatype": "string"
},
"Requestor": {
"type": "string",
"read": true,
"write": true,
"version": "2.12",
"protocols": [
"usp"
],
"datatype": "string"
},
"TransferType": {
"type": "string",
"read": true,
"write": true,
"version": "2.12",
"protocols": [
"usp"
],
"datatype": "string",
"enumerations": [
"Download",
"Upload"
]
},
"Affected": {
"type": "string",
"read": true,
"write": true,
"version": "2.12",
"protocols": [
"usp"
],
"datatype": "string"
},
"TransferURL": {
"type": "string",
"read": true,
"write": true,
"version": "2.12",
"protocols": [
"usp"
],
"datatype": "URL",
"range": [
{
"max": 2048
}
]
},
"StartTime": {
"type": "dateTime",
"read": true,
"write": true,
"version": "2.12",
"protocols": [
"usp"
],
"datatype": "dateTime"
},
"CompleteTime": {
"type": "dateTime",
"read": true,
"write": true,
"version": "2.12",
"protocols": [
"usp"
],
"datatype": "dateTime"
},
"FaultCode": {
"type": "unsignedInt",
"read": true,
"write": true,
"version": "2.12",
"protocols": [
"usp"
],
"datatype": "unsignedInt"
},
"FaultString": {
"type": "string",
"read": true,
"write": true,
"version": "2.12",
"protocols": [
"usp"
],
"datatype": "string",
"range": [
{
"max": 256
}
]
}
}
}
}

View File

@@ -1,13 +1,13 @@
config obuspa 'global'
option enabled '1'
option debug '0'
option debug '1'
option dhcp_discovery '1'
option log_level '1'
option log_level '2'
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 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

@@ -1033,37 +1033,30 @@ db_init()
return 0;
}
register_service()
{
procd_open_instance ${CONFIGURATION}
procd_set_param command ${PROG}
configure_obuspa
procd_set_param respawn \
"${respawn_threshold:-10}" \
"${respawn_timeout:-10}" "${respawn_retry:-5}"
procd_set_param watch bbfdm
procd_close_instance
}
start_service() {
local enabled
mkdir -p /tmp/obuspa/
config_load obuspa
config_get_bool enabled global enabled 0
if [ "${enabled}" -eq 0 ]; then
return 0;
procd_open_instance ${CONFIGURATION}
if [ "${enabled}" -eq 1 ]; then
db_init "${1}"
procd_set_param command ${PROG}
configure_obuspa
procd_set_param respawn \
"${respawn_threshold:-10}" \
"${respawn_timeout:-10}" "${respawn_retry:-5}"
#procd_set_param limits core="unlimited"
fi
mkdir -p /tmp/obuspa/
db_init "${1}"
register_service
procd_close_instance ${CONFIGURATION}
}
stop_service() {
${PROG} -c stop >/dev/null 2>&1
if command -v timeout >/dev/null 2>&1; then
timeout 5 ${PROG} -c stop
fi
}
reload_service() {
@@ -1073,25 +1066,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

@@ -72,7 +72,8 @@
{
"object": "Device.",
"perm": [
"PERMIT_NONE"
"PERMIT_NONE",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
@@ -81,7 +82,8 @@
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
"PERMIT_CMD_INFO",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
@@ -90,7 +92,8 @@
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
"PERMIT_CMD_INFO",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
@@ -99,7 +102,8 @@
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
"PERMIT_CMD_INFO",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
@@ -108,7 +112,8 @@
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
"PERMIT_CMD_INFO",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
@@ -117,7 +122,8 @@
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
"PERMIT_CMD_INFO",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
@@ -126,7 +132,8 @@
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
"PERMIT_CMD_INFO",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
@@ -135,7 +142,8 @@
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
"PERMIT_CMD_INFO",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
@@ -144,7 +152,8 @@
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
"PERMIT_CMD_INFO",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
@@ -153,7 +162,9 @@
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
"PERMIT_CMD_INFO",
"PERMIT_SUBS_VAL_CHANGE",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
@@ -162,7 +173,8 @@
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
"PERMIT_CMD_INFO",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
@@ -171,7 +183,8 @@
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
"PERMIT_CMD_INFO",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
@@ -180,7 +193,8 @@
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
"PERMIT_CMD_INFO",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
@@ -189,7 +203,8 @@
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
"PERMIT_CMD_INFO",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
@@ -198,7 +213,8 @@
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
"PERMIT_CMD_INFO",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
@@ -207,7 +223,8 @@
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
"PERMIT_CMD_INFO",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
@@ -216,7 +233,8 @@
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
"PERMIT_CMD_INFO",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
@@ -225,7 +243,8 @@
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
"PERMIT_CMD_INFO",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
@@ -234,7 +253,8 @@
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
"PERMIT_CMD_INFO",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
@@ -243,7 +263,8 @@
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
"PERMIT_CMD_INFO",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
@@ -252,7 +273,8 @@
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
"PERMIT_CMD_INFO",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
@@ -261,7 +283,9 @@
"PERMIT_GET",
"PERMIT_GET_INST",
"PERMIT_OBJ_INFO",
"PERMIT_CMD_INFO"
"PERMIT_CMD_INFO",
"PERMIT_SUBS_VAL_CHANGE",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
@@ -270,16 +294,8 @@
"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"
"PERMIT_CMD_INFO",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
@@ -291,7 +307,8 @@
"PERMIT_CMD_INFO",
"PERMIT_ADD",
"PERMIT_SET",
"PERMIT_DEL"
"PERMIT_DEL",
"PERMIT_SUBS_EVT_OPER_COMP"
]
},
{
@@ -301,11 +318,9 @@
"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"
"PERMIT_SUBS_OBJ_DEL"
]
},
{

View File

@@ -5,7 +5,9 @@
config_load obuspa
config_get interface global interface ""
mode="$(fw_printenv -n netmode)"
if [ "${mode}" == "extender" -a -z "$interface" ] ; then
uci_set obuspa global interface "lan"
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

@@ -124,6 +124,21 @@ get_vivsoi() {
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"
@@ -210,12 +225,8 @@ if [ "${wan_intf}" == "${INTERFACE}" ]; then
mtp_encrypt="0"
fi
fi
mode="$(fw_printenv -n netmode)"
if [ "$mode" == "extender" ]; then
uci -q set obuspa.dhcpcontroller.assigned_role_name='extender'
else
uci -q set obuspa.dhcpcontroller.assigned_role_name='full_access'
fi
uci -q set obuspa.dhcpcontroller.assigned_role_name="$(get_netmode)"
uci -q set obuspa.dhcpcontroller.Enable='1'
uci_change=1
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

@@ -0,0 +1,12 @@
diff --git a/src/protobuf-c/protobuf-c.c b/src/protobuf-c/protobuf-c.c
index 3dc5473..0a6bde7 100644
--- a/src/protobuf-c/protobuf-c.c
+++ b/src/protobuf-c/protobuf-c.c
@@ -1926,6 +1926,7 @@ repeated_field_pack_to_buffer(const ProtobufCFieldDescriptor *field,
buffer->append(buffer, rv, scratch);
tmp = pack_buffer_packed_payload(field, count, array, buffer);
assert(tmp == payload_len);
+ (void)tmp; // Keep cmake production build happy
return rv + payload_len;
} else {
size_t siz;

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=obuspc
PKG_VERSION:=1.0.1.3
PKG_VERSION:=1.0.1.6
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:=93d30270f52b2beb75c348c7fc1aa9e3a74ada9a
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
@@ -61,7 +61,6 @@ define Package/obuspc/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_DIR) $(1)/etc/init.d
$(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/uspc
$(INSTALL_BIN) ./files/etc/init.d/uspc $(1)/etc/init.d/

View File

@@ -2,7 +2,7 @@ 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

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=periodicstats
PKG_VERSION:=1.5.1
PKG_VERSION:=1.5.3
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:=28bea5be686013af0ba8e54cf4871f10015e4b06
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

@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=ponmngr
PKG_VERSION:=1.0.1
PKG_VERSION:=1.0.2
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
@@ -14,6 +14,7 @@ PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
include ../bbfdm/bbfdm.mk
define Package/ponmngr
CATEGORY:=Utilities
@@ -39,8 +40,7 @@ ifneq ($(CONFIG_TARGET_brcmbca),)
else ifneq ($(CONFIG_TARGET_airoha),)
$(CP) ./files/airoha/* $(1)/
endif
$(INSTALL_DIR) $(1)/etc/bbfdm/json
$(CP) ./files/etc/bbfdm/json/* $(1)/etc/bbfdm/json/
$(call BbfdmInstallPlugin,$(1),./files/etc/bbfdm/json/xpon.json)
endef
$(eval $(call BuildPackage,ponmngr))

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

@@ -8,6 +8,7 @@ generate_dns_rule(){
uci add qos classify
uci rename qos.@classify[-1]="c${classify_no}"
uci set qos.@classify[-1].ifname="lo"
uci set qos.@classify[-1].all_interfaces="0"
uci set qos.@classify[-1].proto="udp"
uci set qos.@classify[-1].ethertype="IPv4"
uci set qos.@classify[-1].dest_port="53"
@@ -20,6 +21,7 @@ generate_dhcp_rule(){
uci add qos classify
uci rename qos.@classify[-1]="c${classify_no}"
uci set qos.@classify[-1].ifname="lo"
uci set qos.@classify[-1].all_interfaces="0"
uci set qos.@classify[-1].proto="udp"
uci set qos.@classify[-1].ethertype="IPv4"
uci set qos.@classify[-1].dest_port="67"
@@ -33,6 +35,7 @@ generate_igmp_rule(){
uci add qos classify
uci rename qos.@classify[-1]="c${classify_no}"
uci set qos.@classify[-1].ifname="lo"
uci set qos.@classify[-1].all_interfaces="0"
uci set qos.@classify[-1].proto="IGMP"
uci set qos.@classify[-1].ethertype="IPv4"
uci set qos.@classify[-1].traffic_class="$1"
@@ -44,6 +47,7 @@ generate_icmp_rule(){
uci add qos classify
uci rename qos.@classify[-1]="c${classify_no}"
uci set qos.@classify[-1].ifname="lo"
uci set qos.@classify[-1].all_interfaces="0"
uci set qos.@classify[-1].proto="icmp"
uci set qos.@classify[-1].ethertype="IPv4"
uci set qos.@classify[-1].traffic_class="$1"
@@ -96,6 +100,7 @@ generate_classify(){
uci add qos classify
uci rename qos.@classify[-1]="c${classify_no}"
uci set qos.@classify[-1].pcp_check="$i"
uci set qos.@classify[-1].all_interfaces="0"
uci set qos.@classify[-1].traffic_class="$i"
uci set qos.@classify[-1].order="$classify_no"
done

View File

@@ -237,15 +237,18 @@ handle_ebtables_rules() {
config_get dst_ucid "$sid" "dst_user_class_id" # dhcp option 77
config_get traffic_class "$sid" "traffic_class"
config_get protocol "$sid" "proto"
config_get all_interfaces "$sid" "all_interfaces"
if [ -n "$src_if" ]; then
for interf in $(db -q get hw.board.ethernetPortOrder); do
if [ "$src_if" == "$interf" ]; then
src_if="$src_if+"
broute_filter_on_src_if "$src_if"
is_l2_rule=1
fi
done
if [ "$all_interfaces" == "1" ]; then
is_l2_rule=1
elif [ -n "$src_if" ]; then
for interf in $(db -q get hw.board.ethernetPortOrder); do
if [ "$src_if" == "$interf" ]; then
src_if="$src_if+"
broute_filter_on_src_if "$src_if"
is_l2_rule=1
fi
done
fi
if [ -n "$src_mac" ]; then
@@ -392,10 +395,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

@@ -93,6 +93,7 @@ handle_iptables_rules() {
config_get ip_len_min "$cid" "ip_len_min"
config_get ip_len_max "$cid" "ip_len_max"
config_get ifname "$cid" "ifname"
config_get all_interfaces "$cid" "all_interfaces"
#check version of ip
case $src_ip$dest_ip in
@@ -107,10 +108,10 @@ handle_iptables_rules() {
esac
#filter interface
if [ -n "$ifname" ]; then
if [ "$ifname" != "lo" ]; then
iptables_filter_intf "$ifname"
fi
if ! [ "$all_interfaces" == "1" ]; then
if [ -n "$ifname" -a "$ifname" != "lo" ]; then
iptables_filter_intf "$ifname"
fi
fi
# filter proto
@@ -197,7 +198,9 @@ handle_iptables_rules() {
[ -n "$IP_RULE" ] && [ -n "$dscp_mark" ] && append_rule_to_mangle_table "qos_forward" $ip_version
if [ -n "$IP_RULE" ] && [ -n "$traffic_class" ]; then
if [ "$ifname" == "lo" ]; then
if [ "all_interfaces" == "1" ]; then
append_rule_to_mangle_table "qos_output" $ip_version
elif [ "$ifname" == "lo" ]; then
#write iptables rule for putting WAN directed internal packets in different queue
append_rule_to_mangle_table "qos_output" $ip_version
else

View File

@@ -13,6 +13,7 @@ MAJOR=""
POLICER_COUNT=0
Q_COUNT=0
SP_Q_PRIO=7
SOQ_wgt=0
get_rate_per_queue() {
echo "1000000"
@@ -22,6 +23,22 @@ get_burst_size_per_queue() {
echo "1500"
}
handle_q_weight() {
local qid="$1" #queue section ID
config_get ifname "$qid" "ifname"
# If ifname is empty that is good enough to break
if [ -z "$ifname" ];then
return
fi
config_get sc_alg "$qid" "scheduling"
config_get weight "$qid" "weight"
if [ "$ifname" == "$2" ] && [ "$sc_alg" == "WRR" ]; then
SOQ_wgt=`expr $SOQ_wgt + $weight`
fi
}
# Function to handle a queue order and
# update total number of queues
handle_q_order() {
@@ -80,7 +97,8 @@ handle_queue() {
local port_bw="$3"
local root="$4"
local port_bs="$5"
local priority=0
local par_class="$6"
local priority=7
config_get is_enable "$qid" "enable"
# no need to configure disabled queues
@@ -120,7 +138,14 @@ handle_queue() {
config_get qsize "$qid" "queue_size" 1024
[ "$rate" == "0" ] && rate="$port_bw"
[ "$bs" == "0" ] && bs="$port_bs"
bs=$(( bs * 8 ))
rate_bs=$(( rate * 25 ))
if [ $rate_bs -gt $bs ]; then
bs=$rate_bs
fi
# burst size in tc class is given in bytes
bs=$(( bs * 1000 ))
local salg=1
@@ -135,19 +160,27 @@ handle_queue() {
;;
esac
# ignore precedence value in case of WRR, broadcom recommends that WRR queue should
# always have precedence value set to 0
if [ $salg -ne 2 ]; then
priority=$order
priority=`expr $priority - $order`
local ceil_rate=$port_bw
if [ "$rate" -lt "$port_bw" ]; then
ceil_rate=$rate
fi
if [ $order -ne 0 ]; then
if [ $salg -eq 2 ]; then
tc class add dev $port parent ${root}: classid ${root}:$order cbq allot $bs bandwidth ${port_bw}kbit rate ${rate}kbit prio $priority weight $wgt avpkt 1500 bounded isolated
else
tc class add dev $port parent ${root}: classid ${root}:$order cbq allot $bs bandwidth ${port_bw}kbit rate ${rate}kbit prio $priority avpkt 1500 bounded isolated
fi
tc filter add dev $port parent ${root}:0 prio $order u32 match mark $order 0xf flowid ${root}:$order
local cls_priority=`expr $order + 1`
cls_priority=${cls_priority}0
if [ $salg -eq 2 ]; then
# maximum quantum value 60000
# quantum value calculate based on the configured weight value for the queue
quantum=`expr $wgt \* 60000 / $SOQ_wgt`
tc class add dev $port parent ${root}:${par_class} classid ${root}:${cls_priority} htb rate ${rate}kbit prio ${priority} ceil ${ceil_rate}kbit quantum ${quantum} burst $bs cburst $port_bs
tc qdisc add dev $port parent ${root}:${cls_priority} handle ${cls_priority}: sfq perturb 10
else
tc class add dev $port parent ${root}:${par_class} classid ${root}:${cls_priority} htb rate ${rate}kbit prio ${priority} ceil ${ceil_rate}kbit burst $bs cburst $port_bs
fi
tc filter add dev $port parent ${root}:0 prio $order u32 match mark $order 0xf flowid ${root}:${cls_priority}
Q_COUNT=$((Q_COUNT + 1))
}
@@ -398,10 +431,18 @@ configure_queue() {
fi
rate=$(( rate / 1000 ))
#burst size is either bitrate*0.00025 or max_packat_size in bit whichever is greater
local avg_bs=$(( rate * 25 ))
config_get b_size "$sid" "burst_size"
if [ "$b_size" == "0" ]; then
if [ "$b_size" > "0" ]; then
bs="$b_size"
fi
bs=$(( bs * 8 ))
if [ $avg_bs -gt $bs ]; then
bs="$avg_bs"
fi
bs=$(( bs / 1000 ))
}
local wanport="$(db -q get hw.board.ethernetWanPort)"
for interf in $(db -q get hw.board.ethernetPortOrder); do
@@ -420,8 +461,15 @@ configure_queue() {
rate=$(( link_rate * 1000 ))
fi
# TODO using 1500 as allot and avpkt, if shaper config exist for interf get burst_size of shaper for actual value
tc qdisc add dev $interf root handle ${qdisc_idx}: cbq allot $bs avpkt 1500 bandwidth ${rate}kbit
p_qdisc_idx=`expr $qdisc_idx + 11`
# port shaper needs to add at root tbf qdisc, child class gets token based on rate & burst_size
tc qdisc add dev $interf root handle ${p_qdisc_idx}: tbf rate ${rate}kbit burst ${bs}k limit 1M
tc qdisc add dev $interf parent ${p_qdisc_idx}: handle ${qdisc_idx}: htb default 10
local par_class=1
tc class add dev $interf parent ${qdisc_idx}: classid ${qdisc_idx}:$par_class htb rate ${rate}kbit prio 8 ceil ${rate}kbit
tc filter add dev $interf parent ${qdisc_idx}:0 matchall flowid ${qdisc_idx}:$par_class
# if qdisc_idx is the index corresponds to WAN port, then
# it would be the MAJOR portion of the destination class ID.
# under the same qdisc. We are programming for WAN port only.
@@ -429,7 +477,11 @@ configure_queue() {
MAJOR="$qdisc_idx"
fi
config_foreach handle_queue queue $interf $rate $qdisc_idx $bs
#calculate sum of queue weight, to derive the quantum value
SOQ_wgt=0
config_foreach handle_q_weight queue $interf
config_foreach handle_queue queue $interf $rate $qdisc_idx $bs $par_class
done
}
@@ -453,11 +505,11 @@ configure_policer() {
configure_qos() {
pre_configure_queue
configure_queue
configure_policer
configure_classify
if [ -f "/tmp/qos/classify.ebtables" ]; then
sh /tmp/qos/classify.ebtables
fi
configure_policer
}
reload_qos() {

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.2
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
@@ -23,6 +23,7 @@ PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
include ../bbfdm/bbfdm.mk
MAKE_PATH:=src
@@ -100,11 +101,10 @@ define Package/stunc/default/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/usr/lib/bbfdm
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/libstunc.so $(1)/usr/lib/bbfdm/libstunc.so
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/stunc $(1)/usr/sbin/
$(INSTALL_BIN) ./files/etc/init.d/stunc $(1)/etc/init.d/stunc
$(INSTALL_DATA) ./files/etc/config/stunc $(1)/etc/config/stunc
$(call BbfdmInstallPlugin,$(1),$(PKG_BUILD_DIR)/src/libstunc.so)
endef
Package/stunc/install = $(Package/stunc/default/install)

View File

@@ -69,8 +69,8 @@ PKG_MIRROR_HASH:=skip
SULU_PLUGIN_INSTALL:=1
define Package/$(PKG_NAME)/install
$(INSTALL_DIR) $(1)/sulu/config/widgets
$(CP) $(PKG_BUILD_DIR)/src/config/widgets/lcm-store.json $(1)/sulu/config/widgets/
$(INSTALL_DIR) $(1)/<install_path>
$(CP) $(PKG_BUILD_DIR)/<source_path>/lcm-store.json $(1)/<install_path>/
endef
include ../sulu-builder/sulu.mk

View File

@@ -5,21 +5,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=sulu-base
PKG_VERSION:=3.0.3
PKG_VERSION:=3.1.21
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/sulu.git
PKG_SOURCE_VERSION:=a121bb5f3f287c880cf6dd907007f4e9e8559591
PKG_SOURCE_VERSION:=b52092230833fffdec881ed1b91386399f5e2310
PKG_MIRROR_HASH:=skip
SULU_MOD:=core
include ../sulu-builder/sulu.mk
define Package/$(PKG_NAME)/install
$(INSTALL_DIR) $(1)/sulu/config/widgets
$(CP) $(PKG_BUILD_DIR)/src/config/*.json $(1)/sulu/config/
$(CP) $(PKG_BUILD_DIR)/src/config/widgets/diagnostics.json $(1)/sulu/config/widgets/
$(CP) $(PKG_BUILD_DIR)/src/config/widgets/wan.json $(1)/sulu/config/widgets/
endef
# call BuildPackage - OpenWrt buildroot signature

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=sulu-builder
PKG_VERSION:=3.0.4
PKG_VERSION:=3.1.21
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/sulu-builder.git
PKG_SOURCE_VERSION:=aefa6f82bb2f93677dafb45b2ecbab87b866fdc6
PKG_SOURCE_VERSION:=eb44f85f1a819f4d5fd6e74d7e2dfd7011381c63
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)
@@ -71,6 +71,14 @@ define Package/sulu/config
help
Provide directory path for the certficates for PWA,
directory must contain 'pwa.crt' and 'pwa.key'.
config SULU_EXPERIMENTAL_WIDGETS
depends on PACKAGE_sulu
bool "Enable SULU under developement widget"
default n
help
Enable SULU Widgets which are under developement.
endef
define Package/sulu-builder/config
@@ -95,6 +103,14 @@ define Package/sulu-builder/config
help
Provide directory path for the certficates for PWA,
directory must contain 'pwa.crt' and 'pwa.key'.
config SULU_EXPERIMENTAL_WIDGETS
depends on PACKAGE_sulu-builder
bool "Enable SULU under developement widget"
default n
help
Enable SULU Widgets which are under developement.
endef
ifeq ($(BUILD_VARIANT),builder)
@@ -135,31 +151,30 @@ ifeq ($(CONFIG_SULU_PWA_APP),y)
endif
endef
define Package/sulu/install
$(Package/sulu/install/Default)
$(CP) $(PKG_BUILD_DIR)/dist/* $(1)/sulu
ifneq ($(CONFIG_SULU_PWA_APP),y)
$(CP) $(PKG_BUILD_DIR)/dist/nonPWA.html $(1)/sulu/index.html
endif
define Package/sulu/install/Post
# Post install cleanup
ifneq ($(CONFIG_PACKAGE_skopeo)$(CONFIG_PACKAGE_umoci),yy)
$(RM) $(1)/sulu/presets/lcm-store.json
endif
ifneq ($(CONFIG_SULU_EXPERIMENTAL_WIDGETS),y)
$(RM) $(1)/sulu/presets/mesh-onboarding-instructions.json
endif
ifneq ($(CONFIG_SULU_PWA_APP),y)
$(CP) $(PKG_BUILD_DIR)/dist/nonPWA.html $(1)/sulu/index.html
endif
endef
define Package/sulu/install
$(Package/sulu/install/Default)
$(CP) $(PKG_BUILD_DIR)/dist/* $(1)/sulu
$(Package/sulu/install/Post)
endef
define Package/sulu-builder/install
$(Package/sulu/install/Default)
$(INSTALL_DIR) $(1)/sulu/presets
$(INSTALL_DIR) $(1)/sulu/settings
$(CP) $(PKG_BUILD_DIR)/build/dist/* $(1)/sulu
ifneq ($(CONFIG_SULU_PWA_APP),y)
$(CP) $(PKG_BUILD_DIR)/build/dist/nonPWA.html $(1)/sulu/index.html
endif
$(CP) $(PKG_BUILD_DIR)/build/device/presets/*.json $(1)/sulu/presets/
$(CP) $(PKG_BUILD_DIR)/build/device/settings/*.json $(1)/sulu/settings/
ifneq ($(CONFIG_PACKAGE_skopeo)$(CONFIG_PACKAGE_umoci),yy)
$(RM) $(1)/sulu/presets/lcm-store.json
endif
$(Package/sulu/install/Post)
endef
$(eval $(call BuildPackage,sulu-builder))

View File

@@ -1,5 +1,5 @@
config global 'global'
option role_based_access '1'
option SessionMode 'Require'
option SessionMode 'Allow'
list user 'admin'
list user 'user'

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;

View File

@@ -21,12 +21,24 @@ add_sulu_nginx_uci()
uci_set nginx _sulu_s error_log '/dev/null'
fi
if ! uci_get nginx _suluredirect >/dev/null 2>&1; then
uci_add nginx server _suluredirect
uci_add_list nginx _suluredirect listen "8080"
uci_add_list nginx _suluredirect listen "[::]:8080"
uci_set nginx _suluredirect server_name '_suluredirect'
uci_set nginx _suluredirect return '302 https://$host:8443$request_uri'
# 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"
# uci_add_list nginx _suluredirect listen "[::]:8080"
# 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,22 +4,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=sulu-lcm
PKG_VERSION:=3.0.0
PKG_VERSION:=3.1.21
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/sulu-lcm.git
PKG_SOURCE_VERSION:=ac2e418026a0570bec16a77186a948e18e49d4c7
PKG_SOURCE_VERSION:=acb0853935ff1f465bb8dc0108b52b26029a61a1
PKG_MIRROR_HASH:=skip
SULU_PLUGIN_INSTALL:=1
define Package/$(PKG_NAME)/install
$(INSTALL_DIR) $(1)/sulu/config/widgets
ifeq ($(CONFIG_PACKAGE_skopeo)$(CONFIG_PACKAGE_umoci),yy)
$(CP) $(PKG_BUILD_DIR)/src/config/widgets/lcm-store.json $(1)/sulu/config/widgets/
endif
endef
include ../sulu-builder/sulu.mk

View File

@@ -4,11 +4,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=sulu-multi-ap
PKG_VERSION:=3.0.3
PKG_VERSION:=3.1.21
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/sulu-multi-ap.git
PKG_SOURCE_VERSION:=a8ae1ce9cbbfbae9ee4234272f0af9dc55698f1b
PKG_SOURCE_VERSION:=e9a6d5e8e14b59afb588140b2f7ff4367c361f84
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.21
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/sulu-parental-control.git
PKG_SOURCE_VERSION:=b50857e88d14de9752bd081159a6c71e8ea03539
PKG_SOURCE_VERSION:=ac898cf7c1d03eff29991d3850ba0911d803c06f
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.3
PKG_VERSION:=2.4.2
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:=ad39d3aa3b69c4efcb9f0230cee17af00fb3337f
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
@@ -22,6 +22,7 @@ PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
include ../bbfdm/bbfdm.mk
define Package/swmodd
SECTION:=utils
@@ -74,14 +75,12 @@ endif
define Package/swmodd/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DIR) $(1)/usr/lib/bbfdm
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_DIR) $(1)/usr/share/swmodd/
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_BIN) ./files/etc/init.d/swmodd $(1)/etc/init.d/swmodd
$(INSTALL_BIN) ./files/etc/config/swmodd $(1)/etc/config/swmodd
$(INSTALL_BIN) $(PKG_BUILD_DIR)/swmodd $(1)/usr/sbin/swmodd
$(INSTALL_BIN) $(PKG_BUILD_DIR)/libswmodd.so $(1)/usr/lib/bbfdm/libswmodd.so
$(INSTALL_BIN) $(PKG_BUILD_DIR)/scripts/opkg_offline.sh $(1)/usr/share/swmodd/opkg_offline
$(INSTALL_BIN) ./files/etc/uci-defaults/01-fix-bundle-path $(1)/etc/uci-defaults/01-fix-bundle-path
ifeq ($(CONFIG_PACKAGE_liblxc),y)
@@ -96,6 +95,7 @@ ifeq ($(CONFIG_PACKAGE_crun),y)
$(INSTALL_BIN) ./files/etc/config/crun $(1)/etc/config/crun
$(INSTALL_BIN) $(PKG_BUILD_DIR)/scripts/crun_create $(1)/usr/sbin/crun_create
endif
$(call BbfdmInstallPlugin,$(1),$(PKG_BUILD_DIR)/libswmodd.so)
endef
define Package/swmodd-cgroup/install

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

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.6
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/timemngr.git
PKG_SOURCE_VERSION:=b90e33743155735f8df9e86f2e053fed7601adb2
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,65 @@
#!/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' \
'loglevel:uinteger:1'
}
start_service() {
local enable loglevel
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
validate_global_section || {
return 1
}
if [ "$enable" != 1 ]; then
return 1
fi
procd_open_instance timemngr_ubus
procd_set_param command $PROG_UBUS
procd_append_param command -l ${loglevel}
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,72 @@
#!/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"
uci -q set time.client.interface="wan"
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

4
tr104/Config.in Normal file
View File

@@ -0,0 +1,4 @@
config TR104_DOTSO_PLUGIN
bool "Use bbfdm DotSO plugin backend to provide TR104 and extension datamodel"
depends on PACKAGE_tr104
default n

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:=cd0c5d1f4a8489e3d93b5cf433f8f0df638bf62b
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
@@ -21,12 +21,14 @@ PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
include ../bbfdm/bbfdm.mk
define Package/$(PKG_NAME)
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=TRx69
TITLE:=TR104 Datamodel Daemon
MENU:=1
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +asterisk
endef
@@ -34,8 +36,13 @@ define Package/$(PKG_NAME)/description
TR104 datamodel daemon
endef
define Package/$(PKG_NAME)/config
source "$(SOURCE)/Config.in"
endef
CMAKE_OPTIONS += \
-DBBF_VENDOR_PREFIX:String="$(CONFIG_BBF_VENDOR_PREFIX)" \
-DDAEMON_JSON_INPUT:String="/etc/tr104/input.json" \
-DDM_ENABLE_UBUS=ON
ifeq ($(LOCAL_DEV),1)
@@ -46,10 +53,18 @@ endif
define Package/$(PKG_NAME)/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/tr104d
ifeq ($(CONFIG_TR104_DOTSO_PLUGIN),y)
$(call BbfdmInstallPlugin,$(1),$(PKG_BUILD_DIR)/libdm/tr104/libtr104.so)
$(call BbfdmInstallPlugin,$(1),$(PKG_BUILD_DIR)/libdm/tr104_ext/libtr104ext.so)
else
$(INSTALL_DIR) $(1)/etc/tr104/plugins/
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/daemon/ubus/tr104d $(1)/usr/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/libdm/tr104/libtr104.so $(1)/etc/tr104/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/libdm/tr104_ext/libtr104ext.so $(1)/etc/tr104/plugins/
$(INSTALL_BIN) ./files/etc/init.d/tr104d $(1)/etc/init.d/
$(INSTALL_BIN) ./files/etc/tr104/input.json $(1)/etc/tr104/input.json
endif
endef
$(eval $(call BuildPackage,$(PKG_NAME)))

View File

@@ -14,7 +14,9 @@ log() {
start_service()
{
procd_open_instance "tr104d"
procd_set_param command ${PROG}
procd_append_param command -m "/etc/tr104/input.json"
procd_set_param stdout 1
procd_set_param stderr 1

View File

@@ -0,0 +1,34 @@
{
"daemon": {
"config": {
"loglevel": "1",
"refresh_time": "10",
"transaction_timeout": "30"
},
"input": {
"type": "DotSo",
"name": "/etc/tr104/libtr104.so",
"plugin_dir": "/etc/tr104/plugins/"
},
"output": {
"type": "UBUS",
"name": "tr104",
"parent_dm": "Device.Services.",
"object": "VoiceService",
"root_obj": "bbfdm"
}
},
"cli": {
"config": {
"proto": "both",
"instance_mode": 0
},
"input": {
"type": "UBUS",
"name": "tr104"
},
"output": {
"type": "CLI"
}
}
}

View File

@@ -6,13 +6,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=twamp
PKG_VERSION:=1.4.0
PKG_VERSION:=1.4.2
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
@@ -21,6 +21,7 @@ PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
include ../bbfdm/bbfdm.mk
define Package/$(PKG_NAME)
SECTION:=utils
@@ -46,18 +47,16 @@ endif
define Package/$(PKG_NAME)/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_DIR) $(1)/usr/lib/bbfdm
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) $(PKG_BUILD_DIR)/twampd $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/usr/lib/bbfdm
$(INSTALL_BIN) $(PKG_BUILD_DIR)/libtwamp.so $(1)/usr/lib/bbfdm/libtwamp.so
$(INSTALL_DATA) ./files/etc/config/twamp $(1)/etc/config/twamp
$(INSTALL_BIN) ./files/etc/init.d/twampd $(1)/etc/init.d/twampd
$(INSTALL_BIN) ./files/etc/firewall.twamp $(1)/etc/firewall.twamp
$(INSTALL_BIN) ./files/etc/uci-defaults/92-twampfirewall $(1)/etc/uci-defaults/92-twampfirewall
$(INSTALL_BIN) ./files/etc/uci-defaults/93-twamp_fix_reflector $(1)/etc/uci-defaults/93-twamp_fix_reflector
$(call BbfdmInstallPlugin,$(1),$(PKG_BUILD_DIR)/libtwamp.so)
endef
$(eval $(call BuildPackage,$(PKG_NAME)))

View File

@@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=udpecho
PKG_VERSION:=2.2.0
PKG_VERSION:=2.2.1
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
@@ -26,6 +26,7 @@ PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
include ../bbfdm/bbfdm.mk
MAKE_PATH:=src
@@ -64,13 +65,12 @@ endif
define Package/$(PKG_NAME)-server/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_DIR) $(1)/usr/lib/bbfdm
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/udpechoserverd $(1)/usr/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/libudpechoserver.so $(1)/usr/lib/bbfdm/
$(INSTALL_DATA) ./files/etc/config/udpechoserver $(1)/etc/config/udpechoserver
$(INSTALL_BIN) ./files/etc/init.d/udpechoserverd $(1)/etc/init.d/udpechoserverd
$(call BbfdmInstallPlugin,$(1),$(PKG_BUILD_DIR)/src/libudpechoserver.so)
endef
define Package/$(PKG_NAME)-client/install

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=usermngr
PKG_VERSION:=1.2.1
PKG_VERSION:=1.2.4
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:=58c29e91659e79413048b1fd4d8724b89426846d
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
@@ -20,6 +20,7 @@ PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
include ../bbfdm/bbfdm.mk
MAKE_PATH:=src
@@ -45,12 +46,11 @@ define Package/usermngr/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_DIR) $(1)/usr/lib/bbfdm
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/etc/init.d/users $(1)/etc/init.d/users
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/etc/uci-defaults/90-indicate-bootstrap $(1)/etc/uci-defaults/90-indicate-bootstrap
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/etc/uci-defaults/91-sync-shells $(1)/etc/uci-defaults/91-sync-shells
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/libusermngr.so $(1)/usr/lib/bbfdm/libusermngr.so
$(INSTALL_BIN) ./files/etc/config/users $(1)/etc/config/users
$(call BbfdmInstallPlugin,$(1),$(PKG_BUILD_DIR)/src/libusermngr.so)
endef
$(eval $(call BuildPackage,usermngr))

View File

@@ -6,11 +6,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=usp-js
PKG_VERSION:=1.2.2
PKG_VERSION:=1.2.3
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/usp-js.git
PKG_SOURCE_VERSION:=80712f48da527a1e524e2d04d40ce5734030483e
PKG_SOURCE_VERSION:=61cf7adb3258820f12f5dc02c69c5bdd612ed4cd
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip

Some files were not shown because too many files have changed in this diff Show More