Compare commits

...

167 Commits

Author SHA1 Message Date
suvendhu
68595e8bf8 Implemented Device.Time as per datamodel 2.16 2023-08-04 14:40:34 +00:00
Amin Ben Romdhane
8e1a3b1184 bbfdm: 1.3.4 2023-08-04 16:38:27 +02:00
Anjan Chanda
854c2aa507 decollector: 4.1.0.0 2023-08-04 16:08:22 +02:00
Anjan Chanda
30282db3d5 ieee1905: add flags HAS_UBUS and EXTENSION_ALLOWED 2023-08-04 15:32:25 +02:00
Jakob Olsson
6c9f034d29 map-agent: 4.3.4.3 2023-08-04 14:59:46 +02:00
Amit Kumar
d19c85ebde ponmngr: handling the loid authentication 2023-08-04 10:44:11 +00:00
Rahul Thakur
dfa0414918 qosmngr: apply ebtables rules for linux platform 2023-08-04 04:51:23 +00:00
Amin Ben Romdhane
30a4b1b745 bbfdm: 1.3.3 2023-08-03 15:59:58 +02:00
Vivek Kumar Dutta
ebbe691ecc sulu: Option to enable PWA
- Added option to enable PWA support
- Option to define path of PWA certificates
- Form validation fix
2023-08-03 19:00:56 +05:30
Amin Ben Romdhane
ec9495cd41 swmodd: 2.3.1 2023-08-02 23:11:39 +02:00
Amin Ben Romdhane
c736b6244a usermngr: 1.2.1 2023-08-02 23:10:46 +02:00
Amin Ben Romdhane
ec4bd3cd91 periodicstats: 1.5.1 2023-08-02 23:09:35 +02:00
Amin Ben Romdhane
d685b60f45 bbfdm: 1.3.2 2023-08-02 23:08:02 +02:00
Sukru Senli
01f98c52c9 map-agent: activate dynamic-backhaul handling only if device is operating in extender mode
if AL bridge network uses DHCP as protocol, assume it is extender mode
2023-08-02 11:24:41 +00:00
Ratish
89af5bba92 bbfdm: Updated the logic to identify macvlan device 2023-08-02 15:57:37 +05:30
Grzegorz Sluja
f3edc9b7eb dectmngr: 3.5.12
27f6923 Handle DECT call modes correctly with call_waiting settings
eecab9a Play keypad tones on DECT handset during dialling
2023-08-01 11:03:52 +02:00
Amin Ben Romdhane
8ec904fac2 bbfdm: 1.3.1 2023-07-31 16:45:03 +02:00
Vivek Kumar Dutta
1d10770ed5 obuspa: 7.0.2.25 2023-07-31 19:25:00 +05:30
Vivek Kumar Dutta
01f738b2b3 sulu: 2.2.18 2023-07-31 17:52:35 +05:30
Vivek Kumar Dutta
dc0b80097b obuspa: Config to enable test controller 2023-07-31 12:46:57 +05:30
Vivek Kumar Dutta
ee283c2e1b usp-js: 1.2.2 2023-07-31 12:40:30 +05:30
Vivek Kumar Dutta
d1f4dfbb71 sulu: 2.2.17 2023-07-28 15:06:39 +05:30
Sukru Senli
28603606d6 decollector: do not pass collection interval argument if less than 30 2023-07-27 16:24:55 +02:00
Sukru Senli
0e06579c71 map-controller: update default config 2023-07-27 16:24:34 +02:00
Sukru Senli
89afb954da map-controller: add TS related config options to config 2023-07-27 16:01:34 +02:00
Janusz Dziedzic
01899c924a libwifi: 7.2.110 2023-07-27 11:57:10 +00:00
Vivek Kumar Dutta
41453f0f97 icwmp: 9.5.1 2023-07-27 12:41:58 +05:30
Amit Kumar
dd12c2574f ponmngr: handled equipment-id from uci config
removed unwanted demon bcm_msgd
2023-07-27 10:25:56 +05:30
Amin Ben Romdhane
f7087bb8c7 usermngr: 1.2.0 2023-07-26 18:21:46 +02:00
Amin Ben Romdhane
16ce80d9ee periodicstats: 1.5.0 2023-07-26 18:21:04 +02:00
Amin Ben Romdhane
02f85d54d0 xmppc: 2.2.0 2023-07-26 18:20:04 +02:00
Amin Ben Romdhane
c80da485c9 twamp: 1.4.0 2023-07-26 18:19:08 +02:00
Amin Ben Romdhane
38e95765a3 swmodd: 2.3.0 2023-07-26 18:17:55 +02:00
Amin Ben Romdhane
1141ca1ef9 stunc: 1.3.0 2023-07-26 18:16:36 +02:00
Amin Ben Romdhane
f0b1a32208 udpecho: 2.2.0 2023-07-26 18:15:30 +02:00
Amin Ben Romdhane
28dda87cfb icwmp: 9.5.0 2023-07-26 18:13:51 +02:00
Amin Ben Romdhane
f5be820ad5 bbfdm: 1.3.0 2023-07-26 18:12:42 +02:00
Janusz Dziedzic
8820cbe1b1 wifimngr: 16.0.10 2023-07-26 14:41:11 +00:00
Janusz Dziedzic
11293bb304 libwifi: 7.2.109 2023-07-26 14:40:10 +00:00
Vivek Kumar Dutta
5dcf58e7dd swmodd: select lxc-device 2023-07-26 16:48:57 +05:30
Vivek Kumar Dutta
91d345c7fb swmodd: Select lxc utils based on config option 2023-07-26 15:34:13 +05:30
Lukasz Kotasa
dc4c8bafc2 tr104: 1.0.3 2023-07-26 11:09:55 +02:00
Vivek Kumar Dutta
98287d382b sulu: 2.2.16 2023-07-25 13:35:24 +05:30
Sukru Senli
fbaa28712d map-agent: update config 2023-07-25 09:21:37 +02:00
Sukru Senli
84a5b3f99f capiagent: start only mapagent or controller exists and enabled 2023-07-25 09:17:37 +02:00
Janusz Dziedzic
4ebffa9cfb map-agent: 4.3.4.2 2023-07-24 12:57:00 +00:00
Sukru Senli
ed33a61be7 iop: reselect netmode until testnet is moved out of it 2023-07-24 14:31:45 +02:00
Janusz Dziedzic
99eb4bf546 map-controller: 4.3.1.1 2023-07-24 12:12:06 +00:00
Vivek Kumar Dutta
0745796112 bbfdm: Set respawn for micro-services 2023-07-24 17:19:46 +05:30
Vivek Kumar Dutta
ebcf8b4b61 sulu: fix site redirection 2023-07-24 15:28:07 +05:30
Sukru Senli
01f11f1ad0 map-controller: set default de_connect_interval 2023-07-24 10:26:22 +02:00
Amin Ben Romdhane
df1537cd0c bbfdm: 1.2.8 2023-07-24 10:00:05 +02:00
Sukru Senli
b370f1c242 multi-ap: update configs of map components
map-agent and map-controller are disabled by default

component versions are lifted to 4
2023-07-24 09:33:36 +02:00
Sukru Senli
c71de4a811 iop: update config 2023-07-24 09:32:50 +02:00
Vivek Kumar Dutta
30e8ff5884 tr104: 1.0.2 2023-07-24 12:11:04 +05:30
Vivek Kumar Dutta
454eba7e5e swmodd: 2.2.8 2023-07-24 12:02:05 +05:30
Amin Ben Romdhane
8305d28285 bbfdm: 1.2.7 2023-07-24 00:11:30 +02:00
Grzegorz Sluja
cf4731761d voicemngr: Handle clid info in call waiting 2023-07-21 16:47:20 +02:00
Janusz Dziedzic
bd81dfd51b libwifi: 7.2.108 2023-07-21 09:14:29 +00:00
Vivek Kumar Dutta
e5a41d343b bbfdm: 1.2.6 2023-07-20 19:03:49 +05:30
Vivek Kumar Dutta
97c7eacf69 swmodd: 2.2.7 2023-07-20 18:34:43 +05:30
Vivek Kumar Dutta
d1ceed52f2 swmodd: 2.2.6 2023-07-20 15:51:17 +05:30
Suvendhu Hansa
6aef44ea9b icwmp: 9.4.2 2023-07-20 09:59:21 +00:00
Vivek Kumar Dutta
fbf0aa29a3 tr104: 1.0.1 2023-07-19 16:42:10 +05:30
Vivek Kumar Dutta
8a9c147952 sulu: 2.2.14 2023-07-19 15:21:28 +05:30
Janusz Dziedzic
ac30cad2ed map-controller: 4.3.1.0 2023-07-19 06:48:25 +00:00
Sukru Senli
1ae87be0ac iop: config: select some needed iptables modules 2023-07-18 16:19:48 +02:00
Amin Ben Romdhane
b93ebe260b bbfdm: 1.2.5 2023-07-18 15:07:52 +02:00
Vivek Kumar Dutta
7160fadf56 tr104: Added tr104d as datamodel microservice daemon 2023-07-18 08:03:08 +00:00
Vivek Kumar Dutta
f06a0e93b7 bbfdm: Move tr104 to run as dm micro-service 2023-07-18 08:03:08 +00:00
Janusz Dziedzic
7a54b81daf map-controller: 4.3.0.9 2023-07-17 14:27:47 +00:00
Vivek Kumar Dutta
bd50a960ec obudpst: 8.0.0 2023-07-17 18:05:14 +05:30
Amin Ben Romdhane
64d3e07dd2 bbfdm: 1.2.3 2023-07-13 18:09:46 +02:00
Filip Matusiak
9401cea337 map-agent: 4.3.4.1 2023-07-13 10:19:18 +00:00
Vivek Kumar Dutta
99c15dfe30 sulu: 2.2.13 2023-07-13 15:45:10 +05:30
suvendhu
ce43197f45 icwmp: Optimize dhcp handler scripts 2023-07-13 14:37:45 +05:30
suvendhu
047e533140 obuspa: Support dhcp deployment via option 125 2023-07-13 14:03:10 +05:30
Amin Ben Romdhane
8c70ba4f00 bbfdm: 1.2.2 2023-07-12 22:55:52 +02:00
Michael Polyntsov
a3760e2082 libvoice-airoha: 1.0.5
Add tone maps for Colombia, Panama and India, fix minor issues for the USA tone map
2023-07-11 17:01:32 +02:00
Sukru Senli
00f9133ae3 ethmngr: enable binary compilation for ipq53xx 2023-07-11 16:36:05 +02:00
Rahul Thakur
184dcd5b97 ponmngr: update equipment id 2023-07-11 17:32:06 +05:30
Amin Ben Romdhane
66163d3945 periodicstats: 1.4.2 2023-07-10 16:31:10 +02:00
Amin Ben Romdhane
8bdfd3ea51 bulkdata: 2.1.1 2023-07-10 16:29:47 +02:00
Amin Ben Romdhane
0689c0f91a bbfdm: Add support for service registration 2023-07-10 16:28:27 +02:00
Vivek Kumar Dutta
7baea620ec sulu: 2.2.12 2023-07-10 17:18:04 +05:30
Padmalochan Mohapatra
a14dbdfb9c ponmngr : propagation of changed equipmentId parameter to OLT 2023-07-10 05:51:03 +00:00
Vivek Kumar Dutta
7c706a045b bbfdm: 1.2.0 2023-07-08 10:27:21 +05:30
Janusz Dziedzic
c346df2802 libwifi: 7.2.107 2023-07-07 14:48:37 +00:00
Amin Ben Romdhane
27ccd1582d icwmp: 9.4.0 2023-07-07 15:27:09 +02:00
Anatoly Mirin
7c3d1f919c mcastmngr: fixed mcproxy crash for multiupstream config
If more than one upstream iface is defined, mcastmngr runs mcproxy
multiple times for each protocol (e.g. igmp) with the same config.
So second mcproxy process fails because it can't lock the MRT flag
(/proc/sys/net/ipv/default/mc_forwarding) already blocked by the
first process.

If one good and one bad (no IP address) upstream interfaces are defined,
mcastmngr generates wrong filter configuration and mcproxy cannot start
at all.

Now upstream and downstream ifaces are checked in the
'config_mcproxy_interfaces' function and only good interfaces (with IP)
are written to the mcproxy config. Only one mcproxy process is started
per protocol (igmp, mld), configured to handle multiple interfaces
if necessary.

'get_network_of' function removed. This function fails in some
uci configurations for interfaces that refer to a device indirectly.
Example - network.wan6.device='@wan'
2023-07-07 04:59:57 +00:00
Vivek Kumar Dutta
3f398d1016 obuspa: Optimize instance caching based on groups 2023-07-06 19:29:33 +05:30
Amin Ben Romdhane
c6b9c83194 bbfdm: 1.0.34 2023-07-06 15:17:21 +02:00
Vivek Kumar Dutta
16843b0260 bbfdm: Support for hostname and paramlist
hostname and paramlist now added in DHCPv4 server pool client options
2023-07-06 11:14:33 +05:30
Vivek Kumar Dutta
61cba7f7f7 bbfdm: Fix usp events 2023-07-06 10:27:30 +05:30
Vivek Kumar Dutta
2fb2b24201 sulu: 2.2.11 2023-07-05 19:55:40 +05:30
Janusz Dziedzic
9c838d993c map-agent: 4.3.4.0 2023-07-04 13:12:23 +00:00
Vivek Kumar Dutta
0e1451bcd2 decollector: 4.0.2.6 2023-07-04 18:35:14 +05:30
Sukru Senli
0c3299f631 decontroller: periodically refresh based on mapcontroller config de_collect_interval option 2023-07-04 15:01:32 +02:00
Vivek Kumar Dutta
c07da46687 sulu: 2.2.10 2023-07-04 15:37:16 +05:30
Vivek Kumar Dutta
f81fc0b77b icwmp: Optimize firewall reloads 2023-07-03 05:22:16 +00:00
Vivek Kumar Dutta
ee67f14abd bbfdm: 1.0.31 2023-07-03 10:27:27 +05:30
Vivek Kumar Dutta
e5c76f17f6 sulu: 2.2.9 2023-06-29 22:38:36 +05:30
Vivek Kumar Dutta
546b14bed3 obuspa: 7.0.2.22 2023-06-29 17:29:02 +05:30
Jakob Olsson
c4523c6040 map-agent: 4.3.3.9 2023-06-28 16:56:37 +02:00
Marina Maslova
072d786a14 wifimngr: 16.0.9 2023-06-28 13:30:01 +03:00
Marina Maslova
2703fead62 wifimngr: to not trigger reload on wireless change
mac80211.sh will handle it by sending of SIGHUP to wifimngr
2023-06-28 10:17:07 +00:00
Yalu Zhang
c3922b7f3b libvoice-d2-1.0.6: Fix some errors in voice_connection_parm_update() 2023-06-28 11:05:04 +02:00
Vivek Kumar Dutta
ac1abfa6c3 bbfdm: 1.0.30 2023-06-27 19:29:51 +05:30
Wenpeng Song
40b8dd2869 voicemngr: Support ptime change on a connection
Also with refactoring below.
- Support codec and ptime change in one place
- Can support other parameter changes in the future, e.g. echo cancellation, silence suppression

libvoice-broadcom, libvoice-airoha: API updated.
libvoice-d2: Dummy API for ptime.
2023-06-27 13:01:49 +02:00
Lukasz Kotasa
578a4815ff bbfdm: 1.0.29 2023-06-27 12:29:13 +02:00
Amin Ben Romdhane
68db860632 bbfdm: 1.0.28 2023-06-27 09:45:41 +02:00
Anjan Chanda
a804d28cef decollector: 4.0.2.5 2023-06-26 20:34:45 +02:00
Jakob Olsson
81a0b6345e map-agent: 4.3.3.8 2023-06-26 13:00:50 +02:00
Vivek Kumar Dutta
3568f7c38d sulu: 2.2.8 2023-06-22 20:49:53 +05:30
Sukru Senli
7ba3ca8af4 ethmngr: update logger type 2023-06-22 14:48:13 +02:00
Sukru Senli
17b4588e03 ethmngr: adapt set port speed to updated ethctl for broadcom 2023-06-22 14:20:12 +02:00
Vivek Kumar Dutta
0c7040bab0 sulu: 2.2.7 2023-06-22 17:39:36 +05:30
Grzegorz Sluja
cab73a2760 Update package libvoice-airoha
40710f1 Add support for the US country code
ed40f7e Keep the default country setting is the configured country is not supported
2023-06-22 14:06:25 +02:00
Jakob Olsson
0b7165a05e map-agent: add map_port list to package config 2023-06-22 13:45:55 +02:00
Jakob Olsson
792981e80f map-agent: 4.3.3.7 2023-06-22 13:38:21 +02:00
Amin Ben Romdhane
d9faf65cb5 icwmp: 9.3.8 2023-06-22 09:40:29 +02:00
Amit Kumar
11b83611ba ponmnger: datamodel parameter name correction 2023-06-22 05:40:26 +00:00
Rahul Thakur
3a2674270b mcastmngr: implement snoop mode for linux targets 2023-06-22 04:38:35 +00:00
Vivek Kumar Dutta
a3d9850ae4 obuspa: 7.0.2.21 2023-06-21 21:08:45 +05:30
Sukru Senli
edb39ef5d8 ethmngr: update get_max_speed function for Broadcom 2023-06-21 16:02:30 +02:00
Vivek Kumar Dutta
e63d02dbb8 obuspa: 7.0.2.20 2023-06-21 18:00:34 +05:30
Vivek Kumar Dutta
81104955be ieee1905: 8.1.15 2023-06-20 19:08:09 +05:30
Yalu Zhang
8f30e41569 Update packages libvoice-broadcom and libvoice-airoha
Replace GSM-AMR with AMR
2023-06-20 15:29:05 +02:00
Amin Ben Romdhane
1d49d924fe bbfdm: 1.0.27 2023-06-19 17:30:50 +02:00
Amin Ben Romdhane
b24d674d6a bbfdm: 1.0.26 2023-06-19 16:13:50 +02:00
Suvendhu Hansa
5779233ec1 bbfdm: Fix port mapping rules precedence 2023-06-19 14:11:34 +00:00
Marek Puzyniak
8c768bb802 map-topology: 2.5.1.24 2023-06-19 11:46:59 +00:00
Anjan Chanda
bc51e940da ieee1905: 8.1.14 2023-06-19 13:21:07 +02:00
Vivek Kumar Dutta
1793cecba3 sulu: 2.2.6 2023-06-19 09:44:48 +05:30
Amin Ben Romdhane
17dcae26d4 bbfdm: 1.0.25 2023-06-16 09:47:27 +02:00
Jakob Olsson
1858923fec map-controller: 4.3.0.8 2023-06-15 15:28:10 +02:00
Jakob Olsson
2a392a4b98 map-agent: 4.3.3.6 2023-06-15 15:26:03 +02:00
Anjan Chanda
a6ce979c65 decollector: 4.0.2.3 2023-06-15 14:38:52 +02:00
Anjan Chanda
ed3659afe6 wifimngr: 16.0.8 2023-06-15 14:36:28 +02:00
Elena Vengerova
4abb86d20b libwifi: 7.2.106 2023-06-15 14:27:50 +02:00
Jakob Olsson
e762a9a87b map-topology: 2.5.1.23 2023-06-15 14:08:06 +02:00
Vivek Kumar Dutta
85fe1dbc92 bbfdm: 1.0.24 2023-06-15 17:37:29 +05:30
Amit Kumar
8489b6c3b6 map-topology: compilation flag for host wan stats
default enabled compilation flag defained for host was
statistics collection.
2023-06-15 16:16:04 +05:30
Grzegorz Sluja
d7e070db29 Update package dectmngr 3.5.11
Anonymous call to DECT should be displayed as "Withheld"
2023-06-15 12:43:25 +02:00
Rahul Thakur
8bca63207f libdsl: update makefile for broadcom target 2023-06-15 06:04:44 +00:00
Vivek Kumar Dutta
358e5721fe icwmp: 9.3.7 2023-06-14 14:29:53 +05:30
Jakob Olsson
807b7ed64d map-agent: 4.3.3.5 2023-06-14 10:12:11 +02:00
Amin Ben Romdhane
89bc51cace bbfdm: 1.0.23 2023-06-14 09:34:55 +02:00
Yalu Zhang
f3b90dfa4c libvoice-d2-1.0.5: Implementation of the API for changing codec on a connection 2023-06-13 16:16:49 +02:00
Yalu Zhang
79894a4580 Remove g729a from /lib/voice/codecs.json 2023-06-13 16:15:20 +02:00
Grzegorz Sluja
2a98ed289a Update package dectmngr
6ea57b3 Fix the bug that missed calls are not cleared after reading from the handset
2023-06-13 10:54:58 +02:00
Anatoly Mirin
e9f64893ac mcastmngr: fix mcast stats script
Fixed worng temp_igmp_file variable accessing, which caused the same
'temp_igmp_file' file to be used each time 'ubus call mcast stats'
was called instead of /tmp/igmp_stats_<PID> file.
Because of this, temp file was sometimes overwritten by the next call
before it had time to read and the IPTV_IGMP_4-12-1-24_2401.py test
ended with an error.

A waiting loop has also been added so that mcproxy has time to process
the signal and write the dump to a file.
2023-06-12 23:48:08 +03:00
Marek Puzyniak
caa0653bfe libwifi: 7.2.105 2023-06-12 06:55:07 +00:00
Marek Puzyniak
bcb5366e68 wifimngr: 16.0.7 2023-06-12 06:52:58 +00:00
Amin Ben Romdhane
b1158f5f60 bbfdm: 1.0.22 2023-06-09 17:09:22 +02:00
Vivek Kumar Dutta
a400700c49 obuspa: 7.0.2.19 2023-06-09 19:26:13 +05:30
Wenpeng Song
b571fd47c9 libvoice-airoha: Update codec only if the new codec is different from the current one 2023-06-09 09:45:35 +00:00
Jakob Olsson
8b952700ef map-controller: 4.3.0.7: create and use /etc/multiap 2023-06-08 16:45:08 +02:00
Vivek Kumar Dutta
23579fc961 obuspa: Fix crash on operate cmd failure 2023-06-08 19:38:20 +05:30
Jakob Olsson
76b388bb75 Revert "map-agent: add dependency on patch and diff"
This reverts commit 0d5aae21d7.
2023-06-08 13:27:32 +00:00
Jakob Olsson
0c7d3eaee4 map-agent: 4.3.3.4 2023-06-08 15:23:38 +02:00
Wenpeng Song
3986be824a libvoice-airoha: 1.0.4
Implementation of the API to set codec on a connection
2023-06-08 12:57:28 +00:00
Jakob Olsson
ba7b94d4e5 map-agent: 4.3.3.3 2023-06-08 14:21:00 +02:00
Amin Ben Romdhane
e1520fdd48 bbfdm: 1.0.21 2023-06-07 16:20:18 +02:00
Vivek Kumar Dutta
8d20d4ba45 obuspa: Added caching for refresh instances 2023-06-05 19:48:18 +05:30
Vivek Kumar Dutta
723c52bcf5 icwmp: Fix interface update handler
This change includes multiple fixes:
- Fix inform sent on interface.update with non-configured wan interface
- Fix Device.WiFi.NeighboringWiFiDiagnostic. for cwmp
2023-06-05 19:43:41 +05:30
suvendhu
6e3490b985 swmodd: uci-default scrip to migrate lxc-auto config
In release-6.5 lxc-auto used for autostart of lxc containers, this uci-default
migration script shall migrate the autostart info to the configured path.
2023-06-05 19:39:55 +05:30
90 changed files with 1659 additions and 511 deletions

View File

@@ -10,10 +10,6 @@ config BBF_VENDOR_PREFIX
string "Vendor Prefix"
default "X_IOPSYS_EU_"
config BBF_TR104
bool "Enable TR-104 Data Model Support"
default y
config BBF_TR143
bool "Enable TR-143 Data Model Support"
default y

View File

@@ -5,11 +5,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=bbfdm
PKG_VERSION:=1.0.20
PKG_VERSION:=1.3.4
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/bbfdm.git
PKG_SOURCE_VERSION:=4a8d286201efdff814f106e92147c697c32a94a9
PKG_SOURCE_VERSION:=93b023b75ed97bf2efba5e010348c66fb1779fb7
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
@@ -34,7 +34,7 @@ define Package/libbbfdm/default
SUBMENU:=TRx69
TITLE:=Library for broadband forum data model support
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libcurl +libbbfdm-api \
+BBF_TR471:obudpst
+BBF_TR471:obudpst +ntpd
endef
define Package/libbbfdm
@@ -99,7 +99,7 @@ define Package/libbbfdm-api/description
endef
define Package/libbbfdm/description
Library contains the data model tree. It includes TR181, TR104 and TR143 data models
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)
@@ -113,11 +113,6 @@ CMAKE_OPTIONS += \
-DBBF_TR181=ON
-DBBF_WIFI_DATAELEMENTS=ON
ifeq ($(CONFIG_BBF_TR104),y)
CMAKE_OPTIONS += \
-DBBF_TR104=ON
endif
ifeq ($(CONFIG_BBF_TR143),y)
CMAKE_OPTIONS += \
-DBBF_TR143=ON
@@ -176,10 +171,13 @@ define Package/libbbfdm-api/install
endef
define Package/libbbfdm/default/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DIR) $(1)/lib
$(INSTALL_DIR) $(1)/etc/bbfdm
$(INSTALL_DIR) $(1)/etc/bbfdm/dmmap
$(INSTALL_DIR) $(1)/lib/upgrade/keep.d
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(CP) $(PKG_BUILD_DIR)/libbbfdm/libbbfdm.so $(1)/lib/
$(INSTALL_DATA) ./files/lib/upgrade/keep.d/bbf $(1)/lib/upgrade/keep.d/bbf
ifeq ($(CONFIG_BBF_TR143),y)
@@ -187,6 +185,10 @@ ifeq ($(CONFIG_BBF_TR143),y)
$(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
$(INSTALL_CONF) ./files/etc/config/ntp $(1)/etc/config/ntp
$(INSTALL_BIN) ./files/etc/uci-defaults/96-system-ntp-migrate $(1)/etc/uci-defaults/96-system-ntp-migrate
$(INSTALL_BIN) ./files/etc/init.d/ntp $(1)/etc/init.d/ntp
$(LN) /usr/share/bbfdm/ntpstat $(1)/usr/libexec/rpcd/ntpstat
endif
ifeq ($(CONFIG_BBFDM_ENABLE_JSON_PLUGIN),y)
$(INSTALL_DIR) $(1)/etc/bbfdm/json
@@ -211,8 +213,9 @@ define Package/bbfdmd/install
$(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/src/bbfdmd $(1)/usr/sbin/
$(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/bbfdm/bbfdm_services.sh $(1)/etc/bbfdm/
endef
define Package/userinterface/install
@@ -225,7 +228,9 @@ 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)

View File

@@ -0,0 +1,17 @@
#!/bin/sh
BBFDMD="/usr/sbin/bbfdmd"
bbfdm_add_service()
{
local name path
name="${1}"
path="${2}"
if [ -z "${name}" -o -z "$path" ]; then
return 0;
fi
ubus call service add "{'name':'bbfdm.services','instances':{'$name':{'command':['$BBFDMD','-m','$path'], 'respawn': [0]}}}"
}

View File

@@ -0,0 +1,28 @@
config global 'global'
option enable '1'
config timeclient 'client'
option enable_client '1'
option iburst '1'
option version '4'
option peer '0'
option minpoll '6'
option maxpoll '10'
option client_mode 'Unicast'
option server 'ntp1.sth.netnod.se,ntp1.gbg.netnod.se'
config timeclient 'dhcp_driven'
option enable_client '0'
option iburst '1'
option version '4'
option peer '0'
option minpoll '6'
option maxpoll '10'
option client_mode 'Unicast'
option client_interface 'wan'
option client_alias 'DHCP-driven'
config timeserver 'server'
option enable_server '1'
option server_mode 'Unicast'
option ttl '255'

View File

@@ -0,0 +1,74 @@
#!/bin/sh
. /lib/functions.sh
log() {
echo "${@}"|logger -t firewall.dnat -p info
}
exec_cmd() {
if ! eval "$*"; then
log "Failed to run [$*]"
fi
}
reorder_dnat_rules() {
nat_chains=$(iptables -t nat -S | grep -E "^-N zone[a-zA-Z0-9_]+prerouting$" | cut -d' ' -f 2)
for chain in ${nat_chains}; do
# Collect empty remote host & empty dport rules
EMPTY_HOST_PORT=$(iptables -t nat -S ${chain} | grep -E "REDIRECT|DNAT" | grep -v "\-\-dport" | grep -v "\-s ")
if [ -n "${EMPTY_HOST_PORT}" ]; then
echo "${EMPTY_HOST_PORT}" | while read cmd; do
cmd1="iptables -t nat $(echo $cmd | sed 's/-A /-D /g')"
exec_cmd $cmd1
done
fi
# Collect empty remote host but non empty dport rules
EMPTY_HOST=$(iptables -t nat -S ${chain} | grep -E "REDIRECT|DNAT" | grep "\-\-dport" | grep -v "\-s ")
if [ -n "${EMPTY_HOST}" ]; then
echo "${EMPTY_HOST}" | while read cmd; do
cmd1="iptables -t nat $(echo $cmd | sed 's/-A /-D /g')"
exec_cmd $cmd1
done
fi
# Collect non empty remote host but empty dport rules
EMPTY_PORT=$(iptables -t nat -S ${chain} | grep -E "REDIRECT|DNAT" | grep -v "\-\-dport" | grep "\-s ")
if [ -n "${EMPTY_PORT}" ]; then
echo "${EMPTY_PORT}" | while read cmd; do
cmd1="iptables -t nat $(echo $cmd | sed 's/-A /-D /g')"
exec_cmd $cmd1
done
fi
# Now add rules as per datamodel precedence shown below
## Non empty remote host, empty dport
## empty remote host, non empty dport
## empty remote host, empty dport
if [ -n "${EMPTY_PORT}" ]; then
echo "${EMPTY_PORT}" | while read cmd; do
cmd1="iptables -t nat $(echo $cmd)"
exec_cmd $cmd1
done
fi
if [ -n "${EMPTY_HOST}" ]; then
echo "${EMPTY_HOST}" | while read cmd; do
cmd1="iptables -t nat $(echo $cmd)"
exec_cmd $cmd1
done
fi
if [ -n "${EMPTY_HOST_PORT}" ]; then
echo "${EMPTY_HOST_PORT}" | while read cmd; do
cmd1="iptables -t nat $(echo $cmd)"
exec_cmd $cmd1
done
fi
done
}
# Re-order portmapping rules according to precedence hierarchy
reorder_dnat_rules

213
bbfdm/files/etc/init.d/ntp Executable file
View File

@@ -0,0 +1,213 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2006-2011 OpenWrt.org
START=65
STOP=65
USE_PROCD=1
PROG=/sbin/ntpd
HOTPLUG_HELPER=/usr/sbin/ntpd.hotplug-helper
config_file=/var/etc/ntpd.conf
trunc() {
echo -n "" > $config_file
}
emit() {
echo -e "$@" >> $config_file
}
validate_client_section() {
uci_validate_section ntp timeclient $1 \
'enable_client:bool:1' 'iburst:bool:1'\
'version:uinteger:4' 'peer:bool:0' \
'minpoll:uinteger:6' 'maxpoll:uinteger:10' \
'client_mode:string:Unicast' 'server:string'
}
validate_global_section() {
uci_validate_section ntp global global \
'enable:bool:1'
}
validate_server_section() {
uci_validate_section ntp timeserver server \
'enable_server:bool:1' 'server_mode:string:Unicast'\
'ttl:uinteger:255' 'interface:string'
}
start_ntpd_instance() {
local enable
validate_global_section || {
return 1
}
if [ "$enable" != 1 ]; then
return 1
fi
enable_client_sec=$(uci -q show ntp | grep enable_client=\'1\' | cut -d'.' -f 2)
local enable_client iburst version peer minpoll maxpoll client_mode server
if [ -n $enable_client_sec ]; then
validate_client_section $enable_client_sec || {
return 1
}
else
enable_client=0
fi
local enable_server server_mode ttl interface
validate_server_section || {
return 1
}
[ "$enable_client" = 0 ] && [ "$enable_server" = 0 ] && return
mkdir -p "$(dirname "$config_file")"
trunc
emit "driftfile /var/lib/ntp/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
if [ -d "/etc/ntpd.d" ]; then
local entry
for entry in "/etc/ntpd.d"/*.conf; do
emit "includefile ${entry}\n"
done
fi
if [ -d "/tmp/ntpd.d" ]; then
local entry
for entry in "/tmp/ntpd.d"/*.conf; do
emit "includefile ${entry}\n"
done
fi
mkdir -p /var/lib/ntp
chown -R ntp:ntp /var/lib/ntp
procd_open_instance
procd_set_param command $PROG -g -u ntp:ntp -p /var/run/ntpd.pid -n \
-c $config_file
procd_close_instance
procd_open_instance
procd_set_param command $HOTPLUG_HELPER
procd_close_instance
}
start_service() {
start_ntpd_instance
}
reload_service() {
stop
start
}
service_triggers() {
procd_add_reload_trigger "ntp"
local enable_server server_mode ttl interface
validate_server_section || {
return 1
}
if [ "$enable_server" != 0 ] && [ "$server_mode" = "Broadcast" ] && [ -n "$interface" ]; then
procd_open_trigger
procd_add_interface_trigger "interface.*.up" $interface /etc/init.d/ntp restart
procd_close_trigger
fi
}

View File

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

View File

@@ -0,0 +1,75 @@
#!/bin/sh
ntpd_config=$(uci -q get system.ntp)
if [ -n "${ntpd_config}" ]; then
rm -rf /etc/config/ntp
touch /etc/config/ntp
global_section=$(uci -q add ntp global)
uci -q rename ntp."${global_section}"="global"
uci -q set ntp.global.enable="1"
client_section=$(uci -q add ntp timeclient)
uci -q rename ntp."${client_section}"="client"
client_enable=$(uci -q get system.ntp.enabled)
if [ $client_enable -eq 0 ]; then
uci -q set ntp.client.enable_client="0"
else
uci -q set ntp.client.enable_client="1"
fi
uci -q set ntp.client.iburst="1"
uci -q set ntp.client.version="4"
uci -q set ntp.client.peer="0"
uci -q set ntp.client.minpoll="6"
uci -q set ntp.client.maxpoll="10"
uci -q set ntp.client.client_mode="Unicast"
servers=$(uci -q get system.ntp.server)
serv=""
for server in $servers; do
if [ -z "${serv}" ]; then
serv="${server}"
else
serv="${serv},${server}"
fi
done
uci -q set ntp.client.server=${serv}
client_section=$(uci -q add ntp timeclient)
uci -q rename ntp."${client_section}"="dhcp_driven"
uci -q set ntp.dhcp_driven.enable_client="0"
uci -q set ntp.dhcp_driven.iburst="1"
uci -q set ntp.dhcp_driven.version="4"
uci -q set ntp.dhcp_driven.peer="0"
uci -q set ntp.dhcp_driven.minpoll="6"
uci -q set ntp.dhcp_driven.maxpoll="10"
uci -q set ntp.dhcp_driven.client_mode="Unicast"
uci -q set ntp.dhcp_driven.client_interface="wan"
uci -q set ntp.dhcp_driven.client_alias="DHCP-driven"
server_section=$(uci -q add ntp timeserver)
uci -q rename ntp."${server_section}"="server"
server_enable=$(uci -q get system.ntp.enable_server)
if [ $server_enable -eq 1 ]; then
uci -q set ntp.server.enable_server="1"
else
uci -q set ntp.server.enable_server="0"
fi
uci -q set ntp.server.server_mode="Unicast"
uci -q set ntp.server.ttl="255"
uci -q commit ntp
uci -q batch <<-EOT
delete system.ntp
commit system
EOT
fi
exit 0

View File

@@ -7,7 +7,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=bulkdata
PKG_VERSION:=2.1.0
PKG_VERSION:=2.1.1
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
@@ -43,9 +43,9 @@ endif
define Package/$(PKG_NAME)/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bulkdatad $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/etc/bbfdm/json
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bbf_plugin/*.json $(1)/etc/bbfdm/json
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bulkdatad $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/etc/bulkdata
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bbf_plugin/*.json $(1)/etc/bulkdata
$(CP) ./files/* $(1)/
endef

View File

@@ -0,0 +1,15 @@
{
"daemon": {
"input": {
"type": "JSON",
"name": "/etc/bulkdata/bulkdata.json"
},
"output": {
"type": "UBUS",
"name": "bbfdm.bulkdata",
"parent_dm": "Device.",
"object": "BulkData",
"root_obj": "bbfdm"
}
}
}

View File

@@ -3,8 +3,11 @@
START=99
STOP=10
. /etc/bbfdm/bbfdm_services.sh
USE_PROCD=1
PROG="/usr/sbin/bulkdatad"
BULKDATA_JSON_INPUT="/etc/bulkdata/input.json"
start_service() {
local enable
@@ -12,12 +15,14 @@ start_service() {
config_load bulkdata
config_get_bool enable bulkdata enable 1
procd_open_instance bulkdata
[ "$enable" -eq "1" ] && {
procd_open_instance "bulkdata"
procd_set_param command "$PROG"
procd_set_param respawn "3" "7" "0"
procd_set_param respawn
procd_close_instance "bulkdata"
}
procd_close_instance
bbfdm_add_service "bbfdm.bulkdata" "${BULKDATA_JSON_INPUT}"
}
reload_service() {

View File

@@ -6,13 +6,22 @@ STOP=20
USE_PROCD=1
start_service() {
procd_open_instance
procd_set_param command "/usr/sbin/capiagent" "-p 9000"
procd_set_param limits core="unlimited"
# procd_set_param respawn
# procd_set_param stdout 1
# procd_set_param stderr 1
procd_close_instance
if [ -e "/etc/config/mapagent" -o -e "/etc/config/mapcontroller" ]; then
config_load mapagent
config_get_bool agent_enabled agent enabled 1
config_load mapcontroller
config_get_bool controller_enabled controller enabled 1
if [ $agent_enabled -eq 1 -o $controller_enabled -eq 1 ]; then
procd_open_instance
procd_set_param command "/usr/sbin/capiagent" "-p 9000"
procd_set_param limits core="unlimited"
#procd_set_param respawn
#procd_set_param stdout 1
#procd_set_param stderr 1
procd_close_instance
fi
fi
}
service_triggers()

View File

@@ -2,6 +2,6 @@ menu "Configuration"
config DECOLLECTOR_EASYMESH_VERSION
int "Support Easymesh version"
default 2
default 4
endmenu

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=decollector
PKG_VERSION:=4.0.2.1
PKG_VERSION:=4.1.0.0
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=fa1b24690ca00a73401fec1386dbf98932545d05
PKG_SOURCE_VERSION:=d2d1367acf6c438db5089e789ef73698a6b04373
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

@@ -17,10 +17,13 @@ start_service() {
config_load mapcontroller
config_get en controller enabled "0"
config_get collect_int controller de_collect_interval
[ -n "$collect_int" -a $collect_int -lt 30 ] && collect_int=""
[ $en -gt 0 ] && {
procd_open_instance
procd_set_param command "$PROG" "-d"
procd_set_param command "$PROG" "-d" "${collect_int:+-t $collect_int}"
#procd_set_param stdout 1
#procd_set_param stderr 1
procd_set_param respawn

View File

@@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=dectmngr
PKG_RELEASE:=3
PKG_VERSION:=3.5.9
PKG_VERSION:=3.5.12
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/dectmngr.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=ae9e8f3406f1087464b994cdfbc64a4ce2f86ed4
PKG_SOURCE_VERSION:=27f69239e95c7e7c2c9673825bdafde446ae5ae2
PKG_MIRROR_HASH:=skip
endif

View File

@@ -23,7 +23,7 @@ define Package/ethmngr
SECTION:=utils
CATEGORY:=Utilities
TITLE:=Ethernet status and configration utility
DEPENDS:=+(TARGET_brcmbca||TARGET_airoha||TARGET_ipq95xx||TARGET_mediatek):libethernet +libuci +libubox +ubus +libpthread +libnl-genl
DEPENDS:=+(TARGET_brcmbca||TARGET_airoha||TARGET_ipq95xx||TARGET_ipq53xx||TARGET_mediatek):libethernet +libuci +libubox +ubus +libpthread +libnl-genl
endef
define Package/ethmngr/description
@@ -37,7 +37,7 @@ TARGET_CFLAGS += \
-I$(STAGING_DIR)/usr/include/libnl3 \
-D_GNU_SOURCE
ifeq ($(CONFIG_TARGET_brcmbca)$(CONFIG_TARGET_airoha)$(CONFIG_TARGET_ipq95xx)$(CONFIG_TARGET_mediatek),)
ifeq ($(CONFIG_TARGET_brcmbca)$(CONFIG_TARGET_airoha)$(CONFIG_TARGET_ipq95xx)$(CONFIG_TARGET_ipq53xx)$(CONFIG_TARGET_mediatek),)
define Build/Compile
endef
endif
@@ -49,7 +49,7 @@ ifneq ($(CONFIG_TARGET_brcmbca),)
else
$(CP) ./files/linux/* $(1)/
endif
ifneq ($(CONFIG_TARGET_brcmbca)$(CONFIG_TARGET_airoha)$(CONFIG_TARGET_ipq95xx)$(CONFIG_TARGET_mediatek),)
ifneq ($(CONFIG_TARGET_brcmbca)$(CONFIG_TARGET_airoha)$(CONFIG_TARGET_ipq95xx)$(CONFIG_TARGET_ipq53xx)$(CONFIG_TARGET_mediatek),)
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ethmngr $(1)/usr/sbin/
endif

View File

@@ -6,16 +6,16 @@ get_max_port_speed() {
fi
local ifname="$1"
local phycap="$(ethctl $ifname media-type 2>/dev/null | grep 'PHY Capabilities' | awk '{print$NF}' | cut -d'|' -f1)"
local phycap="$(ethctl $ifname media-type 2>/dev/null | grep 'PHY Speed Capabilities' | awk '{print$NF}')"
local speed=1000
case "$phycap" in
10GFD) speed=10000 ;;
5GFD) speed=5000 ;;
2.5GFD) speed=2500 ;;
1GFD|1GHD) speed=1000 ;;
100MFD|100MHD) speed=100 ;;
10MFD|10MHD) speed=10 ;;
10GFD*) speed=10000 ;;
5GFD*) speed=5000 ;;
2.5GFD*) speed=2500 ;;
1GFD*) speed=1000 ;;
100MFD*|100MHD*) speed=100 ;;
10MFD*|10MHD*) speed=10 ;;
esac
echo $speed
@@ -84,21 +84,16 @@ set_port_settings() {
[ "$duplex" == 0 ] && dplx="HD" || dplx="FD"
[ "$autoneg" == "on" ] && media_type="auto" || media_type="$speed$dplx"
phycrossbar="$(ethctl $ifname phy-crossbar | head -1)"
crossbartype="$(echo $phycrossbar | awk '{print$2$3}')"
# Take only the last PHY Endpoint (non-Serdes) into account as Serdes port number precedes
[ "$crossbartype" == "oncrossbar" ] && pyhendpoint="$(echo $phycrossbar | awk '{print$NF}')"
phycaps="$(ethctl $ifname media-type ${pyhendpoint:+ port $pyhendpoint} | awk -F'PHY Capabilities: ' '{print$2}')"
numofcaps="$(echo $phycaps | tr '|' ' ' | wc -w)"
phycaps="$(ethctl $ifname media-type 2>/dev/null | grep 'PHY Speed Capabilities' | awk '{print$NF}')"
numofcaps="$(echo $phycaps | tr ':' ' ' | wc -w)"
# Reset the port before setting new params
reset_port $ifname
if [ "$numofcaps" == "1" ]; then
logger -t "port-management" "$ifname is capable of $phycaps only; not setting speed/duplex"
logger -t "ethmngr" "$ifname is capable of $phycaps only; not setting speed/duplex"
else
logger -t "port-management" "$ifname is capable of $phycaps; setting speed/duplex to $media_type"
logger -t "ethmngr" "$ifname is capable of $phycaps; setting speed/duplex to $media_type"
ethctl $ifname media-type $media_type ${pyhendpoint:+ port $pyhendpoint} &>/dev/null
fi

View File

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

View File

@@ -39,6 +39,6 @@ config cpe 'cpe'
option active_notif_throttle '0'
config lwn 'lwn'
option enable '1'
option enable '0'
option hostname ''
option port '0'

View File

@@ -5,46 +5,58 @@ log() {
echo "${@}"|logger -t firewall.cwmp -p info
}
if [ ! -f "/var/state/icwmp" ]; then
get_firewall_zone() {
zone="$(uci show firewall|grep network|grep ${1}|cut -d. -f 2)"
zone="${zone:-wan}" # defaults to wan zone
echo "$zone"
}
cleanup_exiting_rules() {
while iptables -w 1 -nL zone_"${1}"_input --line-numbers 2>/dev/null | grep "Open_ACS_port"; do
rule_num="$(iptables -w 1 -nL zone_"${1}"_input --line-numbers | grep "Open_ACS_port" | head -1|awk '{print $1}')"
if [ -n "${rule_num}" ]; then
iptables -w 1 -D zone_"${1}"_input "${rule_num}";
fi
done
while ip6tables -w 1 -nL zone_"${1}"_input --line-numbers 2>/dev/null | grep "Open_ACS_port"; do
rule_num="$(ip6tables -w 1 -nL zone_"${1}"_input --line-numbers | grep "Open_ACS_port" | head -1|awk '{print $1}')"
if [ -n "${rule_num}" ]; then
ip6tables -w 1 -D zone_"${1}"_input "${rule_num}";
fi
done
}
enable="$(uci -q get cwmp.cpe.enable)"
enable="${enable:-1}"
if [ "$enable" -eq 0 ]; then
log "CWMP not enabled"
exit 0;
fi
zone_name=$(uci -c /var/state -q get icwmp.acs.zonename)
wan="$(uci -q get cwmp.cpe.default_wan_interface)"
wan="${wan:-wan}"
zone_name="$(get_firewall_zone $wan)"
port=$(uci -q get cwmp.cpe.port)
port="${port:-7547}"
incoming_rule=$(uci -q get cwmp.cpe.incoming_rule|awk '{print tolower($0)}')
incoming_rule="${incoming_rule:-port_only}"
ipaddr=$(uci -c /var/state -q get icwmp.acs.ip)
ip6addr=$(uci -c /var/state -q get icwmp.acs.ip6)
incoming_rule=$(uci -q get cwmp.cpe.incoming_rule|tr 'A-Z' 'a-z')
if [ -z "${zone_name}" ]; then
log "empty firewall zone name"
exit 0
elif [ "$zone_name" = "icwmp" ]; then
iptables -nL zone_icwmp_input 2> /dev/null
if [ "$?" != 0 ]; then
iptables -w 1 -N zone_icwmp_input
iptables -w 1 -t filter -A INPUT -j zone_icwmp_input
iptables -w 1 -I zone_icwmp_input -p tcp --dport "${port}" -j REJECT
else
iptables -w 1 -F zone_icwmp_input
iptables -w 1 -I zone_icwmp_input -p tcp --dport "${port}" -j REJECT
fi
else
iptables -w 1 -F zone_icwmp_input 2> /dev/null
iptables -w 1 -t filter -D INPUT -j zone_icwmp_input 2> /dev/null
iptables -w 1 -X zone_icwmp_input 2> /dev/null
fi
cmd="iptables -w 1 -I zone_${zone_name}_input -p tcp"
cmd6="ip6tables -w 1 -I zone_${zone_name}_input -p tcp"
# default incoming rule is Port only
if [ -z "${incoming_rule}" ]; then
incoming_rule="port_only"
fi
if [ "${incoming_rule}" = "ip_only" ]; then
if [ -n "${ipaddr}" ]; then
cmd="${cmd} -s ${ipaddr}"
fi
if [ -n "${ip6addr}" ]; then
cmd6="${cmd6} -s ${ip6addr}"
fi
elif [ "${incoming_rule}" = "port_only" ]; then
@@ -55,6 +67,9 @@ elif [ "${incoming_rule}" = "port_only" ]; then
else
if [ -n "${ipaddr}" ]; then
cmd="${cmd} -s ${ipaddr}"
fi
if [ -n "${ip6addr}" ]; then
cmd6="${cmd6} -s ${ip6addr}"
fi
@@ -64,17 +79,23 @@ else
fi
fi
cleanup_exiting_rules "${zone_name}"
echo "${cmd}"|grep -q "\-\-dport \|\-s "
if [ "$?" -eq 0 ]; then
cmd="${cmd} -j ACCEPT -m comment --comment=Open_ACS_port"
${cmd}
log "Applied [${cmd}]"
fi
echo "${cmd6}"|grep -q "\-\-dport \|\-s "
if [ "$?" -eq 0 ]; then
cmd6="${cmd6} -j ACCEPT -m comment --comment=Open_ACS_port"
${cmd6}
log "Applied [${cmd6}]"
fi
uci -c /var/state -q set icwmp.cpe.firewall_restart="init"
uci -c /var/state -q commit icwmp
if [ -f "/var/state/icwmp" ]; then
uci -c /var/state -q set icwmp.cpe.firewall_restart="init"
uci -c /var/state -q commit icwmp
fi

View File

@@ -14,6 +14,8 @@ handle_icwmp_update() {
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

View File

@@ -98,7 +98,11 @@ configure_send_op125() {
if [ "${uci}" = "network" ]; then
local opt125="125:00:00:0D:E9"
else
local opt125="125,00:00:0D:E9"
if [ -z "${sendopt}" ]; then
local opt125="125,00:00:0D:E9"
else
local opt125=":00:00:0D:E9"
fi
fi
config_get oui cpe manufacturer_oui ""
@@ -178,10 +182,94 @@ configure_send_op125() {
new_send_opt="$sendopt $opt125"
uci -q set network."${intf}".sendopts="$new_send_opt"
else
uci -q add_list dhcp."${intf}".dhcp_option="$opt125"
new_send_opt="$sendopt$opt125"
uci -q add_list dhcp."${intf}".dhcp_option="$new_send_opt"
fi
}
check_for_suboptions() {
# Check if option 4 and 5 present inside enterprise id 3561
data=$(echo "${1}" | sed 's/://g')
len=$(printf "${data}"|wc -c)
rem_len="${len}"
while [ $rem_len -gt 8 ]; do
subopt_present=0
ent_id="${data:0:8}"
ent_id=$(printf "%d\n" "0x$ent_id")
if [ $ent_id -ne 3561 ]; then
len_val=${data:8:2}
data_len=$(printf "%d\n" "0x$len_val")
# add 4 byte for ent_id and 1 byte for len
data_len=$(( data_len * 2 + 10 ))
# move ahead data to next enterprise id
data=${data:"${data_len}":"${rem_len}"}
rem_len=$(( rem_len - data_len ))
continue
fi
# read the length of enterprise data
len_val=${data:8:2}
data_len=$(printf "%d\n" "0x$len_val")
# add 4 byte for ent_id and 1 byte for len
data_len=$(( data_len * 2 + 10 ))
len_val=${data:8:2}
opt_len=$(printf "%d\n" "0x$len_val")
if [ $opt_len -eq 0 ]; then
echo ${subopt_present}
return 0
fi
# populate the option data of enterprise id
sub_data_len=$(( opt_len * 2))
# starting 10 means ahead of length field
sub_data=${data:10:"${sub_data_len}"}
# parsing of suboption of option 125
while [ $sub_data_len -gt 0 ]; do
# get the suboption id
sub_opt_id=${sub_data:0:2}
sub_opt_id=$(printf "%d\n" "0x$sub_opt_id")
case "${sub_opt_id}" in
"4") subopt_present=1
;;
"5") subopt_present=1
;;
esac
if [ ${subopt_present} -eq 1 ]; then
break;
fi
# get the length of suboption
sub_opt_len=${sub_data:2:2}
sub_opt_len=$(printf "%d\n" "0x$sub_opt_len")
sub_opt_len=$(( sub_opt_len * 2 ))
# add 2 bytes for sub_opt id and sub_opt len field
sub_opt_end=$(( sub_opt_len + 4 ))
# update the remaining sub option hex string length
sub_data_len=$((sub_data_len - sub_opt_end))
# fetch next sub option hex string
sub_data=${sub_data:${sub_opt_end}:${sub_data_len}}
done
if [ ${subopt_present} -eq 1 ]; then
break;
else
# move ahead data to next enterprise id
rem_len=$(( rem_len - $data_len ))
data=${data:"${data_len}":"${rem_len}"}
fi
done
echo ${subopt_present}
}
enable_dnsmasq_option125() {
local lan="${1}"
local send125_present=0
@@ -190,16 +278,19 @@ enable_dnsmasq_option125() {
local proto="$(uci -q get dhcp."${lan}".dhcpv4)"
if [ "${proto}" = "server" ]; then
opt_list="$(uci -q get dhcp."${lan}".dhcp_option)"
base_opt=""
for sopt in $opt_list; do
if [[ "$sopt" == "$opt125"* ]]; then
send125_present=1
send125_present=$(check_for_suboptions "${sopt:4}")
base_opt="${sopt}"
break
fi
done
if [ ${send125_present} -eq 0 ]; then
configure_send_op125 "" "${lan}" "dhcp"
uci -q del_list dhcp."${lan}".dhcp_option="${base_opt}"
configure_send_op125 "${base_opt}" "${lan}" "dhcp"
ubus call uci commit '{"config":"dhcp"}'
fi
fi
@@ -488,20 +579,17 @@ reload_service() {
fi
}
service_triggers() {
procd_add_reload_trigger "cwmp"
procd_open_trigger
json_add_array
json_add_string "" "interface.update"
json_add_array
json_add_array
json_add_string "" "run_script"
json_add_string "" "/etc/icwmpd/update.sh"
json_close_array
json_close_array
json_add_int "" "2000"
json_close_array
procd_close_trigger
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.1.11
PKG_VERSION:=8.1.15
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=90b8f44ca78b4711d5c86234fb0fc621ebd97fd9
PKG_SOURCE_VERSION:=a6d1c5c3e6a23129ce260613cadfaad3b2b31cc8
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
@@ -89,6 +89,12 @@ ifeq ($(CONFIG_IEEE1905_CMDU_FRAGMENT_TLV_BOUNDARY),y)
TARGET_CFLAGS += -DIEEE1905_CMDU_FRAGMENT_TLV_BOUNDARY
endif
ifeq ($(CONFIG_IEEE1905_EXTENSION_ALLOWED),y)
TARGET_CFLAGS += -DEXTENSION_ALLOWED
endif
TARGET_CFLAGS += -DHAS_UBUS
MAKE_FLAGS += \
extmod_subdirs="$(patsubst %,extensions/%,$(plugins))"

View File

@@ -12,11 +12,11 @@ define Package/map-plugin/config
config MULTIAP_EASYMESH_VERSION
int "Easymesh version"
default 2
default 4
config MULTIAP_DYNAMIC_CNTLR_SYNC_CONFIG
bool "Sync configuration between dynamic controllers in the network"
default n
default y
config MULTIAP_FUZZ_1905_CMDUS
bool "Include support to fuzz 1905 CMDUs for testing purpose"

View File

@@ -62,10 +62,11 @@ CONFIG_PACKAGE_wifimngr=y
# Multi-AP #
CONFIG_PACKAGE_ieee1905=y
CONFIG_PACKAGE_map-agent=m
CONFIG_PACKAGE_map-controller=m
CONFIG_PACKAGE_map-topology=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
@@ -86,12 +87,13 @@ CONFIG_PACKAGE_icwmp=y
CONFIG_PACKAGE_obuspa=y
CONFIG_PACKAGE_bulkdata=y
CONFIG_PACKAGE_periodicstats=y
CONFIG_PACKAGE_stunc=m
CONFIG_PACKAGE_swmodd=m
CONFIG_PACKAGE_twamp=m
CONFIG_PACKAGE_udpecho-client=m
CONFIG_PACKAGE_udpecho-server=m
CONFIG_PACKAGE_xmppc=m
CONFIG_PACKAGE_stunc=y
CONFIG_PACKAGE_swmodd=y
CONFIG_PACKAGE_twamp=y
CONFIG_PACKAGE_udpecho-client=y
CONFIG_PACKAGE_udpecho-server=y
CONFIG_PACKAGE_userinterface=y
CONFIG_PACKAGE_xmppc=y
# WebGUI #
CONFIG_PACKAGE_sulu=y
@@ -131,11 +133,12 @@ CONFIG_PACKAGE_wwan=y
CONFIG_PACKAGE_xl2tpd=y
# Services #
CONFIG_PACKAGE_atftp=m
CONFIG_PACKAGE_atftpd=m
CONFIG_PACKAGE_atftp=y
CONFIG_PACKAGE_atftpd=y
CONFIG_PACKAGE_ddns-scripts=y
CONFIG_PACKAGE_dnsmasq=y
CONFIG_PACKAGE_ssdpd=y
CONFIG_PACKAGE_miniupnpd-iptables=y
CONFIG_PACKAGE_mosquitto-client-ssl=y
CONFIG_PACKAGE_mosquitto-ssl=y
CONFIG_PACKAGE_nginx=y
@@ -144,7 +147,7 @@ CONFIG_PACKAGE_openvpn-openssl=y
CONFIG_OPENVPN_openssl_ENABLE_IPROUTE2=y
# CONFIG_PACKAGE_qos-scripts is not set
CONFIG_PACKAGE_rdnssd=y
CONFIG_PACKAGE_vsftpd-tls=m
CONFIG_PACKAGE_vsftpd-tls=y
# Tools and Utilities #
CONFIG_PACKAGE_curl=y
@@ -160,11 +163,17 @@ CONFIG_PACKAGE_ipset=y
CONFIG_PACKAGE_ip6tables-zz-legacy=y
CONFIG_PACKAGE_iptables-zz-legacy=y
CONFIG_PACKAGE_iptables-mod-conntrack-extra=y
CONFIG_PACKAGE_iptables-mod-extra=y
CONFIG_PACKAGE_iptables-mod-filter=y
CONFIG_PACKAGE_iptables-mod-ipmark=y
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
CONFIG_PACKAGE_tcpdump=y
CONFIG_PACKAGE_traceroute6=y
@@ -174,9 +183,12 @@ CONFIG_PACKAGE_traceroute6=y
##########
CONFIG_PACKAGE_at=y
CONFIG_PACKAGE_ca-certificates=y
CONFIG_PACKAGE_crun=y
CONFIG_PACKAGE_getopt=y
# CONFIG_PACKAGE_iwatchdog is not set
CONFIG_PACKAGE_jq=y
CONFIG_PACKAGE_libcap-bin=y
CONFIG_PACKAGE_libustream-openssl=y
# CONFIG_PACKAGE_libustream-wolfssl is not set
CONFIG_PACKAGE_lscpu=y
@@ -184,6 +196,7 @@ CONFIG_PACKAGE_nand-utils=y
CONFIG_PACKAGE_openssl-util=y
CONFIG_OPENSSL_WITH_COMPRESSION=y
CONFIG_PACKAGE_procd-ujail=m
CONFIG_PACKAGE_quota=y
CONFIG_PACKAGE_rpcd=y
CONFIG_PACKAGE_rpcd-mod-rpcsys=y
CONFIG_PACKAGE_rpcd-mod-rrdns=y

View File

@@ -36,6 +36,18 @@ else ifeq ($(CONFIG_TARGET_armvirt),y)
TARGET_CFLAGS +=-DIOPSYS_TEST
endif
TARGET_CFLAGS += \
-I$(STAGING_DIR)/usr/include \
-I$(STAGING_DIR)/usr/include/openssl \
-I$(STAGING_DIR)/usr/include/libnl3
MAKE_FLAGS += \
CFLAGS="$(TARGET_CFLAGS) -Wall -I./" \
LDFLAGS="$(TARGET_LDFLAGS)" \
FPIC="$(FPIC)" \
PLATFORM="$(TARGET_PLATFORM)" \
subdirs="$(subdirs)"
define Package/libdsl
SECTION:=libs
CATEGORY:=Libraries

View File

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

View File

@@ -48,7 +48,7 @@
"bitrate": 15.2
},
"gsm": {
"name": "GSM-AMR",
"name": "AMR",
"ptime_min": 10,
"ptime_max": 30,
"ptime_default": 20,

View File

@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=libvoice-broadcom
PKG_RELEASE:=1
PKG_VERSION:=1.0.0
PKG_VERSION:=1.0.1
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:=dc227982c48ee6d722f3fe18dc9db71495ce9758
PKG_SOURCE_VERSION:=548f8fccc9f8f0b5dd6bb39bdd9cac8659400cb6
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

View File

@@ -48,7 +48,7 @@
"bitrate": 15.2
},
"gsm": {
"name": "GSM-AMR",
"name": "AMR",
"ptime_min": 10,
"ptime_max": 30,
"ptime_default": 20,

View File

@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=libvoice-d2
PKG_RELEASE:=1
PKG_VERSION:=1.0.4
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:=f2134d372b3f5e5810e18f34d64d5486d17fca64
PKG_SOURCE_VERSION:=062a265754b93a865cfcd2745f200aa09fb4a668
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

View File

@@ -15,14 +15,6 @@
"ptime_increment": 10,
"bitrate": 64
},
"g729a": {
"name": "G.729a",
"ptime_min": 10,
"ptime_max": 40,
"ptime_default": 20,
"ptime_increment": 10,
"bitrate": 64
},
"g729": {
"name": "G.729",
"ptime_min": 10,

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libwifi
PKG_VERSION:=7.2.104
PKG_VERSION:=7.2.110
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=a246bf9fd92a1a8c107ffff3eb3428a4174a67df
PKG_SOURCE_VERSION:=433fb28e80e867180bd0335334544dbb652ea331
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
@@ -48,7 +48,7 @@ else ifeq ($(CONFIG_TARGET_ipq95xx),y)
TARGET_CFLAGS +=-DIPQ95XX
else ifeq ($(CONFIG_TARGET_mediatek),y)
TARGET_PLATFORM=LINUX
TARGET_WIFI_TYPE=MAC80211
TARGET_WIFI_TYPE=MEDIATEK MAC80211
TARGET_CFLAGS +=-DIOPSYS_LINUX
else
$(info Unexpected CONFIG_TARGET, use default MAC80211)

View File

@@ -8,14 +8,14 @@ config AGENT_SYNC_DYNAMIC_CNTLR_CONFIG
config AGENT_ISLAND_PREVENTION
bool "Support Island Prevention"
default y if MULTIAP_AGENT_ISLAND_PREVENTION
default y
config AGENT_EASYMESH_R2_CERT
bool "Compile for WFA test bed"
config AGENT_EASYMESH_VERSION
int "Support Easymesh version"
default 2
default 4
config AGENT_EASYMESH_VENDOR_EXT
bool "Enable extra features through Easymesh vendor extension"

View File

@@ -5,9 +5,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=map-agent
PKG_VERSION:=4.3.3.2
PKG_VERSION:=4.3.4.3
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=6b1347b33333f3ef9884de0745aa862a0a1dabc8
PKG_SOURCE_VERSION:=0fed22f5ed1ff6a2a6833d4ef32f147e8f65b7fc
PKG_MAINTAINER:=Jakob Olsson <jakob.olsson@iopsys.eu>
PKG_LICENSE:=BSD-3-Clause
@@ -28,7 +28,7 @@ define Package/map-agent
CATEGORY:=Utilities
TITLE:=WiFi multi-AP Agent (EasyMesh R2)
DEPENDS:=+libwifi +libuci +libubox +ubus +libeasy +libieee1905 +ieee1905 \
+map-plugin +ip-bridge +@BUSYBOX_CONFIG_PATCH +@BUSYBOX_CONFIG_DIFF
+map-plugin +ip-bridge
endef

View File

@@ -1,13 +1,15 @@
config agent 'agent'
option enabled '1'
option enabled '0'
option debug '0'
option profile '2'
option profile '4'
option al_bridge 'br-lan'
option netdev 'wlan'
option island_prevention '0'
option eth_onboards_wifi_bhs '0'
# option controller_macaddr '0a:1b:2c:3d:4e:50'
option eth_onboards_wifi_bhs '1'
option scan_on_boot_only '0'
option guest_isolation '1'
list map_port 'all'
# option controller_macaddr '0a:1b:2c:3d:4e:50'
config dynamic_backhaul
option missing_bh_timer '60'
@@ -20,9 +22,9 @@ config controller_select
option autostart '1'
option local '0'
config radio
option device 'phy0'
option band '2'
#config radio
# option device 'phy0'
# option band '2'
# options below are auto-generated during onboarding
# option steer_policy '0'
# option util_threshold '0'
@@ -33,9 +35,9 @@ config radio
# option include_sta_stats '1'
# option include_sta_metric '1'
config radio
option device 'phy1'
option band '5'
#config radio
# option device 'phy1'
# option band '5'
# options below are auto-generated during onboarding
# option steer_policy '0'
# option util_threshold '0'
@@ -46,12 +48,12 @@ config radio
# option include_sta_stats '1'
# option include_sta_metric '1'
config bsta
option enabled '1'
option ifname 'wlan0'
option band '2'
option device 'phy0'
option priority '2'
#config bsta
# option enabled '1'
# option ifname 'wlan0'
# option band '2'
# option device 'phy0'
# option priority '2'
# options below are auto-generated during onboarding
# option ssid 'MAP-BH-2.4GHz'
# option encryption 'sae-mixed'
@@ -60,12 +62,12 @@ config bsta
# option bssid '0a:1b:2c:3d:4e:53'
# option vid '1'
config bsta
option enabled '1'
option ifname 'wlan1'
option band '5'
option device 'phy1'
option priority '0'
#config bsta
# option enabled '1'
# option ifname 'wlan1'
# option band '5'
# option device 'phy1'
# option priority '0'
# options below are auto-generated during onboarding
# option ssid 'MAP-BH-5GHz'
# option encryption 'sae-mixed'

View File

@@ -11,6 +11,9 @@ al_brnet="${al_bridge:3}"
# Exit if the PORT is not member of the AL Bridge
[ "$(get_network_of $PORT)" = "$al_brnet" ] || exit 0
# Exit if the device is not operating in extender/repeater mode
[ "$(uci -q get network.${al_brnet}.proto)" == "dhcp" ] || exit 0
############## Dynamic Backhaul Daemon ##############
if [ -n "$(which dynbhd)" ]; then
pidof dynbhd >/dev/null && exit 0 # dynbhd is managing the links
@@ -47,8 +50,6 @@ if [ -n "$wanport" ]; then
########################################################
else
#################### DHCP Discovery ####################
[ "$(uci -q get network.${al_brnet}.proto)" == "dhcp" ] || exit 0
if [ "$LINK" = "up" ]; then
brctl delif $al_bridge $PORT

View File

@@ -179,7 +179,16 @@ create_dir() {
}
start_service() {
[ -f /usr/sbin/dynbhd ] && start_dynbhd_service
if [ -f /usr/sbin/dynbhd ]; then
# Start dynbhd only if the device is operating in extender/repeater mode
al_bridge="$(uci -q get mapagent.agent.al_bridge)"
if [ "${al_bridge:0:3}" = "br-" ]; then
al_brnet="${al_bridge:3}"
if [ "$(uci -q get network.${al_brnet}.proto)" == "dhcp" ]; then
start_dynbhd_service
fi
fi
fi
config_load "mapagent"
validate_agent_config || return 1;

View File

@@ -16,7 +16,7 @@ config CONTROLLER_EASYMESH_VENDOR_EXT_OUI_DEFAULT
config CONTROLLER_EASYMESH_VERSION
int "Support Easymesh version"
default 2
default 4
config CONTROLLER_EASYMESH_VENDOR_EXT_OUI
string "Vendor OUI in '\\\\xAB\\\\xCD\\\\xEF' format"

View File

@@ -5,9 +5,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=map-controller
PKG_VERSION:=4.3.0.6
PKG_VERSION:=4.3.1.1
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=cadbccc7654a40f16f96f2c48e584b998c03620e
PKG_SOURCE_VERSION:=63f82561bafac72487e3ea114e10b6e96b57d445
PKG_MAINTAINER:=Jakob Olsson <jakob.olsson@iopsys.eu>
LOCAL_DEV=0

View File

@@ -1,13 +1,16 @@
config controller 'controller'
option enabled '1'
option registrar '2 5'
option enabled '0'
option profile '4'
option registrar '2 5 6'
option debug '0'
option bcn_metrics_max_num '10'
option initial_channel_scan '0'
option primary_vid '0'
option enable_ts '0'
option primary_vid '1'
option primary_pcp '0'
option allow_bgdfs '0'
option channel_plan '0'
option de_collect_interval '60'
config sta_steering
option steer_module 'rcpi'
@@ -18,40 +21,46 @@ config sta_steering
option use_usta_metrics '0'
option bandsteer '0'
option diffsnr '8'
option rcpi_threshold_2g '70'
option rcpi_threshold_5g '86'
option rcpi_threshold_6g '86'
option report_rcpi_threshold_2g '80'
option report_rcpi_threshold_5g '96'
option report_rcpi_threshold_6g '96'
config ap
option band '2'
option encryption 'sae-mixed'
option vid '1'
option ssid 'IOWRT-2.4GHz'
option encryption 'sae-mixed'
option key '1234567890'
#config ap
# option band '2'
# option encryption 'sae-mixed'
# option vid '1'
# option ssid 'IOWRT-2.4GHz'
# option encryption 'sae-mixed'
# option key '1234567890'
config ap
option band '5'
option type 'fronthaul'
option vid '1'
option ssid 'IOWRT-5GHz'
option encryption 'sae-mixed'
option key '1234567890'
#config ap
# option band '5'
# option type 'fronthaul'
# option vid '1'
# option ssid 'IOWRT-5GHz'
# option encryption 'sae-mixed'
# option key '1234567890'
config ap
option band '2'
option type 'backhaul'
option vid '1'
list disallow_bsta '0'
option ssid 'MAP-BH-2.4GHz'
option encryption 'sae'
option key '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZ0'
#config ap
# option band '2'
# option type 'backhaul'
# option vid '1'
# list disallow_bsta '0'
# option ssid 'MAP-BH-2.4GHz'
# option encryption 'sae'
# option key '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZ0'
config ap
option band '5'
option type 'backhaul'
option vid '1'
list disallow_bsta '0'
option ssid 'MAP-BH-5GHz'
option encryption 'sae'
option key '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZ0'
#config ap
# option band '5'
# option type 'backhaul'
# option vid '1'
# list disallow_bsta '0'
# option ssid 'MAP-BH-5GHz'
# option encryption 'sae'
# option key '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZ0'
# node and radio sections (per node) are auto
# generated per Multi-AP Agent in the network

View File

@@ -155,6 +155,10 @@ validate_controller_config() {
return 0
}
create_dir() {
mkdir -p /etc/multiap
}
start_service() {
local enabled
@@ -164,6 +168,8 @@ start_service() {
config_get_bool enabled controller enabled 1
[ "$enabled" -eq 0 ] && return
create_dir
procd_open_instance
procd_set_param command "/usr/sbin/mapcontroller" "-d"

View File

@@ -18,5 +18,9 @@ config TOPOLOGYD_EASYMESH_VENDOR_EXT_OUI
enabled through TOPOLOGYD_EASYMESH_VENDOR_EXT. Please provide the Vendor's OUI
through which such features would be exposed.
config TOPOLOGYD_HOST_WAN_STATS
bool "Enable wan statistics collection per hosts"
default y
endmenu
endif

View File

@@ -6,11 +6,11 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=map-topology
PKG_VERSION:=2.5.1.21
PKG_VERSION:=2.5.1.24
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_VERSION:=693b79873af0017bd53ec001af7f3997565420e8
PKG_SOURCE_VERSION:=9f15e813c39ff23cef27975ce138bd3286f30adf
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/multi-ap/map-topology.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz
@@ -52,6 +52,9 @@ ifeq ($(CONFIG_TOPOLOGYD_EASYMESH_VENDOR_EXT),y)
TARGET_CFLAGS += -DEASYMESH_VENDOR_EXT_OUI=\\\"$(CONFIG_TOPOLOGYD_EASYMESH_VENDOR_EXT_OUI)\\\"
endif
ifeq ($(CONFIG_TOPOLOGYD_HOST_WAN_STATS),y)
TARGET_CFLAGS += -DHOST_WAN_STATS
endif
ifeq ($(LOCAL_DEV),1)
define Build/Prepare

View File

@@ -4,4 +4,4 @@ config topology 'topology'
option depth '8'
option interval '60'
option maxlog '32'
option profile '2'
option profile '4'

View File

@@ -10,37 +10,81 @@ PROG_EXE=/usr/sbin/mcproxy
PROG_PARAMS=
PROG_PARAMS_SEPARATOR=:
setup_mcast_mode() {
unused(){ :;}
__device_is_bridge() {
local device="$2"
local devsec__="$(uci show network | grep name=.*$device | cut -d'.' -f2)"
local sectype="$(uci -q get network.$devsec__)"
local devtype="$(uci -q get network.$devsec__.type)"
[ "$sectype" != "device" -o "$devtype" != "bridge" ] && return 1
eval "$1=$devsec__"
}
device_is_bridge() {
local device="$1"
local devsec=
__device_is_bridge devsec "$device" || return 1
}
device_ports() {
local device="$1"
local devsec=
if __device_is_bridge devsec "$device"; then
echo "$(uci get network.$devsec.ports)"
else
echo "$device"
fi
}
device_has_ip() {
local protocol="$1"
local device="$2"
# Read the openwrt interface for the device.
# Device can have multiple logical interfaces like wan and wan6
# but same l3 device
# NB. Don't use 'get_network_of' here.
# This function fails in some uci configurations for interfaces that refer
# to a device indirectly.
local ifaces=$(ubus call network.interface dump | jsonfilter -e "@.interface[@.device='$device'].interface")
for iface in $ifaces; do
local ip=
case "$protocol" in
"igmp") network_get_ipaddr ip "$iface" ;;
"mld") network_get_ipaddr6 ip "$iface" ;;
esac
[ -n "$ip" ] && return
done
return 1
}
config_mcproxy_interfaces() {
local upstreams="$1"
local downstreams="$2"
local exceptions="$3"
local protocol="$1"
local upstreams="$2"
local downstreams="$3"
local exceptions="$4"
if [ -z "$upstreams" ] || [ -z "$downstreams" ]; then
return 1
fi
local str_up=""
if [ -n "$upstreams" ]; then
for upstream in $upstreams; do
str_up="$str_up \"$upstream\""
done
fi
for upstream in $upstreams; do
device_has_ip "$protocol" "$upstream" || continue
str_up="$str_up \"$upstream\""
done
[ -z "$str_up" ] && return 1
local str_down=""
if [ -n "$downstreams" ]; then
for downstream in $downstreams; do
str_down="$str_down \"$downstream\""
done
fi
for downstream in $downstreams; do
device_has_ip "$protocol" "$downstream" || continue
str_down="$str_down \"$downstream\""
done
[ -z "$str_down" ] && return 1
if [ ! -z $downstream ]; then
echo -e "pinstance main:$str_up ==>$str_down;\n" >> $CONFFILE
fi
if [ -z "$exceptions" ] || [ -z "$upstreams" ]; then
return
fi
echo -e "pinstance main:$str_up ==>$str_down;\n" >> $CONFFILE
for excp in $exceptions; do
local filter=""
@@ -56,34 +100,63 @@ config_mcproxy_interfaces() {
;;
esac
for upstream in $upstreams; do
echo "pinstance main upstream \"$upstream\" in blacklist table{$filter };" >> $CONFFILE
echo "pinstance main upstream \"$upstream\" out blacklist table{$filter };" >> $CONFFILE
for upstream in $str_up; do
echo "pinstance main upstream $upstream in blacklist table{$filter };" >> $CONFFILE
echo "pinstance main upstream $upstream out blacklist table{$filter };" >> $CONFFILE
done
for downstream in $downstreams; do
echo "pinstance main downstream \"$downstream\" in blacklist table{$filter };" >> $CONFFILE
echo "pinstance main downstream \"$downstream\" out blacklist table{$filter };" >> $CONFFILE
for downstream in $str_down; do
echo "pinstance main downstream $downstream in blacklist table{$filter };" >> $CONFFILE
echo "pinstance main downstream $downstream out blacklist table{$filter };" >> $CONFFILE
done
done
}
config_sysfs_mcast_snooping() {
local devsec=
local sectype=
local devtype=
local ports=
local downstreams="$1"
for downstream in $downstreams; do
devsec="$(uci show network | grep name=.*$downstream | cut -d'.' -f2)"
sectype="$(uci -q get network.$devsec)"
devtype="$(uci -q get network.$devsec.type)"
if [ "$sectype" == "device" -a "$devtype" == "bridge" ]; then
if device_is_bridge "$downstream"; then
echo 1 > /sys/class/net/$downstream/bridge/multicast_snooping
fi
done
}
config_sysfs_mcast_fastleave() {
local downstreams="$1"
local fastleave="$2"
local prt
for downstream in $downstreams; do
for prt in $(device_ports $downstream); do
if [ -f /sys/class/net/$prt/brport/multicast_fast_leave ]; then
echo $fastleave > /sys/class/net/$prt/brport/multicast_fast_leave
fi
done
done
}
config_sysfs_mcast_mode() {
local downstreams=$1
local mcast_mode=$2
local prt
local mcast_flood=
if [ $mcast_mode == "2" ]; then # disable mcast flood
mcast_flood=0
else
mcast_flood=1
fi
for downstream in $downstreams; do
for prt in $(device_ports $downstream); do
if [ -f /sys/class/net/$prt/brport/multicast_flood ]; then
echo $mcast_flood > /sys/class/net/$prt/brport/multicast_flood
fi
done
done
}
config_mcproxy_instance() {
local protocol="$1"
local version="$2"
@@ -96,7 +169,7 @@ config_mcproxy_instance() {
local exceptions=
local upstreams=
local downstreams=
local intf_has_ip=
local mcast_mode=2 # default value 2 is for blocking mode
CONFFILE=/var/etc/mcproxy_"$protocol".conf
rm -f $CONFFILE
@@ -121,6 +194,7 @@ config_mcproxy_instance() {
upstreams=$igmp_p_up_interfaces
downstreams=$igmp_p_down_interfaces
mcast_mode=$igmp_p_mode
elif [ "$protocol" == "mld" ]; then
case "$version" in
[1-2])
@@ -140,59 +214,26 @@ config_mcproxy_instance() {
upstreams=$mld_p_up_interfaces
downstreams=$mld_p_down_interfaces
mcast_mode=$mld_p_mode
fi
# 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
[ -n "$max_groups" ] && echo -e "max_groups $max_groups;" >> $CONFFILE
[ -n "$robustness" ] && echo -e "rv $robustness;" >> $CONFFILE
[ -n "$query_interval" ] && echo -e "qi $query_interval;" >> $CONFFILE
[ -n "$q_resp_interval" ] && echo -e "qri $q_resp_interval;" >> $CONFFILE
[ -n "$last_mem_q_int" ] && echo -e "lmqi $last_mem_q_int;" >> $CONFFILE
if [[ -n $fast_leave ]]; then
echo -e "fastleave $fast_leave;\n" >> $CONFFILE
config_sysfs_mcast_fastleave $fast_leave
fi
[ -n "$fast_leave" ] && echo -e "fastleave $fast_leave;\n" >> $CONFFILE
[ -n "$upstreams" ] && [ -n "$downstreams" ] &&
config_mcproxy_interfaces "$upstreams" "$downstreams" "$exceptions"
config_mcproxy_interfaces "$protocol" "$upstreams" "$downstreams" "$exceptions" || return
# In case on proxy, upstreams is a list. Iterating and running the mcproxy
# for each valid upstream interface
for upstream_device in $upstreams;
do
# Read the upstream interface for the upstream device
# upstream device can have multiple logical interfaces like wan and wan6
# but same l3 device
local upstream_ifaces=$(get_network_of $upstream_device)
# 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"
for iface in $upstream_ifaces;
do
if [ "$protocol" == "igmp" ]; then
network_get_ipaddr upstream_ip $iface
if [ ! -z "${upstream_ip}" ]; then
intf_has_ip=1
break
fi
fi
if [ "$protocol" == "mld" ]; then
network_get_ipaddr6 upstream_ip $iface
if [ ! -z "${upstream_ip}" ]; then
intf_has_ip=1
break
fi
fi
done
if [ -z "${intf_has_ip}" ]; then
continue
fi
PROG_PARAMS="${PROG_PARAMS} -f ${CONFFILE}${PROG_PARAMS_SEPARATOR}"
done
PROG_PARAMS="${PROG_PARAMS} -f ${CONFFILE}${PROG_PARAMS_SEPARATOR}"
}
config_mcproxy() {
@@ -205,28 +246,6 @@ config_mcproxy() {
fi
}
config_sysfs_mcast_fastleave() {
local devsec=
local sectype=
local devtype=
local ports=
for downstream in $downstreams; do
devsec="$(uci show network | grep name=.*$downstream | cut -d'.' -f2)"
sectype="$(uci -q get network.$devsec)"
devtype="$(uci -q get network.$devsec.type)"
if [ "$sectype" == "device" -a "$devtype" == "bridge" ]; then
ports="$(uci get network.$devsec.ports)"
for prt in $ports; do
echo $1 > /sys/class/net/$prt/brport/multicast_fast_leave
done
else
[[ -f /sys/class/net/$downstream/brport/multicast_fast_leave ]] && echo $1 > /sys/class/net/$downstream/brport/multicast_fast_leave
fi
done
}
configure_mcast() {
config_global_params "set_max_groups_and_sources"

View File

@@ -4,15 +4,27 @@
. /lib/functions.sh
read_mcast_stats() {
local temp_igmp_file='/tmp/igmp_stats_'$$
local snooping_stats='/tmp/igmp_snooping_stats'
local old_mod_time=$(date +%s 2>/dev/null -r "$snooping_stats")
temp_igmp_file='/tmp/igmp_stats_'$$
# Sending signal to mcproxy to dump multicast data in /tmp/igmp_snooping_stats
mcast_pids=$(pidof mcproxy)
local mcast_pids=$(pidof mcproxy)
for pid in $mcast_pids
do
$(kill -10 $pid)
done
cat /tmp/igmp_snooping_stats > temp_igmp_file
# Wait for signal is being processed by mcproxy
if [ -n "$mcast_pids" ]; then
for i in 1 2 3; do
local new_mod_time=$(date +%s 2>/dev/null -r "$snooping_stats")
[ -n "$new_mod_time" ] && [ "$new_mod_time" != "$old_mod_time" ] && break
sleep 0.1
done
fi
cat "$snooping_stats" > "$temp_igmp_file"
local mcast_addrs=""
local ifaces=""
@@ -42,7 +54,7 @@ read_mcast_stats() {
fi
;;
esac
done < temp_igmp_file
done < "$temp_igmp_file"
while read line; do
# reading each line
@@ -69,7 +81,7 @@ read_mcast_stats() {
fi
;;
esac
done < temp_igmp_file
done < "$temp_igmp_file"
json_init
json_add_array "snooping"
@@ -89,7 +101,7 @@ read_mcast_stats() {
break
;;
esac
done < temp_igmp_file
done < "$temp_igmp_file"
IFS=" "
for gip_addr in $mcast_addrs; do
grp_obj_added=0
@@ -124,7 +136,7 @@ read_mcast_stats() {
json_close_object #close the associated device object
;;
esac
done < temp_igmp_file
done < "$temp_igmp_file"
json_close_array #close the associated devices array
json_close_object # close the groups object
done # close the loop for group addresses
@@ -134,7 +146,7 @@ read_mcast_stats() {
json_close_array # close the snooping array
json_dump
rm -f temp_igmp_file
rm -f "$temp_igmp_file"
}
case "$1" in

View File

@@ -6,10 +6,10 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=obudpst
PKG_VERSION:=7.5.1
PKG_VERSION:=8.0.0
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/BroadbandForum/obudpst.git
PKG_SOURCE_VERSION:=a8faf1925ea9189467e7f8d3b9d93c67c8b927bd
PKG_SOURCE_VERSION:=1d00a6de1147b5fb4280c443a67b7e5ded3a5c97
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip

View File

@@ -1,7 +1,4 @@
if PACKAGE_obuspa
menu "Configuration"
config OBUSPA_DB_PATH
string "Configure path for usp.db file"
default "/tmp/"
@@ -25,5 +22,8 @@ config OBUSPA_MTP_ENABLE_COAP
config OBUSPA_CONTROLLER_MTP_VERIFY
bool "Enable verification of controller MTP before processing the message"
default n
endmenu
config OBUSPA_ENABLE_TEST_CONTROLLER
bool "Adds a test controller by default"
default n
endif

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=obuspa
PKG_VERSION:=7.0.2.16
PKG_VERSION:=7.0.2.25
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/obuspa.git
PKG_SOURCE_VERSION:=312a739dc9106e8ff490288ba22270f4ce7e1fed
PKG_SOURCE_VERSION:=3f3fdb4581276ce28547a920a93d7e43e2eff879
PKG_MAINTAINER:=Vivek Dutta <vivek.dutta@iopsys.eu>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
@@ -31,6 +31,7 @@ define Package/obuspa
CATEGORY:=Utilities
SUBMENU:=TRx69
TITLE:=USP agent
MENU:=1
DEPENDS:=+libopenssl +libuci +libblobmsg-json +libcurl +libsqlite3 +libubox +libubus +libmosquitto-ssl +libwebsockets-openssl
endef
@@ -102,6 +103,7 @@ define Package/obuspa/install
$(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/
$(INSTALL_BIN) ./files/etc/init.d/obuspa $(1)/etc/init.d/
$(INSTALL_DATA) ./files/etc/config/obuspa $(1)/etc/config/
@@ -110,6 +112,12 @@ define Package/obuspa/install
$(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/01-fix-upgrade-uci $(1)/etc/uci-defaults/
$(INSTALL_BIN) ./files/etc/uci-defaults/02-obuspa-dhcp-option $(1)/etc/uci-defaults/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/etc/udhcpc.user.d/udhcpc_obuspa_opt125.user $(1)/etc/udhcpc.user.d/udhcpc_obuspa_opt125.user
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/
endif
endef
$(eval $(call BuildPackage,obuspa))

View File

@@ -1,6 +1,8 @@
config obuspa 'global'
option enabled '1'
option debug '0'
option dhcp_discovery '1'
option interface 'wan'
option log_level '1'
option prototrace '0'
option db_file '/etc/obuspa/usp.db'

View File

@@ -12,7 +12,7 @@ KEEP_FILE="/lib/upgrade/keep.d/obuspa"
RESET_FILE="/tmp/obuspa/obuspa_param_reset.txt"
SQL_DB_FILE="/tmp/obuspa/usp.db"
DB_DUMP="/tmp/obuspa/usp.dump"
DB_DUMP="/tmp/obuspa/usp.dump_$(date +%s)"
BASEPATH=""
INSTANCE_COUNT=0
@@ -76,7 +76,7 @@ db_set()
dump_db()
{
${PROG} -f ${SQL_DB_FILE} -c show database |awk 'NR>1 {print $1 " \"" $3 "\""}' | sort > ${DB_DUMP}
${PROG} -v0 -f ${SQL_DB_FILE} -c show database |awk '/^Device./ || /^Internal./ {print $1 " \"" $3 "\""}' | sort > ${DB_DUMP}
}
# if db present then check if it matches with existing instances
@@ -196,6 +196,10 @@ validate_obuspa_section()
'debug:bool:0' \
'prototrace:bool:0' \
'log_level:uinteger' \
'min_num_to_group:uinteger' \
'max_group_sep:uinteger' \
'max_cache_time:uinteger' \
'ipc_timeout:uinteger' \
'log_dest:string' \
'db_file:string' \
'role_file:file'
@@ -226,8 +230,8 @@ validate_controller_section()
'Path:string' \
'EnableEncryption:bool' \
'PeriodicNotifInterval:uinteger' \
'SessionMode:string:Allow'
'SessionMode:string:Allow' \
'ProvisioningCode:string'
}
validate_subscription_section()
@@ -319,7 +323,7 @@ configure_controller()
{
local EndpointID Enable
local Protocol Destination
local Topic mqtt stomp assigned_role_name AssignedRole ParameterName
local Topic mqtt stomp assigned_role_name AssignedRole ParameterName ProvisioningCode
local Host Port Path EnableEncryption Reference SessionMode PeriodicNotifInterval
local dm_ref sec
@@ -358,6 +362,10 @@ configure_controller()
db_set "${BASEPATH}.Enable" "${Enable}"
db_set "${BASEPATH}.EndpointID" "${EndpointID}"
if [ -n "${ProvisioningCode}" ]; then
db_set "${BASEPATH}.ProvisioningCode" "${ProvisioningCode}"
fi
if [ -n "${PeriodicNotifInterval}" ]; then
db_set "${BASEPATH}.PeriodicNotifInterval" "${PeriodicNotifInterval}"
fi
@@ -1032,8 +1040,8 @@ register_service()
configure_obuspa
procd_set_param respawn \
"${respawn_threshold:-5}" \
"${respawn_timeout:-10}" "${respawn_retry:-3}"
"${respawn_threshold:-10}" \
"${respawn_timeout:-10}" "${respawn_retry:-5}"
procd_set_param watch bbfdm
procd_close_instance

75
obuspa/files/etc/init.d/usptest Executable file
View File

@@ -0,0 +1,75 @@
#!/bin/sh /etc/rc.common
START=99
STOP=01
USE_PROCD=1
log()
{
echo "$*"|logger -t usptest -p debug
}
get_oui_from_db()
{
db -q get device.deviceinfo.ManufacturerOUI
}
get_serial_from_db()
{
db -q get device.deviceinfo.SerialNumber
}
publish_endpoint()
{
local AgentEndpointID serial oui user pass
if ! uci -q get obuspa.testmqtt; then
return 0;
fi
# return if mosquitto_pub is not present
if [ ! "$(command -v mosquitto_pub)" ]; then
log "mosquitto_pub not present can't publish EndpointID"
return 0;
fi
sleep 2
# Get endpoint id from obuspa config first
config_load obuspa
config_get AgentEndpointID localagent EndpointID ""
if [ -z "${AgentEndpointID}" ]; then
serial=$(get_serial_from_db)
oui=$(get_oui_from_db)
AgentEndpointID="os::${oui}-${serial//+/%2B}"
fi
config_get user testmqtt Username ""
config_get pass testmqtt Password ""
# publish Agent's EndpointID in mosquito broker for discovery by usp-js
# This is a work around till obuspa adds supports for mDNS discovery
if [ -n "${user}" ] && [ -n "${pass}" ]; then
log "Publishing EndpointID ${AgentEndpointID} to local mqtt broker with username, password"
mosquitto_pub -r -t "obuspa/EndpointID" -m "${AgentEndpointID}" -u "${user}" -P "${pass}"
elif [ -n "${user}" ]; then
log "Publishing EndpointID ${AgentEndpointID} to local mqtt broker with username only"
mosquitto_pub -r -t "obuspa/EndpointID" -m "${AgentEndpointID}" -u "${user}"
else
log "Publishing EndpointID ${AgentEndpointID} to local mqtt broker"
mosquitto_pub -r -t "obuspa/EndpointID" -m "${AgentEndpointID}"
fi
}
start_service() {
procd_open_instance usptest
publish_endpoint
procd_close_instance
}
reload_service() {
publish_endpoint
}
service_triggers() {
procd_add_reload_trigger "mosquitto" "obuspa"
}

View File

@@ -0,0 +1,59 @@
#!/bin/sh
. /lib/functions.sh
configure_dhcp_options() {
local enabled inerface discovery
config_load obuspa
config_get_bool enabled global enabled 1
config_get interface global interface "wan"
config_get_bool discovery global dhcp_discovery 1
if [ "${enabled}" -eq 0 ]; then
return 0
fi
if [ "${discovery}" -eq 1 ]; then
network_uci_update=0
reqopts="$(uci -q get network."${interface}".reqopts)"
proto="$(uci -q get network."${interface}".proto)"
local req125_present=0
for ropt in $reqopts; do
case $ropt in
125) req125_present=1 ;;
*) ;;
esac
done
sendopts="$(uci -q get network."${interface}".sendopts)"
opt124="124:"
send124_present=0
for sopt in $sendopts; do
if [[ "$sopt" == "$opt124"* ]]; then
send124_present=1
break
fi
done
if [ "${proto}" = "dhcp" ]; then
if [ ${req125_present} -eq 0 ]; then
newreqopts="$reqopts 125"
uci -q set network."${interface}".reqopts="$newreqopts"
network_uci_update=1
fi
if [ ${send124_present} -eq 0 ]; then
newsendopts="${sendopts} 124:00:00:0D:E9:04:03:75:73:70"
uci -q set network."${interface}".sendopts="$newsendopts"
network_uci_update=1
fi
fi
if [ ${network_uci_update} -eq 1 ]; then
uci commit network
fi
fi
}
configure_dhcp_options

View File

@@ -0,0 +1,70 @@
#!/bin/sh
. /lib/functions.sh
if [ ! -f "/etc/config/obuspa" ]; then
echo "Local obuspa not available"
return 0
fi
if [ ! -f "/etc/config/mosquitto" ]; then
echo "Local mosquitto broker not available"
return 0
fi
add_obuspa_test_mtp()
{
uci_add obuspa mtp test_mtp
uci_set obuspa test_mtp Protocol 'MQTT'
uci_set obuspa test_mtp ResponseTopicConfigured '/usp/endpoint'
uci_set obuspa test_mtp mqtt 'testmqtt'
}
add_obuspa_test_mqtt()
{
# Adds Device.MQTT.Client.
uci_add obuspa mqtt testmqtt
uci_set obuspa testmqtt BrokerAddress '127.0.0.1'
uci_set obuspa testmqtt BrokerPort '1883'
uci_set obuspa testmqtt TransportProtocol 'TCP/IP'
}
add_obuspa_test_controller()
{
# Adds Device.LocalAgent.Controller.
uci_add obuspa controller testcontroller
uci_set obuspa testcontroller EndpointID 'proto::interop-usp-controller'
uci_set obuspa testcontroller Protocol 'MQTT'
uci_set obuspa testcontroller Topic '/usp/controller'
uci_set obuspa testcontroller mqtt 'testmqtt'
uci_set obuspa testcontroller assigned_role_name 'full_access'
}
add_usp_test()
{
uci_add mosquitto listener usptest
uci_set mosquitto usptest enabled 1
uci_set mosquitto usptest port '9001'
uci_set mosquitto usptest protocol 'websockets'
uci_set mosquitto usptest require_certificates '0'
uci_set mosquitto usptest auth_plugin '/usr/lib/mosquitto_auth_shadow.so'
}
add_obuspa_config()
{
uci_add mosquitto listener obuspa
uci_set mosquitto obuspa enabled 1
uci_set mosquitto obuspa port '1883'
uci_set mosquitto obuspa no_remote_access '1'
uci_set mosquitto obuspa allow_anonymous '1'
}
# Install test usp controller config
uci_load mosquitto
add_usp_test
add_obuspa_config
uci_load obuspa
add_obuspa_test_mtp
add_obuspa_test_mqtt
add_obuspa_test_controller

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=periodicstats
PKG_VERSION:=1.4.1
PKG_VERSION:=1.5.1
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/periodicstats.git
PKG_SOURCE_VERSION:=415b7b59d7cd84cb133b20e27eca63a8cd74a155
PKG_SOURCE_VERSION:=e68c87c5648182cc08e69c5fd368e8d178f24804
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
@@ -42,10 +42,9 @@ define Package/periodicstats/install
$(CP) ./files/* $(1)/
$(INSTALL_DIR) $(1)/usr
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_DIR) $(1)/usr/lib/bbfdm
$(CP) $(PKG_BUILD_DIR)/bbf_plugin/libperiodicstats.so $(1)/usr/lib/bbfdm
$(INSTALL_BIN) $(PKG_BUILD_DIR)/periodicstatsd $(1)/usr/sbin
$(INSTALL_DIR) $(1)/etc/periodicstats
$(CP) $(PKG_BUILD_DIR)/bbf_plugin/libperiodicstats.so $(1)/etc/periodicstats
endef
$(eval $(call BuildPackage,periodicstats))

View File

@@ -3,14 +3,19 @@
START=99
STOP=01
. /etc/bbfdm/bbfdm_services.sh
USE_PROCD=1
PROG=/usr/sbin/periodicstatsd
PROG="/usr/sbin/periodicstatsd"
PERIODICSTATS_JSON_INPUT="/etc/periodicstats/input.json"
start_service() {
local enable
config_load periodicstats
config_get_bool enable globals enable 1
bbfdm_add_service "bbfdm.periodicstats" "${PERIODICSTATS_JSON_INPUT}"
if [ "${enable}" -ne "1" ]; then
return 0;

View File

@@ -0,0 +1,15 @@
{
"daemon": {
"input": {
"type": "DotSo",
"name": "/etc/periodicstats/libperiodicstats.so"
},
"output": {
"type": "UBUS",
"name": "bbfdm.periodicstats",
"parent_dm": "Device.",
"object": "PeriodicStatistics",
"root_obj": "bbfdm"
}
}
}

View File

@@ -11,6 +11,34 @@ set_serial_number() {
/userfs/bin/omcicfgCmd set sn ${vendor_id}${vssn}
}
set_equipment_id() {
local eqid=$1
local eq_id_default="KE2.119.241R2B"
if [ -z "$eqid" ]; then
return
fi
if [ "$eqid" = "$eq_id_default" ]; then
return
fi
/userfs/bin/omcicfgCmd set equipmentId ${eqid}
}
set_loid_authentication() {
local loid=$1
local loid_pwd=$2
[ -z "$loid" ] && return
/userfs/bin/omcicfgCmd set loid ${loid}
if [ -n "$loid_pwd" ]; then
/userfs/bin/omcicfgCmd set loid_password ${loid_pwd}
fi
}
init_xpon() {
# don't start pon daemons if xpon module is not loaded
[ -d /sys/module/xpon ] || return

View File

@@ -12,10 +12,22 @@ set_serial_number() {
bs /b/c gpon onu_sn={vendor_id=$vendor_id,vendor_specific=$vssn}
}
set_equipment_id() {
return
}
set_loid_authentication() {
return
}
generate_xpon_json() {
eqid="$(uci -q get xpon.ani.equipment_id)"
sn="$(uci -q get xpon.ani.serial_number)"
echo "{\"ani\":{\"serial_number\":\"$sn\", \"equipment_id\":\"$eqid\"}}" >/tmp/xpon.json
}
init_xpon() {
procd_open_instance pon_msgd
procd_set_param command bcm_msgd -c gpon
procd_close_instance
generate_xpon_json
procd_open_instance pon_daemon
procd_set_param command omcid start -n

View File

@@ -24,9 +24,22 @@ configure_serial_number() {
set_serial_number $vendor_id $vssn
}
configure_equipment_id() {
eqid="$(uci -q get xpon.ani.equipment_id)"
set_equipment_id $eqid
}
configure_loid_authentication() {
loid="$(uci -q get xpon.ani.loid)"
loid_pwd="$(uci -q get xpon.ani.loid_password)"
set_loid_authentication $loid $loid_pwd
}
start_service() {
if [ "$(uci -q get xpon.ani.enable)" == "1" ]; then
configure_serial_number
configure_equipment_id
configure_loid_authentication
init_xpon
fi
}

View File

@@ -587,7 +587,7 @@
],
"datatype": "string",
"enumerations": [
"GPON",
"G-PON",
"XG-PON",
"NG-PON2",
"XGS-PON"
@@ -858,7 +858,7 @@
}
]
},
"ModuleVendor": {
"VendorName": {
"type": "string",
"read": true,
"write": false,
@@ -871,11 +871,11 @@
{
"data": "@Parent",
"type": "json",
"key": "ModuleVendor"
"key": "VendorName"
}
]
},
"ModuleName": {
"VendorPartNumber": {
"type": "string",
"read": true,
"write": false,
@@ -888,11 +888,11 @@
{
"data": "@Parent",
"type": "json",
"key": "ModuleName"
"key": "VendorPartNumber"
}
]
},
"ModuleVersion": {
"VendorRevision": {
"type": "string",
"read": true,
"write": false,
@@ -905,24 +905,7 @@
{
"data": "@Parent",
"type": "json",
"key": "ModuleVersion"
}
]
},
"ModuleFirmwareVersion": {
"type": "string",
"read": true,
"write": false,
"protocols": [
"cwmp",
"usp"
],
"datatype": "string",
"mapping": [
{
"data": "@Parent",
"type": "json",
"key": "ModuleFirmwareVersion"
"key": "VendorRevision"
}
]
},

View File

@@ -454,6 +454,9 @@ configure_qos() {
pre_configure_queue
configure_queue
configure_classify
if [ -f "/tmp/qos/classify.ebtables" ]; then
sh /tmp/qos/classify.ebtables
fi
configure_policer
}

View File

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

View File

@@ -85,3 +85,19 @@ After adding the makefile, user need to specify the list of plugins in below con
```bash
CONFIG_SULU_EXTRA_PACKAGES="sulu-plugin1 sulu-plugin2 sulu-theme1"
```
# SULU PWA (Progressive Web App)
PWA applications generally used for well know secured sites, which can be installed directly from web-browser as desktop/mobile application.
> Note:
> 1. It requires well defined SSL keys for deployment of PWA for a defined site.
> 2. It should be used with sites with well defined FQDN
To enable SULU PWA application, user need to select PWA in sulu/sulu-builder config options and provide the path of the pwa key file
```bash
CONFIG_SULU_PWA_APP=y
CONFIG_SULU_PWA_KEYS_PATH="/somepath_with_pwa.{crt,key}"
```
>Note: Replacing/changing the keys might requires uninstall/install of PWA App and CTRL+Shift+R in browser to drop the cached site and load the new site with new keys.

View File

@@ -5,11 +5,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=sulu-base
PKG_VERSION:=2.2.5
PKG_VERSION:=2.3.0
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/sulu.git
PKG_SOURCE_VERSION:=2964b4263ee25fe16a0a74e833e269889dc8375f
PKG_SOURCE_VERSION:=f7d77710c288668c7abf84ec82eeffc613723004
PKG_MIRROR_HASH:=skip
SULU_MOD:=core

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=sulu-builder
PKG_VERSION:=2.2.5
PKG_VERSION:=2.3.0
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/sulu-builder.git
PKG_SOURCE_VERSION:=046bb209b4650564cc07d288112f3eb367aabca2
PKG_SOURCE_VERSION:=6d4933ac821600b051193951f24765569da2c9a4
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)
@@ -28,7 +28,8 @@ define Package/sulu/default
CATEGORY:=Utilities
SUBMENU:=SULU
TITLE:=SULU-CE
DEPENDS:=+nginx +mosquitto-auth-shadow +usermngr +jq
DEPENDS:=+mosquitto-auth-shadow +usermngr +jq
EXTRA_DEPENDS:=nginx
endef
define Package/sulu
@@ -41,10 +42,10 @@ endef
define Package/sulu-builder
$(Package/sulu/default)
CONFLICTS:=sulu
TITLE += (Builder)
VARIANT:=builder
DEPENDS+=+sulu-base $(foreach plugin,$(SULU_PLUGINS), +PACKAGE_$(plugin):$(plugin)) $(foreach plugin,$(SULU_EXTRA), +PACKAGE_$(plugin):$(plugin))
MENU:=1
endef
define Package/sulu/description
@@ -55,16 +56,45 @@ define Package/sulu-builder/description
SULU-CE ReactJS based Web UI builder.
endef
define Package/sulu/config
config SULU_PWA_APP
depends on PACKAGE_sulu
bool "Enable SULU PWA App support"
default n
help
Enable SULU PWA (Progressive Web App) support, this requires
'pwa.crt' and 'pwa.key' to be installed in '/etc/sulu/' directory.
config SULU_PWA_KEYS_PATH
depends on PACKAGE_sulu
string "Path of pwa.crt and pwa.key for sulu/PWA"
help
Provide directory path for the certficates for PWA,
directory must contain 'pwa.crt' and 'pwa.key'.
endef
define Package/sulu-builder/config
menu "Configuration"
depends on PACKAGE_sulu-builder
config SULU_EXTRA_PACKAGES
depends on PACKAGE_sulu-builder
string "Space separated list of sulu packages"
help
You can specify the list of non core sulu package,
so that sulu-builder include them before building the core.
endmenu
config SULU_PWA_APP
depends on PACKAGE_sulu-builder
bool "Enable SULU PWA App support"
default n
help
Enable SULU PWA (Progressive Web App) support, this requires
'pwa.crt' and 'pwa.key' to be installed in '/etc/sulu/' directory.
config SULU_PWA_KEYS_PATH
depends on PACKAGE_sulu-builder
string "Path of pwa.crt and pwa.key for sulu/PWA"
help
Provide directory path for the certficates for PWA,
directory must contain 'pwa.crt' and 'pwa.key'.
endef
ifeq ($(BUILD_VARIANT),builder)
@@ -99,11 +129,19 @@ define Package/sulu/install/Default
$(INSTALL_BIN) ./files/etc/uci-defaults/40-add-sulu-nginx-config $(1)/etc/uci-defaults/
$(INSTALL_BIN) ./files/etc/uci-defaults/01-update-nginx-uci-template $(1)/etc/uci-defaults/
$(INSTALL_BIN) ./files/etc/uci-defaults/10-add-mqtt-config $(1)/etc/uci-defaults/
ifeq ($(CONFIG_SULU_PWA_APP),y)
$(INSTALL_BIN) ./files/etc/uci-defaults/99-eval-set-sulu-pwa-keys $(1)/etc/uci-defaults/
$(INSTALL_DATA) $(CONFIG_SULU_PWA_KEYS_PATH)/pwa.crt $(1)/etc/sulu/
$(INSTALL_DATA) $(CONFIG_SULU_PWA_KEYS_PATH)/pwa.key $(1)/etc/sulu/
endif
endef
define Package/sulu/install
$(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
ifneq ($(CONFIG_PACKAGE_skopeo)$(CONFIG_PACKAGE_umoci),yy)
$(RM) $(1)/sulu/config/widgets/lcm-store.json
endif
@@ -112,6 +150,9 @@ endef
define Package/sulu-builder/install
$(Package/sulu/install/Default)
$(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/src/config/*.json $(1)/sulu/config/
$(CP) $(PKG_BUILD_DIR)/build/src/config/widgets/diagnostics.json $(1)/sulu/config/widgets/
$(CP) $(PKG_BUILD_DIR)/build/src/config/widgets/wan.json $(1)/sulu/config/widgets/

View File

@@ -9,15 +9,14 @@ add_sulu_nginx_uci()
if ! uci_get nginx _sulu_s >/dev/null 2>&1; then
uci_add nginx server _sulu_s
uci_set nginx _sulu_s root '/sulu'
uci_add_list nginx _sulu_s listen "8443 http2 ssl"
uci_add_list nginx _sulu_s listen "[::]:8443 http2 ssl"
uci_add_list nginx _sulu_s listen "8443 ssl default_server"
uci_add_list nginx _sulu_s listen "[::]:8443 ssl default_server"
uci_set nginx _sulu_s server_name '_sulu_s'
uci_add_list nginx _sulu_s include '/etc/sulu/nginx.locations'
uci_set nginx _sulu_s uci_manage_ssl 'self-signed'
uci_set nginx _sulu_s ssl_certificate '/etc/nginx/conf.d/_lan.crt'
uci_set nginx _sulu_s ssl_certificate_key '/etc/nginx/conf.d/_lan.key'
uci_set nginx _sulu_s ssl_session_cache 'shared:SSL:32k'
uci_set nginx _sulu_s ssl_session_timeout '64m'
uci_set nginx _sulu_s ssl_session_cache 'none'
uci_set nginx _sulu_s access_log 'off; # logd openwrt'
uci_set nginx _sulu_s error_log '/dev/null'
fi
@@ -27,7 +26,7 @@ add_sulu_nginx_uci()
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 'https://$host:8443$request_uri'
uci_set nginx _suluredirect return '302 https://$host:8443$request_uri'
fi
}

View File

@@ -0,0 +1,14 @@
#!/bin/sh
. /lib/functions.sh
set_sulu_pwa_key()
{
if [ -f "/etc/sulu/pwa.crt" -a -f "/etc/sulu/pwa.key" ]; then
uci_load nginx
uci_set nginx _sulu_s ssl_certificate '/etc/sulu/pwa.crt'
uci_set nginx _sulu_s ssl_certificate_key '/etc/sulu/pwa.key'
fi
}
set_sulu_pwa_key

View File

@@ -4,11 +4,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=sulu-lcm
PKG_VERSION:=2.2.4
PKG_VERSION:=2.2.12
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/sulu-lcm.git
PKG_SOURCE_VERSION:=46975426ffa53ffcc3b0d9e9160f6b3d4b6d82fd
PKG_SOURCE_VERSION:=bc866b3679d07a80828aa40f7fcdaf18d48c7c61
PKG_MIRROR_HASH:=skip
SULU_PLUGIN_INSTALL:=1

View File

@@ -4,11 +4,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=sulu-multi-ap
PKG_VERSION:=2.2.4
PKG_VERSION:=2.2.18
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/sulu-multi-ap.git
PKG_SOURCE_VERSION:=d77f19d8d964c9ecf8ab6d2cc3c8ddc369135d7e
PKG_SOURCE_VERSION:=ae4cb0a27b7d084aaad69e81cb4d96d88ecdffee
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:=2.2.3
PKG_VERSION:=2.2.12
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/sulu-parental-control.git
PKG_SOURCE_VERSION:=27f3859e30efbbed211c033f923f35974b3619fd
PKG_SOURCE_VERSION:=e005dd22fd98342df9589e05dd89e322265a2dcc
PKG_MIRROR_HASH:=skip
include ../sulu-builder/sulu.mk

View File

@@ -1,53 +1,83 @@
menu "Configuration"
config SWMODD_REGISTRY_PULL_SUPPORT
bool "Add support to pull images from container image registries (i.e: docker.io, quay.io)"
depends on PACKAGE_swmodd
default n
select PACKAGE_skopeo
select PACKAGE_umoci
config SWMODD_LXC_SUPPORT
bool "Handles LXC based containers"
default y
config SWMODD_LXC_SUPPORT
bool "Handles LXC based containers"
depends on PACKAGE_swmodd
default y
select PACKAGE_lxc
select PACKAGE_lxc-attach
select PACKAGE_lxc-auto
select PACKAGE_lxc-cgroup
select PACKAGE_lxc-checkconfig
select PACKAGE_lxc-common
select PACKAGE_lxc-config
select PACKAGE_lxc-configs
select PACKAGE_lxc-console
select PACKAGE_lxc-create
select PACKAGE_lxc-destroy
select PACKAGE_lxc-execute
select PACKAGE_lxc-freeze
select PACKAGE_lxc-hooks
select PACKAGE_lxc-info
select PACKAGE_lxc-init
select PACKAGE_lxc-ls
select PACKAGE_lxc-device
select PACKAGE_lxc-start
select PACKAGE_lxc-stop
select PACKAGE_lxc-templates
select PACKAGE_lxc-top
select PACKAGE_lxc-unfreeze
select PACKAGE_lxc-unprivileged
select PACKAGE_lxc-unshare
select PACKAGE_lxc-user-nic
select PACKAGE_lxc-usernsexec
select PACKAGE_lxc-wait
config SWMODD_OCI_SUPPORT
bool "Handles OCI containers"
default y
depends on PACKAGE_swmodd
select PACKAGE_crun
config SWMODD_OCI_SUPPORT
bool "Handles OCI containers"
depends on PACKAGE_swmodd
default y
select PACKAGE_crun
config SWMODD_REGISTRY_PULL_SUPPORT
bool "Add support to pull images from container image registries (i.e: docker.io, quay.io)"
default n
depends on PACKAGE_swmodd
select PACKAGE_skopeo
select PACKAGE_umoci
config SWMODD_KERNEL_OPTIONS
bool "Enable kernel support for LXC and OCI containers"
depends on PACKAGE_swmodd
default y
select LXC_KERNEL_OPTIONS
select LXC_BUSYBOX_OPTIONS
select LXC_SECCOMP
select LXC_NETWORKING
select KERNEL_CGROUPS
select KERNEL_CGROUP_SCHED
select KERNEL_CGROUP_DEVICE
select KERNEL_CGROUP_FREEZER
select KERNEL_CGROUP_CPUACCT
select KERNEL_CGROUP_NET_PRIO
select KERNEL_NET_CLS_CGROUP
select KERNEL_NAMESPACES
select KERNEL_DEVPTS_MULTIPLE_INSTANCES
select KERNEL_POSIX_MQUEUE
select KERNEL_FAIR_GROUP_SCHED
select KERNEL_RT_GROUP_SCHED
select KERNEL_MEMCG
select KERNEL_MEMCG_KMEM
select KERNEL_CPUSETS
select PACKAGE_kmod-ikconfig
help
Select needed kernel options for LXC and CRUN related utilities. Options
include cgroups, namespaces and other miscellaneous options. These
options unfortunately can not be installed as a module.
config SWMODD_KERNEL_OPTIONS
bool "Enable kernel support for LXC and OCI containers"
default y
select KERNEL_CGROUPS
select KERNEL_CGROUP_SCHED
select KERNEL_CGROUP_DEVICE
select KERNEL_CGROUP_FREEZER
select KERNEL_CGROUP_CPUACCT
select KERNEL_CGROUP_NET_PRIO
select KERNEL_NET_CLS_CGROUP
select KERNEL_NAMESPACES
select KERNEL_DEVPTS_MULTIPLE_INSTANCES
select KERNEL_POSIX_MQUEUE
select KERNEL_FAIR_GROUP_SCHED
select KERNEL_RT_GROUP_SCHED
select KERNEL_MEMCG
select KERNEL_MEMCG_KMEM
select KERNEL_CPUSETS
select PACKAGE_kmod-ikconfig
help
Select needed kernel options for LXC and CRUN related utilities. Options
include cgroups, namespaces and other miscellaneous options. These
options unfortunately can not be installed as a module.
config SWMODD_NETWORKING
bool "Enable networking support for LXC/OCI containers"
default y
select PACKAGE_kmod-veth
select PACKAGE_kmod-macvlan
help
Enable "veth pair device" and "macvlan"
endmenu
config SWMODD_NETWORKING
bool "Enable networking support for LXC/OCI containers"
depends on PACKAGE_swmodd
default y
select PACKAGE_kmod-veth
select PACKAGE_kmod-macvlan
help
Enable "veth pair device" and "macvlan"

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=swmodd
PKG_VERSION:=2.2.4
PKG_VERSION:=2.3.1
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/lcm/swmodd.git
PKG_SOURCE_VERSION:=25cbdf268e803eeed4f840419825512724df055d
PKG_SOURCE_VERSION:=67f5ecdec41ca7d6f9b3aaccca8ca21db64bb599
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
@@ -28,8 +28,9 @@ define Package/swmodd
CATEGORY:=Utilities
SUBMENU:=TRx69
TITLE:= Software Modules Daemon
MENU:=1
DEPENDS:=+libuci +libubox +ubus +libuuid +opkg +libcurl \
+PACKAGE_liblxc:liblxc +@BUSYBOX_CONFIG_BUSYBOX \
+PACKAGE_lxc:lxc +PACKAGE_liblxc:liblxc +@BUSYBOX_CONFIG_BUSYBOX \
+@BUSYBOX_CONFIG_FEATURE_SHOW_SCRIPT +@BUSYBOX_CONFIG_SCRIPT \
+swmodd-cgroup +jq +libbbfdm-api
endef
@@ -54,12 +55,12 @@ TARGET_CFLAGS += \
-D_GNU_SOURCE \
-Wall -Werror
ifeq ($(CONFIG_PACKAGE_crun),y)
ifeq ($(CONFIG_SWMODD_OCI_SUPPORT),y)
MAKE_FLAGS += \
SWMOD_CRUN="yes"
endif
ifeq ($(CONFIG_PACKAGE_liblxc),y)
ifeq ($(CONFIG_SWMODD_LXC_SUPPORT),y)
MAKE_FLAGS += \
SWMOD_LXC="yes"
endif
@@ -76,23 +77,24 @@ define Package/swmodd/install
$(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)
$(INSTALL_DIR) $(1)/usr/share/lxc/templates/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/templates/lxc-iopsys $(1)/usr/share/lxc/templates/lxc-iopsys
$(INSTALL_BIN) ./files/etc/uci-defaults/02-migrate-lxc $(1)/etc/uci-defaults/02-migrate-lxc
endif
ifeq ($(CONFIG_PACKAGE_crun),y)
$(INSTALL_DIR) $(1)/etc/swmodd
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_BIN) ./files/etc/swmodd/run.sh $(1)/etc/swmodd/run.sh
$(INSTALL_BIN) ./files/etc/init.d/crun $(1)/etc/init.d/crun
$(INSTALL_BIN) ./files/etc/config/crun $(1)/etc/config/crun
$(INSTALL_BIN) $(PKG_BUILD_DIR)/scripts/crun_create $(1)/usr/sbin/crun_create
$(INSTALL_BIN) ./files/etc/uci-defaults/01-fix-bundle-path $(1)/etc/uci-defaults/01-fix-bundle-path
endif
endef

View File

@@ -6,6 +6,11 @@ STOP=01
USE_PROCD=1
PROG=/usr/sbin/swmodd
log()
{
logger -t swmodd.init "$*"
}
validate_globals_section()
{
uci_validate_section swmodd swmodd "globals" \
@@ -70,9 +75,15 @@ start_service() {
[ "${enabled}" -eq 0 ] && return 0
# Create the bundle paths if not present
[ -n "${lxc_bundle_root}" ] && mkdir -p "${lxc_bundle_root}"
[ -n "${oci_bundle_root}" ] && mkdir -p "${oci_bundle_root}"
if [ ! -d "${lxc_bundle_root}" ]; then
log "# Not staring lxc [${lxc_bundle_root}] not present/defined"
return 1
fi
if [ ! -d "${oci_bundle_root}" ]; then
log "# Not staring oci [${oci_bundle_root}] not present/defined"
return 1
fi
procd_open_instance swmodd
procd_set_param command ${PROG}

View File

@@ -21,23 +21,18 @@ if [ -n "${lxc_bundle}" ]; then
elif [ -n "${lxc}" ]; then
# if lxc_bundle_root not define in swmodd, update it with lxc path
uci_set swmodd globals lxc_bundle_root ${lxc}
uci_commit
else
mkdir -p /etc/lxc
echo "lxc.lxcpath = /srv/" > /etc/lxc/lxc.conf
uci_set swmodd globals lxc_bundle_root "/srv/"
uci_commit
fi
if [ -z "${oci_bundle}" ] && [ -n "${lxc_bundle}" ]; then
# if oci_bundle_root not defined in swmodd, update it with lxc_bundle_root if defined
uci_set swmodd globals oci_bundle_root ${lxc_bundle}
uci_commit
elif [ -z "${oci_bundle}" ] && [ -n "${lxc}" ]; then
# if oci_bundle_root not defined in swmodd, update it with lxc path
uci_set swmodd globals oci_bundle_root ${lxc}
uci_commit
elif [ -z "${oci_bundle}" ]; then
uci_set swmodd globals oci_bundle_root "/srv/"
uci_commit
fi

View File

@@ -0,0 +1,47 @@
#!/bin/sh
. /lib/functions.sh
config_change=0
migrate_lxc() {
config_get name "${1}" name ""
if [ -z "${name}" ]; then
return 0;
fi
# Now lets check if already present in lxccontainer
exist=$(uci -q -c "${2}" show lxccontainer | grep ".name='$name'")
if [ -z "${exist}" ]; then
# Not present, need to migrate
sec=$(uci -q -c "${2}" add lxccontainer container)
if [ -n "${sec}" ]; then
uci -q -c "${2}" set lxccontainer."${sec}".name="${name}"
uci -q -c "${2}" set lxccontainer."${sec}".type='lxc'
uci -q -c "${2}" set lxccontainer."${sec}".autostart='1'
uci -q -c "${2}" set lxccontainer."${sec}".timeout='300'
config_change=1
fi
fi
}
config_load swmodd
config_get lxc_bundle globals lxc_bundle_root ""
if [ -z "${lxc_bundle}" ]; then
return 0
fi
if [ ! -d "${lxc_bundle}" ]; then
return 0
fi
touch "${lxc_bundle}"/lxccontainer
config_load lxc-auto
config_foreach migrate_lxc container "${lxc_bundle}"
if [ $config_change -eq 1 ]; then
uci -q -c "${lxc_bundle}" commit lxccontainer
fi

55
tr104/Makefile Normal file
View File

@@ -0,0 +1,55 @@
#
# Copyright (C) 2023 IOPSYS
#
include $(TOPDIR)/rules.mk
PKG_NAME:=tr104
PKG_VERSION:=1.0.3
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:=$(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
include $(INCLUDE_DIR)/cmake.mk
define Package/$(PKG_NAME)
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=TRx69
TITLE:=TR104 Datamodel Daemon
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +asterisk
endef
define Package/$(PKG_NAME)/description
TR104 datamodel daemon
endef
CMAKE_OPTIONS += \
-DBBF_VENDOR_PREFIX:String="$(CONFIG_BBF_VENDOR_PREFIX)" \
-DDM_ENABLE_UBUS=ON
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
$(CP) ~/git/$(PKG_NAME)/* $(PKG_BUILD_DIR)/
endef
endif
define Package/$(PKG_NAME)/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/tr104d
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/daemon/ubus/tr104d $(1)/usr/sbin/
$(INSTALL_BIN) ./files/etc/init.d/tr104d $(1)/etc/init.d/
endef
$(eval $(call BuildPackage,$(PKG_NAME)))

View File

@@ -0,0 +1,24 @@
#!/bin/sh /etc/rc.common
START=96
STOP=10
USE_PROCD=1
PROG=/usr/sbin/tr104d
log() {
echo "${@}"|logger -t bbfdmd.init -p info
}
start_service()
{
procd_open_instance "tr104d"
procd_set_param command ${PROG}
procd_set_param stdout 1
procd_set_param stderr 1
procd_set_param respawn
procd_close_instance
}

View File

@@ -6,13 +6,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=twamp
PKG_VERSION:=1.3.1
PKG_VERSION:=1.4.0
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:=8bab6ac3f0e85f450946089a025e86ceb75f699b
PKG_SOURCE_VERSION:=9523a75f4c4059b729d462e741f7edd462c28147
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

View File

@@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=udpecho
PKG_VERSION:=2.1.0
PKG_VERSION:=2.2.0
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/udpecho.git
PKG_SOURCE_VERSION:=8964b6e29347181f0d52da5c3b8d075737ea1a52
PKG_SOURCE_VERSION:=c0991eeeaa210ae2910f970e8b23d34139ad6044
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=usermngr
PKG_VERSION:=1.1.4
PKG_VERSION:=1.2.1
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/usermngr.git
PKG_SOURCE_VERSION:=2285d198a535e0dc05f5fb78e80442d7a2ccf5f8
PKG_SOURCE_VERSION:=b1021fd6cba8291657a3b127e47c6fd91b8a0976
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

View File

@@ -6,11 +6,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=usp-js
PKG_VERSION:=1.2.1
PKG_VERSION:=1.2.2
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/usp-js.git
PKG_SOURCE_VERSION:=d3fe500133074ac2a2475c4a1b31a28effbc6431
PKG_SOURCE_VERSION:=80712f48da527a1e524e2d04d40ce5734030483e
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
@@ -24,6 +24,7 @@ define Package/usp-js
CATEGORY:=Libraries
TITLE:=A JS library for USP(TR369) protocol
DEPENDS:=+quickjs +quickjs-websocket
EXTRA_DEPENDS:=obuspa mosquitto-ssl
endef
define Package/usp-js/description

View File

@@ -1,22 +0,0 @@
#!/bin/sh
. /lib/functions.sh
if [ ! -f "/etc/config/mosquitto" ]; then
echo "Local mosquitto broker not available"
return 0
fi
add_obuspa_config()
{
if ! uci_get mosquitto obuspa >/dev/null 2>&1; then
uci_add mosquitto listener obuspa
uci_set mosquitto obuspa enabled 1
uci_set mosquitto obuspa port '1883'
uci_set mosquitto obuspa no_remote_access '1'
uci_set mosquitto obuspa allow_anonymous '1'
fi
}
uci_load mosquitto
add_obuspa_config

View File

@@ -7,40 +7,52 @@ if [ ! -f "/etc/config/obuspa" ]; then
return 0
fi
if [ ! -f "/etc/config/mosquitto" ]; then
echo "Local mosquitto broker not available"
return 0
fi
add_obuspa_test_mtp()
{
if ! uci_get obuspa test_mtp >/dev/null 2>&1; then
uci_add obuspa mtp test_mtp
uci_set obuspa test_mtp Protocol 'MQTT'
uci_set obuspa test_mtp ResponseTopicConfigured '/usp/endpoint'
uci_set obuspa test_mtp mqtt 'testmqtt'
fi
uci_add obuspa mtp test_mtp
uci_set obuspa test_mtp Protocol 'MQTT'
uci_set obuspa test_mtp ResponseTopicConfigured '/usp/endpoint'
uci_set obuspa test_mtp mqtt 'testmqtt'
}
add_obuspa_test_mqtt()
{
# Adds Device.MQTT.Client.
if ! uci_get obuspa testmqtt >/dev/null 2>&1; then
uci_add obuspa mqtt testmqtt
uci_set obuspa testmqtt BrokerAddress '127.0.0.1'
uci_set obuspa testmqtt BrokerPort '1883'
uci_set obuspa testmqtt TransportProtocol 'TCP/IP'
fi
uci_add obuspa mqtt testmqtt
uci_set obuspa testmqtt BrokerAddress '127.0.0.1'
uci_set obuspa testmqtt BrokerPort '1883'
uci_set obuspa testmqtt TransportProtocol 'TCP/IP'
}
add_obuspa_test_controller()
{
# Adds Device.LocalAgent.Controller.
if ! uci_get obuspa testcontroller >/dev/null 2>&1; then
uci_add obuspa controller testcontroller
uci_set obuspa testcontroller EndpointID 'proto::interop-usp-controller'
uci_set obuspa testcontroller Protocol 'MQTT'
uci_set obuspa testcontroller Topic '/usp/controller'
uci_set obuspa testcontroller mqtt 'testmqtt'
uci_set obuspa testcontroller assigned_role_name 'full_access'
fi
uci_add obuspa controller testcontroller
uci_set obuspa testcontroller EndpointID 'proto::interop-usp-controller'
uci_set obuspa testcontroller Protocol 'MQTT'
uci_set obuspa testcontroller Topic '/usp/controller'
uci_set obuspa testcontroller mqtt 'testmqtt'
uci_set obuspa testcontroller assigned_role_name 'full_access'
}
add_obuspa_config()
{
uci_add mosquitto listener obuspa
uci_set mosquitto obuspa enabled 1
uci_set mosquitto obuspa port '1883'
uci_set mosquitto obuspa no_remote_access '1'
uci_set mosquitto obuspa allow_anonymous '1'
}
# Add local controller for usp-js
uci_load mosquitto
add_obuspa_config
uci_load obuspa
add_obuspa_test_mtp
add_obuspa_test_mqtt

View File

@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=voicemngr
PKG_RELEASE:=1
PKG_VERSION:=1.0.4
PKG_VERSION:=1.0.5
PKG_LICENSE:=PROPRIETARY
PKG_LICENSE_FILES:=LICENSE
@@ -19,7 +19,7 @@ LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/$(PKG_NAME).git
PKG_SOURCE_VERSION:=11b27a3bbf80f87ddfe10ed984d2945655ce3ba1
PKG_SOURCE_VERSION:=e174820ea544498d56ff89d03307ef883607d792
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:=wifimngr
PKG_VERSION:=16.0.6
PKG_VERSION:=16.0.10
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=93b34813aa41220e57bbec8c13c7a68d390c7a61
PKG_SOURCE_VERSION:=38ec9902a518797ca1ef5a7edae31e0c58d7a79c
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/wifimngr.git
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@iopsys.eu>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz

View File

@@ -20,6 +20,3 @@ reload_service() {
start
}
service_triggers() {
procd_add_reload_trigger "wireless"
}

View File

@@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=xmppc
PKG_VERSION:=2.1.1
PKG_VERSION:=2.2.0
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/xmppc.git
PKG_SOURCE_VERSION:=6576bad7849ca4027dd1214086a91eb046f7aa53
PKG_SOURCE_VERSION:=30f0762f3e62b8e7b4f006a185f09970e6084714
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif