Compare commits

..

499 Commits

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

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

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

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

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2025-01-07 15:16:20 +00:00
Andreas Gnau
c4f4edd39d iop: Remove KConfig symbols
* CONFIG_TARGET_VERSION has not been used for years, remove it.
* CONFIG_TARGET_CUSTOMER is only used by one feed and is defined there as
  well, so the definition here is not needed, remove it.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2025-01-07 16:07:48 +01:00
Janusz Dziedzic
b02342e752 libwifi: 7.8.1 2025-01-07 10:15:10 +00:00
Janusz Dziedzic
562733b291 map-controller: 6.1.2.15 2025-01-03 14:39:14 +00:00
Janusz Dziedzic
9f6d7d44ed map-agent: 6.2.3.10 2025-01-03 14:39:14 +00:00
Janusz Dziedzic
84faa7f55b libwifi: 7.8.0 2025-01-03 11:58:42 +00:00
Vivek Kumar Dutta
b939c6988e sysmngr: 1.0.13 2025-01-02 19:07:36 +05:30
Suvendhu Hansa
9a28469028 hostmngr: Added vendor extensions 2025-01-02 17:30:47 +05:30
Vivek Kumar Dutta
64123c0f62 ethmngr: Support for Interface Stats Reset 2025-01-02 15:11:47 +05:30
Vivek Kumar Dutta
923a3e2f08 firewallmngr: use name option as instance marker 2025-01-02 14:00:11 +05:30
Suvendhu Hansa
c92e073ec5 periodicstats: unified daemon + datamodel 2025-01-02 06:33:46 +00:00
Suvendhu Hansa
6cdabddc23 bulkdata: Fix random crashes 2024-12-27 09:53:53 +00:00
Markus Gothe
a0eab2f7b9 qosmngr: Improve TSID to be unique. 2024-12-27 09:28:33 +01:00
Vivek Kumar Dutta
cb4b5c0c7c sysmngr: Updated fwbank validator to accept partial data 2024-12-26 19:43:47 +05:30
Rahul Thakur
bc4bb6b9ea mcastmngr: fix mld filtering 2024-12-24 16:20:56 +05:30
Vivek Kumar Dutta
c41ed55d5f wifidmd: Fix typo in MeasurementReport parameter 2024-12-23 10:59:29 +05:30
Jakob Olsson
4860a1a5a8 map-controler: 6.1.2.14 2024-12-19 16:51:08 +01:00
Vivek Kumar Dutta
973a0c689a sysmngr: added validator for reset_reason file 2024-12-19 19:16:58 +05:30
Jakob Olsson
89d03dc3b9 decollector: 6.1.0.7 2024-12-17 10:28:24 +01:00
Jakob Olsson
510dedb352 map-agent: 6.2.3.9 2024-12-17 10:27:13 +01:00
Jakob Olsson
caf9074ab8 map-agent: 6.2.3.8 2024-12-16 17:08:04 +01:00
Jakob Olsson
0676d5b990 map-controller: 6.1.2.13 2024-12-16 16:16:29 +01:00
Jakob Olsson
fb0413467b map-controller: 6.1.2.12 2024-12-16 14:22:10 +01:00
Markus Gothe
148aa95651 qosmngr: Fix Airoha issue with token rate. 2024-12-12 20:49:20 +01:00
Markus Gothe
daf54622d8 Update WAN ingress ratelimit with generic method.
Instead of using the MAC to do ratelimting we use
the Frame Engine, this has the the benefit of being
a more universal solution and will work with PON
without the need of implement APIs for using the
MAC to do ingress ratelimiting.

This also works fine when the integrated switch
is used as the wan.
2024-12-12 17:12:40 +00:00
Vivek Kumar Dutta
22aa3ff065 obuspa: updated test controller dependency 2024-12-12 11:39:08 +00:00
Vivek Kumar Dutta
eb06147743 mosquitto-auth-shadow: updated dependency on mosquitto-ssl to avoid ambiguity 2024-12-12 11:15:53 +00:00
Jakob Olsson
aaa8171f06 map-agent: 6.2.3.7 2024-12-12 11:57:11 +01:00
Jakob Olsson
8037020206 map-controller: 6.1.2.11 2024-12-12 10:41:13 +01:00
Jakob Olsson
3ab1e18f7d map-agent: 6.2.3.6 2024-12-11 16:42:01 +01:00
Jakob Olsson
d28738ecbf map-agent: 6.2.3.5 2024-12-11 15:57:23 +01:00
Jakob Olsson
247eea7a77 map-agent: 6.2.3.4 2024-12-11 13:19:11 +01:00
Vivek Kumar Dutta
404bb37ced obuspa: Fix unique key registrations 2024-12-11 15:03:05 +05:30
Vivek Kumar Dutta
722ddf9f88 bbfdm: Update Security object proto to cwmp 2024-12-11 14:59:31 +05:30
Vivek Kumar Dutta
c0b146a3fe logmngr: Updated unique datamodel parameters 2024-12-11 12:33:11 +05:30
Vivek Kumar Dutta
7acc13dd85 wifidmd: Updated unique key parameters 2024-12-11 11:53:06 +05:30
Vivek Kumar Dutta
14449614a2 firewallmngr: Updated unique datamodel parameters 2024-12-11 11:45:56 +05:30
Vivek Kumar Dutta
1e218554de sysmngr: Mark unique datamodel parameters 2024-12-11 11:43:19 +05:30
Vivek Kumar Dutta
05017194b5 dnsmngr: Updated unique key parameters 2024-12-11 11:38:29 +05:30
Vivek Kumar Dutta
6f709c0623 bridgemngr: Updated unique key parameters 2024-12-11 11:35:33 +05:30
Vivek Kumar Dutta
dd4907e86d tr104: Updated default values for CallStatus parameters 2024-12-11 09:58:14 +05:30
Jakob Olsson
b1eb97b7d7 map-controller: 6.1.2.10 2024-12-10 16:36:49 +01:00
Jakob Olsson
d9b86df719 map-agent: 6.2.3.3 2024-12-10 16:23:18 +01:00
Vivek Kumar Dutta
e656deb8f5 obuspa: enable cwmp specific datamodel 2024-12-10 19:49:51 +05:30
Vivek Kumar Dutta
e8f1b2167a icwmp: register xmpp for both proto 2024-12-10 19:38:21 +05:30
Amin Ben Romdhane
cfceae73ff sysmngr: 1.0.9 2024-12-10 13:24:49 +01:00
Rahul Thakur
6c7aa21626 logmngr: fix syslog-ng conf generation 2024-12-10 10:16:26 +00:00
Mohd Husaam Mehdi
52f554b84d qosmgr: add support for wan ingress and egress rate control 2024-12-10 09:51:47 +00:00
Vivek Kumar Dutta
70c823e303 obuspa: Optmize datamodel caching 2024-12-10 12:07:28 +05:30
Filip Matusiak
1f94ad341b map-agent: 6.2.3.2 2024-12-09 17:12:26 +01:00
Vivek Kumar Dutta
e02ad277f7 bbfdm: Fix empty output from microservices without proto 2024-12-09 17:05:51 +05:30
Janusz Dziedzic
a8a5f99769 wifimngr: 17.4.7 2024-12-06 15:18:12 +01:00
Mohd Husaam Mehdi
d161ef2238 qosmngr: updates related to rate control
* separate scheduling logic from rate control logic
* add support for burst_size
2024-12-06 13:46:35 +00:00
Jakob Olsson
64d1873eba map-agent: 6.2.3.1 2024-12-06 14:14:46 +01:00
Vivek Kumar Dutta
29a123446a wifidmd: update MLDUnit changes in mapcontroller/agent 2024-12-06 12:34:30 +00:00
Vivek Kumar Dutta
e7374d6bce icwmp: Register XMPP as cwmp and CWMPManagementServer as usp 2024-12-06 12:34:30 +00:00
Vivek Kumar Dutta
7dd517dba7 obuspa: register core datamodel with cwmp proto 2024-12-06 12:34:30 +00:00
Vivek Kumar Dutta
c7a6bdb4a0 bulkdata: register datamodel as cwmp only 2024-12-06 12:34:30 +00:00
Vivek Kumar Dutta
5e009f97e9 bbfdm: Support proto based filter for micro-services 2024-12-06 12:34:30 +00:00
Amin Ben Romdhane
d2a43566bc sysmngr: 1.0.8 2024-12-06 12:04:50 +01:00
Jakob Olsson
ab2b11e343 map-agent: 6.2.3.0 2024-12-06 10:48:41 +01:00
Amin Ben Romdhane
67db9fcc48 sysmngr: Added support for fwbank ubus object 2024-12-05 15:56:40 +01:00
Vivek Kumar Dutta
db855e4c38 wifidmd: align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
b3b7d666b1 usermngr: align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
dda4099874 userinterface: align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
6c4f2842b8 usbmngr: align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
fcad858660 tr104: align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
8bd1e237ef timemngr: align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
1e4af81108 sysmngr: align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
6dbd4fbade swmodd: align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
cd6a127fb9 sshmngr: align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
cb3653ebe9 port-trigger: Install datamodel as firewallmngr plugin 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
765201ded3 ssdpd: align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
54f75846ca qosmngr: align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
090795699d ponmngr: align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
551033461a periodicstats: Align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
2c3a493457 parental-control: Align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
e0bf63926a obuspa: align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
c6e8454989 netmngr: Align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
16f1276346 mcastmngr: align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
5d223f5909 ieee1905: align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
83541d7e03 icwmp: Align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
76042997ca hostmngr: Align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
e47abdff8f firewallmngr: Align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
3eaa20c12e ethmngr: Align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
7ffb8b398f dslmngr: Align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
5b449b886c dnsmngr: align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
13b00ca74d dhcpmngr: Align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
8b9e1a0f94 ddnsmngr: align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
9e3ee55e12 bulkdata: Align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
6a9eee1af5 bridgemngr: Align with bbfdm 2024-12-05 12:58:35 +00:00
Vivek Kumar Dutta
d9d2fc882f bbfdm: Register micro-services before exposing over ubus 2024-12-05 12:58:35 +00:00
Janusz Dziedzic
7df39bd465 map-agent: wait ap-autoconfig when MLO
Don't generate APs early - just wait
ap-autoconfig.
2024-12-05 12:31:12 +00:00
Janusz Dziedzic
317c1bdff0 libwifi: 7.7.9 2024-12-05 09:47:15 +00:00
Janusz Dziedzic
ac5602443f wifimngr: 17.4.6 2024-12-05 09:33:45 +00:00
Jakob Olsson
9816a42f00 map-agent: 6.2.2.3 2024-12-04 12:27:55 +01:00
Mohd Husaam Mehdi
12f70a7d91 qosmngr: add ingress and egress rate control support for airoha 2024-12-04 13:10:30 +05:30
Vivek Kumar Dutta
f3959d1ffd bulkdata: Fix segfault when server not responding 2024-12-04 12:59:33 +05:30
Suvendhu Hansa
b8c4404ba6 parental-control: 1.0.0 2024-12-03 21:47:33 +05:30
Vivek Kumar Dutta
b699f89d41 wifidmd: Show non-mlo STA in AccessPoint.AssociatedDevice 2024-12-03 18:19:53 +05:30
Jakob Olsson
6b26936300 map-agent: 6.2.2.2 2024-12-03 11:57:55 +01:00
Vivek Kumar Dutta
386412064c obuspa: config option for cwmp specific datamodels 2024-12-03 09:59:48 +05:30
Rahul Thakur
84ac60736f update makefile hostmngr
* 431b122 Implement ScheduleRef
2024-12-02 07:06:30 +00:00
Rahul Thakur
2d037f5e73 hostmngr: read access control schedule from schedules
* The Schedule object is deprecated in 2.18 and ScheduleRef is introduced,
update script to generate rules accordingly.
* Some shell script improvements.
2024-12-02 07:06:30 +00:00
Vivek Kumar Dutta
3cebe495c5 obuspa: Fix notification logging 2024-11-29 18:47:48 +05:30
Jakob Olsson
1e2dd935f5 decollector: 6.1.0.6 2024-11-29 12:01:26 +01:00
Vivek Kumar Dutta
425bf39763 netmngr: Optimize IP Interface Status parameter 2024-11-29 11:12:08 +05:30
Jakob Olsson
367a9b7ef3 map-agent: 6.2.2.1 2024-11-28 12:30:45 +01:00
Jakob Olsson
125b7d6f57 Revert "ieee1905: fix libwifi config option dependency"
This reverts commit 7d08926622.
2024-11-27 15:09:30 +01:00
Jakob Olsson
7d08926622 ieee1905: fix libwifi config option dependency 2024-11-27 14:43:22 +01:00
Vivek Kumar Dutta
396e0c6ca8 bbfdm: 1.12.26 2024-11-27 19:03:43 +05:30
Vivek Kumar Dutta
ab794f7469 wifidmd: Additional key validation for sae-mixed encryption 2024-11-27 18:39:41 +05:30
Vivek Kumar Dutta
e0cda7f5d0 swmodd: Fix datatype for Reset operate cmd 2024-11-27 18:08:34 +05:30
Vivek Kumar Dutta
ce6a87ffe7 usermngr: Fix typo in CheckCredentialsDiagnostics operate cmd 2024-11-27 18:01:40 +05:30
Vivek Kumar Dutta
9a83b05eac hostmngr: Fix datatype for WANStats parameters 2024-11-27 15:19:45 +05:30
Vivek Kumar Dutta
bfb9c65610 wifidmd: Fix datatype for TimeStamp parameters 2024-11-27 15:19:45 +05:30
Vivek Kumar Dutta
acea025b63 netmngr: Update datatype for Stats parameters 2024-11-27 15:19:45 +05:30
Rahul Thakur
01b5c29100 mcastmngr: fix err msg on mcast restart 2024-11-27 05:59:07 +00:00
Vivek Kumar Dutta
8c6c12fe53 qosmngr: Align datatype of dm parameters 2024-11-27 10:11:22 +05:30
Vivek Kumar Dutta
f9b36e5b0b obuspa: Update datatype registration 2024-11-26 21:51:11 +05:30
Jakob Olsson
a95afbb928 Map-agent: 6.2.2.0 2024-11-26 14:54:42 +01:00
Jakob Olsson
f4cf83b813 map-controller: 6.1.2.9 2024-11-26 14:51:17 +01:00
Janusz Dziedzic
94f7110729 map-agent: 6.2.1.14 2024-11-26 11:48:18 +00:00
Yalu Zhang
72de1d65c0 Update packages dectmngr and voicemngr
Fix issues related to setting pcm_id value and call state.
2024-11-26 11:12:37 +01:00
Amin Ben Romdhane
6a45c379c2 sysmngr: Added support for DeviceInfo.ProcessStatus.CPU. Object 2024-11-25 10:04:26 +01:00
Suvendhu Hansa
a2522dfff0 urlfilter: Use DotSO dm plugin in place of json 2024-11-25 13:36:55 +05:30
Jakob Olsson
4312fa6a16 decollector: 6.1.0.5 2024-11-22 12:13:19 +01:00
Vivek Kumar Dutta
62dd45321e bbfdm: 1.12.25 2024-11-22 13:34:56 +05:30
Jakob Olsson
258744a16e map-agent: 6.2.1.13 2024-11-21 16:23:04 +01:00
Vivek Kumar Dutta
b574d39642 urlfilter: Fix datamodel plugin installation 2024-11-21 19:52:54 +05:30
Vivek Kumar Dutta
deaa91514b bbfdm: 1.12.24 2024-11-21 16:56:26 +05:30
Mohd Husaam Mehdi
801dee5cfa ebtables-extension: fix ebtables compilation issue 2024-11-21 16:24:04 +05:30
Vivek Kumar Dutta
bf26939fb4 bbfdm: Fix tools validation plugin 2024-11-21 13:22:03 +05:30
Jakob Olsson
1c7945e834 decollector: 6.1.0.4 2024-11-20 17:11:13 +01:00
Jakob Olsson
d52f95fc35 map-agent: 6.2.1.12 2024-11-20 17:07:22 +01:00
Janusz Dziedzic
9325f1a724 wifimngr: 17.4.5 2024-11-20 14:52:33 +00:00
Vivek Kumar Dutta
dfcc8ff111 icwmp: 9.8.24
- Fix race condition in notification update
- Fix enable/disable of cwmp from usp
- Selected sysmngr for Device Info
2024-11-20 19:16:00 +05:30
Vivek Kumar Dutta
8366ad85e7 swmodd: Add support for EnvVariable in InstallDU command 2024-11-20 19:13:34 +05:30
Rahul Thakur
c56cb30b3b ebtables-extensions: merge gnx ebt extensions 2024-11-20 09:43:47 +00:00
Mohd Husaam Mehdi
c088fd5959 urlfilter: add default bundles and support to read them 2024-11-20 13:34:54 +05:30
Suvendhu Hansa
40bd23290f usermngr: daemonization 2024-11-19 13:14:38 +00:00
Vivek Kumar Dutta
8c7f2bc2bd obuspa: Use critical services def for reload handling 2024-11-19 18:41:33 +05:30
arbala
94181840b0 map-controller: 6.1.2.8 2024-11-19 11:40:03 +01:00
Mohd Husaam Mehdi
803afb7753 urlfilter: misc changes related to naming and schedule enable 2024-11-19 10:00:15 +00:00
Mohd Husaam Mehdi
6f253a35de cmph: add c minimal perfect hashing library package(for urlfilter) 2024-11-19 09:58:28 +00:00
Mohd Husaam Mehdi
c56853b477 dhcpmngr: depend on odhcpd full only when unbound replaces dnsmasq 2024-11-19 09:57:26 +00:00
Vivek Kumar Dutta
6640412546 icwmp: move critical service definition to bbfdm 2024-11-19 11:42:21 +05:30
Vivek Kumar Dutta
8b58c13823 bbfdm: Add support for proto based critical services 2024-11-19 11:06:30 +05:30
Amin Ben Romdhane
c36493a852 sysmngr: 1.0.4 2024-11-18 11:10:14 +01:00
Yalu Zhang
f2cd1c5573 dectmngr-3.7.2: Fix a bug in setting extension id for an outgoing call
voicemngr-1.2.2: Removed the timeout ubus requests to asterisk or dectmngr
to prevent locks.
Also Show information of existing calls in "ubus call dect status" for debug.
2024-11-15 17:32:27 +01:00
Amin Ben Romdhane
d4a631f0cb sysmngr: Added support for DeviceInfo.MemoryStatus.MemoryMonitor. Object 2024-11-15 16:04:38 +01:00
Janusz Dziedzic
c0208dab2e libwifi: 7.7.8 2024-11-13 10:27:05 +00:00
Mohd Husaam Mehdi
8dca6b8e44 bridgemngr: fix vendor extension macro usage 2024-11-12 16:16:59 +05:30
Mohd Husaam Mehdi
4b1a7859aa bridgemngr: add VLANFiltering bbfdm vendor extension as json 2024-11-12 15:50:20 +05:30
Vivek Kumar Dutta
6f28d90916 wifidmd: Align BackhaulMediaType value for self node 2024-11-12 15:31:41 +05:30
Jakob Olsson
285e24455d hostmngr: 1.2.9 2024-11-11 09:38:27 +01:00
Amin Ben Romdhane
d0c26b4bb7 sysmngr: Update the handling of process Instances 2024-11-08 15:19:28 +01:00
Amin Ben Romdhane
a71d90d2c7 wifidmd: 1.0.12 2024-11-08 15:12:55 +01:00
Vivek Kumar Dutta
78e1468f51 obuspa: Fix instance update in cached dm 2024-11-07 17:42:59 +05:30
Vivek Kumar Dutta
9a1e1dbd1a icmwp: optimize notification handling 2024-11-07 17:00:36 +05:30
Vivek Kumar Dutta
3ef21188b1 sysmngr: 1.0.1 2024-11-07 15:09:06 +05:30
Vivek Kumar Dutta
65daa6c56a bulkdata: Fix segfault with sub-task 2024-11-07 10:04:42 +05:30
Janusz Dziedzic
eb63f5d74f libwifi: 7.7.7 2024-11-06 17:56:00 +00:00
Amin Ben Romdhane
7da09349ec icwmp: Align with sysmngr 2024-11-06 15:18:41 +01:00
Amin Ben Romdhane
b2a28a12f6 bbfdm: Align with sysmngr 2024-11-06 15:11:23 +01:00
Amin Ben Romdhane
0fe5d2a232 logmngr: Align with sysmngr 2024-11-06 15:10:15 +01:00
Amin Ben Romdhane
b50f9946bb sysmngr: new package to manage DeviceInfo Object 2024-11-06 15:08:28 +01:00
Filip Matusiak
bf28778432 map-controller: 6.1.2.7 2024-11-06 10:19:07 +01:00
Amin Ben Romdhane
d6dad64328 bbfdm: 1.12.20 2024-11-06 10:01:33 +01:00
Filip Matusiak
46003fddd5 map-controller: 6.1.2.6 2024-11-05 16:49:13 +01:00
Vivek Kumar Dutta
2e7fc5fa14 bbfdm: prepone microservice startup
- Prepone dm microservice startup to avoid usp schema registration race
  condition
2024-11-05 18:51:18 +05:30
Jakob Olsson
7fb9b397ef decollector: 6.1.0.3 2024-11-05 13:39:46 +01:00
Vivek Kumar Dutta
cbe66d6c96 wifidmd: Update deprecated MultiAPDevice parameters 2024-11-05 18:06:59 +05:30
Amin Ben Romdhane
57d477c1da bbfdm: 1.12.18 2024-11-04 15:20:24 +01:00
Vivek Kumar Dutta
8e774faa3e self-diagnostics: 1.0.11 2024-11-04 12:29:14 +00:00
Vivek Kumar Dutta
6129323ca3 icwmp: Fix rpc event list after reboot 2024-11-04 17:40:48 +05:30
Vivek Kumar Dutta
6d6ecdfe92 obuspa: Fix probable segfault 2024-11-04 10:27:20 +05:30
Jakob Olsson
b66ae8d605 map-agent: 6.2.1.11 2024-10-31 14:15:27 +01:00
Jakob Olsson
ed97af82b5 map-controller: 6.1.2.5 2024-10-31 14:14:49 +01:00
Marina Maslova
464f037768 map-agent: add fixed interface names for proprietary mediatek driver 2024-10-30 15:18:53 +00:00
Janusz Dziedzic
024442da10 libwifi: skip probe-req events by default 2024-10-30 14:57:29 +00:00
Vivek Kumar Dutta
b0049df366 self-diagnostics: 1.0.10
- Print report_dir along with report_file
- Stop verbose logging of exec_cmds to prevent syslog overflow
- Increased timeouts of wifi diagnotics scripts
- Added report_dir in error output, if failed to generate tar
2024-10-30 13:35:21 +00:00
Jakob Olsson
7115c1734e map-agent: 6.2.1.10 2024-10-30 13:08:44 +01:00
Anjan Chanda
9b93ffef76 ieee1905: 8.6.1 2024-10-30 09:26:29 +01:00
Janusz Dziedzic
225b89ab4f wifimngr: 17.4.4 2024-10-30 07:51:07 +00:00
Janusz Dziedzic
d4464bf430 libwifi: 7.7.6 2024-10-30 07:47:47 +00:00
Marina Maslova
50731e00ef libwifi: use mtk module for proprietary mediatek driver on an7581 2024-10-30 07:47:25 +00:00
Amin Ben Romdhane
f9d3d22c14 bbfdm: 1.12.17
- Improve bbf.config handler for external config change
- Removed deprecated DeviceInfo.Processor. object
2024-10-29 12:33:52 +00:00
Anjan Chanda
607f3c5334 ieee1905: 8.6.0 2024-10-29 09:48:36 +01:00
Janusz Dziedzic
925c58aeaa libwifi: 7.7.5 2024-10-29 07:57:52 +00:00
Suvendhu Hansa
447acf3b27 bulkdata: unified DM with bulkdata daemon 2024-10-29 04:58:01 +00:00
Rahul Thakur
5bff6c3854 mcastmngr: remove unnecessary log 2024-10-29 10:25:53 +05:30
Andreas Gnau
70f4086ecc iop: Remove license_report
A CycloneDX SBOM is generated by the OpenWrt build system. It the same
license information as the license report. Remove the license report
script.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2024-10-28 13:57:29 +00:00
Vivek Kumar Dutta
b3bafdbba9 bbfdm: 1.12.16
- Add support for DeviceInfo.MaxNumberOfActivateTimeWindows
- Add support for DeviceInfo.HostName
- Generate error if plugin failed to installed
2024-10-28 08:54:36 +05:30
Yalu Zhang
5788d7d284 dectmngr-3.7.1: Add a new RPC to release call(s) on an extension
voicemngr-1.2.1: Change the RPC to dectmngr for releasing call(s) on a DECT extension
2024-10-25 17:23:52 +02:00
Jakob Olsson
a0c226d6ea map-controller: 6.1.2.4 2024-10-25 13:54:44 +02:00
Jakob Olsson
921657f464 map-controller: 6.1.2.3 2024-10-25 11:52:02 +02:00
Anjan Chanda
217ee3fa77 wifimngr: 17.4.3 2024-10-24 16:42:19 +02:00
Anjan Chanda
0aef613006 libwifi: 7.7.4 2024-10-24 16:41:29 +02:00
Markus Gothe
63e2bb8f6d ieee1905: 8.5.9 2024-10-24 16:13:29 +02:00
Markus Gothe
ea0059a932 hostmngr: 1.2.8 2024-10-24 15:50:32 +02:00
Jakob Olsson
a95a6d804a map-controller: 6.1.2.2 2024-10-24 14:23:21 +02:00
Jakob Olsson
3fbdd08037 map-agent: 6.2.1.9 2024-10-24 12:49:42 +02:00
Vivek Kumar Dutta
e04040c4ea bbfdm: 1.12.15 2024-10-24 14:50:11 +05:30
Jakob Olsson
20a85cce5f map-agent: 6.2.1.8 2024-10-24 09:44:04 +02:00
Vivek Kumar Dutta
2be7a59ff0 obuspa: Switch to WakeUp event for re-connections 2024-10-24 13:06:28 +05:30
Yalu Zhang
3102c0f981 dectmngr: add voicemngr in the dependency of Makefile 2024-10-24 09:25:44 +02:00
Vivek Kumar Dutta
8693a8f2c9 icwmp: Align with DeviceInfo.Reboots. 2024-10-24 12:22:09 +05:30
Amin Ben Romdhane
9bc4656525 bbfdm: Added support for Device.DeviceInfo.Reboots. object 2024-10-24 12:03:47 +05:30
Suvendhu Hansa
544000177c icwmp: Option to backup RPC in persistent storage 2024-10-24 11:31:46 +05:30
Strhuan Blomquist
2b1dbf7e36 iopsys-analytics: core watcher to fix modelname 2024-10-23 14:20:11 +00:00
Mohd Husaam Mehdi
641ec8a9eb urlfilter: fix crash on cleanup of dns answer struct 2024-10-23 10:16:39 +00:00
Janusz Dziedzic
c18929dbae libwifi: 7.7.3 2024-10-23 07:34:05 +00:00
Yalu Zhang
a592f34216 dectmngr-3.7.0: Add a new RPC to stop ringing on all incoming calls on an extension
voicemngr-1.2.0: Change the RPC to dectmngr for stopping ringing on an extension
2024-10-22 14:35:36 +02:00
Markus Gothe
4e2adf77cb mcastmngr: Implement L2 stats over UBUS.
Implement support for L2 mcast stats over UBUS.
2024-10-22 05:06:52 +00:00
Vivek Kumar Dutta
9fba09f00a bbfdm: Optimize event handling 2024-10-22 10:09:02 +05:30
Markus Gothe
12d377b3bd mcastmngr: 1.2.7 2024-10-21 17:07:34 +02:00
Rahul Thakur
cd1f81c8d9 update package logmngr
* fix uci defaults
* 37f9eef make protocol writable
2024-10-21 09:58:06 +00:00
Amin Ben Romdhane
f6774fd554 ieee1905: 8.5.8 2024-10-21 10:45:32 +02:00
Amin Ben Romdhane
ea248061f3 mcastmngr: 1.2.6 2024-10-21 10:44:12 +02:00
Amin Ben Romdhane
1e2894dd46 netmngr: 1.0.5 2024-10-21 10:43:05 +02:00
Vivek Kumar Dutta
92b607bd0e obuspa: reduce IPC cost for get calls 2024-10-18 18:34:08 +05:30
Mohd Husaam Mehdi
b766ea958a urlfilter: show Deny in bbfdm when no access policy set for filter 2024-10-18 06:45:37 +00:00
Markus Gothe
a7074db9f8 mcastmngr: Support hybrid proxying/snooping.
Support running mcproxy and snooping simultanous.
2024-10-17 16:19:04 +02:00
Janusz Dziedzic
5c819b2018 libwifi: 7.7.2 2024-10-17 12:57:25 +00:00
Janusz Dziedzic
c526df5143 libwifi: 7.7.1 2024-10-17 09:27:57 +00:00
Rahul Thakur
31ed2ae746 update package logmngr
*5e7c684 Fix data model params
* d23dcdf logmngr: add README
2024-10-17 14:31:30 +05:30
Rahul Thakur
702065eb3d update package dnsmngr
* fb49088 fix DNS.SD.Advertise.{i}.TransportProtocol
* b7115a9 Device.DNS.SD.Advertise.{i}.Interface doesn't show a correct reference value
* 94964b4 Device.DNS.SD.Advertise.{i}.InstanceName value is always shown as empty value
* bf29f7b Device.DNS.SD.Advertise.{i}.Alias default value is empty and remains empty even after setting it
2024-10-17 14:29:11 +05:30
Janusz Dziedzic
c418266af6 wifimngr: 17.4.2 2024-10-16 09:24:22 +00:00
Janusz Dziedzic
9c8d80d763 libwifi: 7.7.0 2024-10-16 08:03:15 +00:00
Vivek Kumar Dutta
007a8cb8bf icwmp: Use async task for diagnostics 2024-10-16 12:23:39 +05:30
Vivek Kumar Dutta
2fc7d55d6c bbfdm: 1.12.12 2024-10-16 12:22:26 +05:30
Vivek Kumar Dutta
b3bdcea137 obuspa: Fix miss-configs caused by uci update 2024-10-15 17:40:58 +05:30
Vivek Kumar Dutta
4673347125 obuspa: workaround to skip false warning on Download operation 2024-10-15 16:05:10 +05:30
Vivek Kumar Dutta
f827f9f408 bbfdm: 1.12.11 2024-10-15 14:30:44 +05:30
Vivek Kumar Dutta
6a8aed5d3f bbfdm: Schedule reboots on firmware AutoActivate 2024-10-15 14:11:05 +05:30
Janusz Dziedzic
5e54477cd1 libwifi: 7.6.9 2024-10-15 05:40:20 +00:00
Amin Ben Romdhane
ba9fcda886 obuspa: delete dmcaching exclude objects 2024-10-14 18:20:10 +02:00
Amin Ben Romdhane
c848d93316 hostmngr: 1.2.7 2024-10-14 18:17:13 +02:00
Amin Ben Romdhane
d00c8f1ea0 bbfdm: 1.12.9 2024-10-14 18:16:20 +02:00
Mohd Mehdi
9788a135aa urlfilter: ParentalControl datamodel 2024-10-14 10:10:12 +00:00
Jakob Olsson
899e6b1417 map-agent: 6.2.1.7 2024-10-11 09:04:35 +02:00
Mohd Husaam Mehdi
6f7f14b241 urlfilter: transform into ParentalControl bbf extension
* config file has been renamed from urlfilter to parentalcontrol
* along with urlfiltering, shell scripts handle internet_access
  and bedtime blocking support, which have been added as
  separate sections for better mapping to the bbf data model
  extension
* uci-default script has been added to handle migration from
  previous to new format
2024-10-11 12:18:26 +05:30
Vivek Kumar Dutta
cc0d1b5910 firewallmngr: 1.0.6 2024-10-10 17:10:29 +05:30
Vivek Kumar Dutta
0b6cd8154b ddnsmngr: 1.0.9 2024-10-10 16:47:42 +05:30
Vivek Kumar Dutta
c4cae5d6b4 bridgemngr: 1.0.6 2024-10-10 16:45:16 +05:30
Vivek Kumar Dutta
f58959842b dhcpmngr: 1.0.4 2024-10-10 16:44:50 +05:30
Vivek Kumar Dutta
b813c155bc sshmngr: 1.0.5 2024-10-10 16:42:50 +05:30
Vivek Kumar Dutta
98e53ae941 logmngr: 1.0.3 2024-10-10 16:02:51 +05:30
Vivek Kumar Dutta
4d993266b3 bbfdm: move VendorLogFile to logmngr 2024-10-10 14:30:41 +05:30
Suvendhu Hansa
8da27926a1 icwmp: 9.8.16
- External script to handle '2 Vendor Log File'
- Align with VendorLogFile
2024-10-10 12:49:49 +05:30
Suvendhu Hansa
7fae7acc91 logmngr: 1.0.2
- Added prefix with rotated log filename to distinguish
  with actual log files
- Fix compression value
- Moved VendorLogFiles datamodel from bbfdm to logmngr
2024-10-10 04:10:22 +00:00
Suvendhu Hansa
47708d34df self-diagnostics: Align with VendorLogFiles update 2024-10-10 09:20:43 +05:30
Markus Gothe
ab322f1194 timemngr: commit time UCI config. 2024-10-09 16:08:32 +02:00
Amin Ben Romdhane
aab45b16b0 Added libbbfdm-ubus and dm-service as dependencies for all microservices 2024-10-09 09:54:16 +02:00
Jakob Olsson
586920d8a8 map-agent: 6.2.1.6 2024-10-08 12:58:33 +02:00
Rahul Thakur
ac8a1c69ae update package dnsmngr
* 055de29 add support for dns.sd.advertise
2024-10-08 14:01:57 +05:30
Vivek Kumar Dutta
604cd52a79 bbfdm: Support to set list of references with json plugins 2024-10-08 12:52:38 +05:30
Jakob Olsson
37109a8531 decollector: 6.1.0.2 2024-10-04 14:11:21 +02:00
Jakob Olsson
136db7b085 map-agent: 6.2.1.5 2024-10-04 12:32:33 +02:00
Jakob Olsson
c177d59b7b map-agent: 6.2.1.4 2024-10-03 14:03:58 +02:00
Vivek Kumar Dutta
fa9611f4f5 usbmngr: 1.0.5 2024-10-03 16:38:54 +05:30
Jakob Olsson
859e2958c0 map-agent: 6.2.1.3 2024-10-03 12:10:25 +02:00
Vivek Kumar Dutta
0dda22833d obuspa: skip db override 2024-10-02 20:43:48 +05:30
Yalu Zhang
ccb40910e2 libvoice-broadcom-1.0.15: Change the mechanism of DECT simulation by not calling Broadcom APIs 2024-10-02 16:51:21 +02:00
Janusz Dziedzic
eddaa9233c libwifi: 7.6.8 2024-10-02 13:00:08 +00:00
Piotr Kubik
a09f5a3ba6 iop: update_feed_branches: Remove script
It was used to update branches of feeds according to the commit hashes
in feeds.conf. Mostly used when doing release branches for the
first time. We do it manually now, so it is not needed anymore.
2024-10-02 13:44:30 +02:00
Jakob Olsson
ed78a58455 map-agent: 6.2.1.2 2024-10-02 11:01:20 +02:00
Amin Ben Romdhane
b130d50bb3 tr104: 1.0.34 2024-10-02 10:08:31 +02:00
Vivek Kumar Dutta
7ab286753d obuspa: 9.0.0.6
- Added back firewall hook to force re-connect mqtt client on firewall reload
- Added wait for apply handler
2024-10-01 16:29:14 +05:30
Vivek Kumar Dutta
bc6aadb0ed tr104: added missing required NumberOfEntires parameters 2024-10-01 16:21:45 +05:30
Vivek Kumar Dutta
fd9c8b0922 icwmp: Fix GPN fault with multi-instances 2024-10-01 16:17:15 +05:30
Vivek Kumar Dutta
2c9b9cadfe icwmp: 9.8.14 2024-09-30 19:18:41 +05:30
Vivek Kumar Dutta
fb1ac0994d obuspa: multiple fixes
- remove workaround to ForceReconnect over MQTT with firewall hook
- removed schema reloader from obuspa
2024-09-30 18:56:07 +05:30
Janusz Dziedzic
5ba8e293eb libwifi: 7.6.7 2024-09-30 07:45:45 +00:00
Janusz Dziedzic
801ed0eb9f libwifi: 7.6.6 2024-09-27 16:34:33 +00:00
Rahul Thakur
54503f98d4 urlfilter: fix connection flush on firewall reload 2024-09-27 11:54:45 +00:00
Janusz Dziedzic
903ff637e7 libwifi: 7.6.5 2024-09-27 08:41:26 +00:00
Vivek Kumar Dutta
82ef5f6b6e wifidmd: Align with dump2 output 2024-09-26 16:10:24 +05:30
Anjan Chanda
398f09a1ce decollector: 6.1.0.1 2024-09-26 11:42:45 +02:00
Jakob Olsson
f29de07d0d map-agent: 6.2.1.1 2024-09-26 10:50:54 +02:00
Janusz Dziedzic
8524f719c1 wifimngr: 17.4.1 2024-09-26 05:57:13 +00:00
Janusz Dziedzic
0a73e686f5 libwifi: 7.6.4 2024-09-26 05:56:06 +00:00
Vivek Kumar Dutta
615b3d0507 obuspa: Fix transaction commit/abort calls 2024-09-25 20:06:17 +05:30
Vivek Kumar Dutta
4df8574fb6 stunc: 1.4.5 2024-09-25 10:34:08 +00:00
Vivek Kumar Dutta
e39d51a37b obuspa: Fix disconnection after set 2024-09-25 10:34:08 +00:00
Vivek Kumar Dutta
598b5c8e4a timemngr: Updated loglevel 2024-09-25 10:34:08 +00:00
Janusz Dziedzic
135e31a3e2 wifimngr: 17.4.0 2024-09-25 10:24:42 +00:00
Janusz Dziedzic
8e4810baa1 libwifi: 7.6.3 2024-09-25 10:23:28 +00:00
Vivek Kumar Dutta
acd0a7ba24 bbfdm: 1.12.6 2024-09-24 18:58:26 +05:30
Vivek Kumar Dutta
032bb6bf2e usermngr: 1.2.19 2024-09-24 18:57:19 +05:30
Vivek Kumar Dutta
083bcd79f9 bulkdata: 2.1.12 2024-09-24 18:47:00 +05:30
Vivek Kumar Dutta
30a7c285b1 xmppc: 2.2.12 2024-09-24 18:41:25 +05:30
Vivek Kumar Dutta
5d03bbfd20 obuspa: updated default instance cache time to 10 mins 2024-09-24 18:28:41 +05:30
Vivek Kumar Dutta
1a167f8854 stunc: 1.4.4 2024-09-24 17:20:44 +05:30
Vivek Kumar Dutta
06b6b64d4c periodicstats: 1.5.13 2024-09-24 17:15:56 +05:30
Vivek Kumar Dutta
26999d2381 wifidmd: 1.0.9 2024-09-24 17:06:33 +05:30
Vivek Kumar Dutta
9fba0888eb packet-capture-diagnostics: 1.0.2 2024-09-24 17:05:37 +05:30
Vivek Kumar Dutta
1ce4ba836f udpecho: 2.2.4 2024-09-24 17:03:26 +05:30
Vivek Kumar Dutta
6493720c11 userinterface: 1.1.6 2024-09-24 16:58:49 +05:30
Piotr Kubik
dd0dec6ac4 iop: genconfig_wrap: Move script to main repo 2024-09-24 09:38:44 +02:00
Vivek Kumar Dutta
cbfc98d85e obuspa: Integrate v9.0.0 Ibis release 2024-09-23 19:35:36 +05:30
Jakob Olsson
086763919a map-agent: 6.2.1.0 2024-09-23 14:55:12 +02:00
Jakob Olsson
62cbccd274 map-controller: 6.1.2.1 2024-09-23 14:52:23 +02:00
Piotr Kubik
b0a8549453 iop: ssh_upgrade: Move script to main repo 2024-09-23 14:04:49 +02:00
Vivek Kumar Dutta
757ab29b57 twamp: 1.4.7 2024-09-23 10:52:36 +05:30
Vivek Kumar Dutta
82eb62a9e1 icwmp: Fix static analysis errors 2024-09-23 10:26:35 +05:30
Vivek Kumar Dutta
66bed5a044 netmngr: 1.0.4 2024-09-20 19:39:53 +05:30
Amin Ben Romdhane
12449bf471 tr471: 1.0.6 2024-09-20 15:51:24 +02:00
Amin Ben Romdhane
5c4f315083 tr143: 1.0.7 2024-09-20 15:50:22 +02:00
Amin Ben Romdhane
0a88793328 timemngr: 1.1.2 2024-09-20 15:48:51 +02:00
Amin Ben Romdhane
4ea26f9bec bbfdm: 1.12.5 2024-09-20 15:47:43 +02:00
Jakob Olsson
85542591d0 ieee1905: 8.5.7 2024-09-20 15:30:01 +02:00
Jakob Olsson
91ef8ff9a2 map-agent: 6.2.0.3 2024-09-20 15:00:50 +02:00
Yalu Zhang
13aa279c39 dectmngr-3.6.9: Send flash hook event before receiving the called number for the second outgoing call
libvoice-d2-1.1.14: Don't report DTMF events detected by DSP for DECT
2024-09-20 14:16:47 +02:00
Janusz Dziedzic
eadb87d369 libwifi: 7.6.2 2024-09-20 08:33:26 +00:00
Jakob Olsson
f250bc3c79 decollector: 6.1.0.0 2024-09-19 15:03:56 +02:00
Jakob Olsson
eaaf653b0f map-agent: 6.2.0.2 2024-09-18 17:20:06 +02:00
Jakob Olsson
4a30355aab decollector: 6.0.1.2 2024-09-18 16:30:59 +02:00
Vivek Kumar Dutta
2abd075e59 obuspa: Fix probable segfault 2024-09-18 18:57:43 +05:30
Jakob Olsson
aec10de11f map-agent: 6.2.0.1 2024-09-18 12:41:14 +02:00
Jakob Olsson
50e53a5b15 Revert "mapagent: qualcomm: disable hidden bh"
This reverts commit 5fd9145a27.
2024-09-18 11:14:00 +02:00
Janusz Dziedzic
6a89907ddb libwifi: 7.6.1 2024-09-18 05:29:55 +00:00
Vivek Kumar Dutta
3dae593802 swmodd: Fix DuStateChange timer 2024-09-17 19:42:25 +05:30
Amin Ben Romdhane
5b2d26a839 Revert "tr143: 1.0.7"
This reverts commit 3efb822b6e.
2024-09-17 15:27:29 +02:00
Andreas Gnau
3fa318c58f libvoice-broadcom: Add dependency to bcm963xx-voice
Voice-part of BCM SDK is required to build libvoice-broadcom.
2024-09-17 12:54:30 +00:00
Rahul Thakur
7dab64d1e0 update package libdsl
* 20875ec clean up dsl
* setup prepare section for local dev
* update git source url to new source for repo
2024-09-17 10:54:27 +00:00
Vivek Kumar Dutta
99d1900c79 xmppc: Support re-connection with max_keepalive_fails option 2024-09-17 14:31:44 +05:30
Janusz Dziedzic
16bffe35f7 libwifi: 7.6.0 2024-09-16 15:39:39 +00:00
Amin Ben Romdhane
3efb822b6e tr143: 1.0.7 2024-09-16 15:33:37 +02:00
Amin Ben Romdhane
a3463ec253 netmngr: 1.0.3 2024-09-16 15:01:04 +02:00
Amin Ben Romdhane
a76e7d641d bbfdm: 1.12.4 2024-09-16 15:00:04 +02:00
Vivek Kumar Dutta
ab75eaa19d dslmngr: 1.2.8 2024-09-16 17:30:57 +05:30
Mikhail Kshevetskiy
2d50afe767 voicemngr: add missed dependency for libopenssl
Building of voicemngr for airoha target results in failure due to missed deps on libcrypto.so.3
and libssl.so.3.
This patch fix the issue.

PS: other targets was NOT tested.
2024-09-16 08:25:29 +00:00
Suvendhu Hansa
916ea44e1d bbfdm: Added Device.Schedules. DM object 2024-09-16 04:50:39 +00:00
Vivek Kumar Dutta
59bbbd822e dslmngr: added missing required dm parameters 2024-09-16 10:10:37 +05:30
Vivek Kumar Dutta
8b67c32fd8 netmngr: Added missing required dm parameters 2024-09-16 10:07:38 +05:30
Vivek Kumar Dutta
0852b1c635 icwmp: 9.8.12 2024-09-16 10:05:24 +05:30
Janusz Dziedzic
38f0ec2180 libwifi: 7.5.9 2024-09-13 10:50:43 +00:00
Vivek Kumar Dutta
67567aeed5 userinterface: fix rpcd script 2024-09-12 14:30:03 +00:00
Vivek Kumar Dutta
5315408948 sshmngr: Fix rpcd scripts 2024-09-12 14:30:03 +00:00
Vivek Kumar Dutta
5f255090f5 self-diagnostics: Fix rpcd scripts 2024-09-12 14:30:03 +00:00
Vivek Kumar Dutta
2e8a62001e ddnsmngr: Fixed rpcd scripts 2024-09-12 14:30:03 +00:00
Vivek Kumar Dutta
52add3fc14 bbfdm: 1.12.2
- Fix rpcd bbf.secure script
- Fix validation for empty datamodel parameter reference
2024-09-12 14:30:03 +00:00
Vivek Kumar Dutta
964a1008fd mcastmngr: probable fix for rpcd crash 2024-09-12 18:06:36 +05:30
Janusz Dziedzic
5fd9145a27 mapagent: qualcomm: disable hidden bh
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
2024-09-12 08:47:12 +00:00
Janusz Dziedzic
988717574c wifimngr: 17.3.9 2024-09-11 16:32:02 +00:00
Janusz Dziedzic
23ea6da091 libwifi: 7.5.8 2024-09-11 14:14:27 +00:00
Jakob Olsson
927442fb89 map-controller: 6.1.2.0 2024-09-11 15:27:12 +02:00
Jakob Olsson
4db0f00c26 map-agent: 6.2.0.0 2024-09-11 15:26:29 +02:00
Janusz Dziedzic
c710784038 libwifi: 7.5.7 2024-09-11 09:57:47 +00:00
Janusz Dziedzic
5072d9025a libwifi: 7.5.6 2024-09-10 17:00:26 +00:00
Andreas Gnau
b5a963c1bf iop: cfe_upgrade: Remove
CFE is no longer. Remove the script. In the future, we might integrate
U-Boot upgrade into iopupgrade.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2024-09-10 17:06:20 +02:00
Andreas Gnau
608b4a2b8a iop: taas: Remove
TAAS infrastructure no longer exists. Remove it.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2024-09-10 17:06:20 +02:00
Andreas Gnau
ae5a982dc4 iop: annexconfig: Remove
This script has been broken for several years and DSL as a techology is
not that common anymore. Remove it.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2024-09-10 17:06:20 +02:00
Vivek Kumar Dutta
3ec6b54d46 bbfdm: delay start datamodel services
datamodel services moved down in startup sequence to avoid race conditions
2024-09-10 18:54:55 +05:30
Vivek Kumar Dutta
6a34e2da97 timemngr: run cron job to apply dst 2024-09-10 16:14:52 +05:30
Vivek Kumar Dutta
627a4c4ad6 Revert "timemngr: uci option for day light saving time"
This reverts commit b74c2d2d17.
2024-09-10 16:04:30 +05:30
Lwithwma Brahma
abbab7118c mcastmngr: correct stats output
Corrected the read_mcast_stats function, to display
"ubus call mcast stats" correct output for multiple iptv bridges

Test:
"ubus call mcast stats" showing correct output for both single and multiple bridge.
2024-09-10 09:59:40 +00:00
Amin Ben Romdhane
31e6887d42 bbfdm: add dm-service daemon 2024-09-10 11:48:09 +02:00
Janusz Dziedzic
fc37507afb libwifi: 7.5.5 2024-09-10 07:06:33 +00:00
Vivek Kumar Dutta
e160b6795a tr143: Fix datatype of parameters 2024-09-09 18:36:24 +05:30
Markus Gothe
5ace2f5cc9 mcastmngr: 1.2.4 2024-09-09 11:20:58 +02:00
Mohd Husaam Mehdi
0e54c37963 mcastmngr: fix mcast stats shows 0.0.0.0 for group
Fixes mcast stats showing 0.0.0.0 for group address.
2024-09-08 12:32:36 +00:00
Vivek Kumar Dutta
e9e118fa12 icwmp: Fix memory leak 2024-09-06 22:00:39 +05:30
Vivek Kumar Dutta
9af1de3b43 bbfdm: Use usp proto for AddObj/DelObj events 2024-09-06 21:55:51 +05:30
Suvendhu Hansa
b74c2d2d17 timemngr: uci option for day light saving time 2024-09-06 21:49:23 +05:30
Janusz Dziedzic
ee779c0fd8 libwifi: assume mediatek = mac80211 2024-09-06 12:22:27 +00:00
Rahul Thakur
36fb5d5343 mcastmngr: handle multiple filters for mcproxy
the library script that converts uci to mcproxy config is generating
incorrect config for filtering ip addresses which leads to mcproxy
not even starting when multiple filters are defined.

this commit fixes the above described issue.
2024-09-06 10:30:00 +00:00
Janusz Dziedzic
0d2f443da0 wifimngr: 17.3.8 2024-09-05 19:39:50 +00:00
Vivek Kumar Dutta
5dc696f7e6 bbfdm: updated max registration objects 2024-09-04 19:55:55 +05:30
Vivek Kumar Dutta
6ae56f6737 obuspa: updated max instance depth 2024-09-04 19:54:54 +05:30
Janusz Dziedzic
76af31b457 wifimngr: 17.3.7 2024-09-04 12:30:03 +00:00
Vivek Kumar Dutta
7838b7b5c3 icwmp: datatype validation in set rpc 2024-09-04 11:51:05 +05:30
Vivek Kumar Dutta
f98664f398 bbfdm: datatype validation on set request 2024-09-04 11:40:20 +05:30
Vivek Kumar Dutta
89b1584816 fluent-bit: Switch to build from release 2024-09-03 17:50:41 +05:30
Vivek Kumar Dutta
da0234f66b decollector: fix assoc/disassoc event syntax 2024-09-02 19:13:29 +05:30
Vivek Kumar Dutta
45af6700f5 bbfdm: respawn microservices 2024-09-02 19:10:12 +05:30
Vivek Kumar Dutta
c60bc158a4 obuspa: fix probable segfault in event handling 2024-09-02 19:06:14 +05:30
Vivek Kumar Dutta
b2895d8908 obuspc: Fix compilation errors 2024-09-02 14:14:48 +05:30
Markus Gothe
eb10bd6b6b obuspa: add InterfaceSetting to dmcaching_exclude.json 2024-09-02 06:34:06 +00:00
Amin Ben Romdhane
af0a111b81 bbfdm: 1.11.1 2024-08-30 17:52:41 +02:00
Janusz Dziedzic
fc9e35c18f libwifi: 7.5.4 2024-08-30 08:30:25 +00:00
Vivek Kumar Dutta
7d619a85b3 netmngr: Fix instance navigation 2024-08-30 12:55:05 +05:30
Amin Ben Romdhane
ded9e8d248 timemngr: 1.1.0 2024-08-29 12:14:25 +02:00
Amin Ben Romdhane
4b5a232a9e bbfdm: Introduce a new libbbfdm-ubus library 2024-08-29 12:12:58 +02:00
Mohd Husaam Mehdi
bbe85d77a3 dhcpmngr: handle the case when unbound is used instead of dnsmasq 2024-08-29 15:34:18 +05:30
Mohd Husaam Mehdi
172581b794 dnsmngr: add logic to select and handle unbound backend 2024-08-29 15:33:50 +05:30
Anjan Chanda
2b965738cb decollector: 6.0.1.0 2024-08-29 11:51:37 +02:00
Mohd Husaam Mehdi
47fe2abfe0 dnsmngr: add unbound as selectable backend
* add dependencies for different backends in dhcpmngr and
  dnsmngr
* use CFLAG to indicate to data model code which backend is being
  used currently
* add uci-defaults script to set leasetrigger if unbound is dns
  backend
2024-08-29 09:06:15 +00:00
Vivek Kumar Dutta
5068f2ae2d fluent-bit: updated HASH 2024-08-29 14:25:40 +05:30
Janusz Dziedzic
479df88a67 map-agent: 6.1.1.12 2024-08-29 06:44:09 +00:00
Suvendhu Hansa
be93ce6e1e obuspa: expose mqtt and stomp datamodel for cwmp 2024-08-29 06:36:17 +00:00
Janusz Dziedzic
f41f010aa9 map-controller: 6.1.1.8 2024-08-29 06:30:15 +00:00
Yalu Zhang
72aa9ac89a Update packages libvoice-d2 and voicemngr
Generate RTP events for DTMF pressed on a DECT handset
2024-08-28 15:33:09 +02:00
Anjan Chanda
77a4bee249 ieee1905: 8.5.6 2024-08-28 15:22:43 +02:00
Janusz Dziedzic
54bd79427e wifimngr: 17.3.6 2024-08-28 11:04:57 +00:00
Filip Matusiak
1d773de3ca map-controller: 6.1.1.7 2024-08-28 10:24:22 +02:00
Jakob Olsson
791881dd85 map-agent: 6.1.1.11 2024-08-27 16:45:27 +02:00
Janusz Dziedzic
fc7c6e123d wifimngr: 17.3.5 2024-08-26 14:45:29 +00:00
Janusz Dziedzic
e3af6258f5 Revert "map-agent: disable mlo for extender and 6GHz"
This reverts commit 45bb27cff4.
2024-08-26 14:43:46 +00:00
Piotr Kubik
0bf9cc31d0 dectmngr 3.6.9: Fix a build error for strtol() after OpenWrt version uplift 2024-08-26 07:53:43 +00:00
Suvendhu Hansa
c3a0c839a8 obuspa: Run USPAgent as datamodel micro-service 2024-08-26 11:39:23 +05:30
Suvendhu Hansa
4b84c570b5 Fix e2e session configuration 2024-08-23 20:11:06 +05:30
Markus Gothe
57a8f7e98a update package libethernet
* libethernet: Improve counter logic for Airoha.
2024-08-23 12:48:52 +02:00
Andreas Gnau
0483212986 iopsys-analytics: Do not set hostname
* f448cfe9264 Revert "uci-defaults: Add hostname script"

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2024-08-22 17:24:07 +02:00
Janusz Dziedzic
96ad10a2b0 wifimngr: 17.3.4 2024-08-22 12:33:57 +00:00
Janusz Dziedzic
a7fbef8753 libwifi: 7.5.3 2024-08-22 12:32:56 +00:00
Marek Puzyniak
1443111081 map-agent: 6.1.1.10 2024-08-21 14:22:09 +00:00
Amin Ben Romdhane
9c78c6e78d bbfdm: 1.10.4 2024-08-20 12:56:15 +02:00
Amin Ben Romdhane
0aa3452fdb tr143: 1.0.5 2024-08-20 12:52:51 +02:00
Amin Ben Romdhane
2ca261f10d tr471: 1.0.5 2024-08-20 12:52:17 +02:00
Amin Ben Romdhane
bbe62b4c7b udpecho: 2.2.3 2024-08-20 12:51:54 +02:00
Amin Ben Romdhane
fd08ddde07 twamp: 1.4.6 2024-08-20 12:51:26 +02:00
Amin Ben Romdhane
6020c2d64b netmngr: 1.0.0 2024-08-20 12:50:30 +02:00
Vivek Kumar Dutta
012efefbad obuspa: enable SessionMode uci config 2024-08-20 12:38:33 +05:30
Vivek Kumar Dutta
a18d9af782 obuspa: Integrate obuspa v8.0.8 2024-08-20 10:25:45 +05:30
Vivek Kumar Dutta
5bc6d6aaa9 obuspa: Fix parsing of event data 2024-08-19 22:34:38 +05:30
Vivek Kumar Dutta
bedb6b8afb bbfdm: Update event schema to align 2024-08-19 22:06:21 +05:30
Filip Matusiak
3eeb24fea8 map-controller: 6.1.1.6 2024-08-19 13:34:13 +00:00
Filip Matusiak
645d6d9beb map-controller: config: steering intervals 2024-08-19 13:34:13 +00:00
Vivek Kumar Dutta
20cf6d1654 bbfdm: fix setting empty value for json plugin 2024-08-19 16:54:03 +05:30
Vivek Kumar Dutta
5bbab3b822 icwmp: align with bbfdm 2024-08-17 13:43:27 +00:00
Vivek Kumar Dutta
0a73c8150b obuspa: use bbf.config in place of transactions 2024-08-17 13:43:27 +00:00
Amin Ben Romdhane
8619514bdb bbfdm: Remove transaction APIs 2024-08-17 13:43:27 +00:00
Yalu Zhang
1ad9254588 dectmngr-3.6.8: Change the reset procedures for DCX81 chip 2024-08-16 16:00:22 +02:00
Mohd Husaam Mehdi
2bff75633e dnsmngr: add compile time option for enabling DNS.SD support 2024-08-16 18:12:50 +05:30
Rahul Thakur
fa9bfb428e logmngr: implement fail2ban for ssh
* handle both openssh and dropbear for fail2ban
2024-08-16 12:21:30 +00:00
Rahul Thakur
ab2766f79b logmngr: integrate fail2ban 2024-08-16 12:21:30 +00:00
Markus Gothe
bcdb31c830 qosmngr: Solve issue with L3 HW NAT for DSCP.
When doing classification on DSCP values we need
to ensure that the values are correctly hashed
for the L3 HW NAT, otherwise identical flows
with different DSCP values will end up with
the same QoS priority and queue.
2024-08-16 11:37:32 +02:00
Markus Gothe
32203771f6 qosmngr: Handle L3 flows with different p-bits correctly.
The L3 HW NAT will match the flows based on an IP header 5-tuple.
However if we are doing classification based on p-bits at the
same time and we want to use this for QoS we need to make sure
to add a VIP packet matcher to send this info to the PPE for
hashing the flow.
2024-08-15 16:51:48 +02:00
Sukru Senli
2ff18658c9 netmode: Add README 2024-08-13 11:57:32 +02:00
Rahul Thakur
29979d3559 urlfilter: update regex
* update regex handling
* simplify iptables rules to setup nfq into single rule
* update makefile to not compile urlfilter as a kernel module
2024-08-13 06:10:08 +00:00
Vivek Kumar Dutta
7e56b7eca4 dnsmngr: align with bbfdm 2024-08-13 10:35:19 +05:30
Suvendhu Hansa
7d7c89d24f icwmp: apply non-critical services immediately 2024-08-08 14:55:48 +00:00
Jakob Olsson
07701b459b map-agent: 6.1.1.9 2024-08-08 16:41:52 +02:00
Vivek Kumar Dutta
6c6d1eae5f icwmp: Align with bbfdm 2024-08-08 10:30:55 +05:30
Vivek Kumar Dutta
58a91d6a7d bbfdm: 1.10.0
- Optimize CPU usages
- Remove support to delete all instances at once
2024-08-08 10:28:25 +05:30
Yalu Zhang
b033b53958 dectmngr 3.6.7: Fix building errors in pipeline job api_test due to libgpiod APIs 2024-08-06 15:41:29 +02:00
Jakob Olsson
f5df102fd9 map-agent: 6.1.1.8 2024-08-06 15:01:29 +02:00
235 changed files with 5242 additions and 5080 deletions

View File

@@ -1,7 +1,4 @@
if PACKAGE_libbbfdm
config BBF_VENDOR_LIST
string "Vendor List"
default "iopsys"
if PACKAGE_bbfdmd
config BBF_VENDOR_PREFIX
string "Vendor Prefix"

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=bbfdm
PKG_VERSION:=1.9.16
PKG_VERSION:=1.13.6
USE_LOCAL:=0
ifneq ($(USE_LOCAL),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/bbfdm.git
PKG_SOURCE_VERSION:=93a6f6f51c3edb88aa63f150ef077d9f70cb883b
PKG_SOURCE_VERSION:=bfe8db9f6d5e8419c30da1e0ee36186e3f838f57
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
@@ -32,21 +32,28 @@ define Package/libbbfdm-api
ABI_VERSION:=1.0
endef
define Package/libbbfdm
define Package/libbbfdm-ubus
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=TRx69
TITLE:=Library for broadband forum data model support
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libbbfdm-api +libopenssl
MENU:=1
TITLE:=BBF datamodel ubus library, provides API to expose datamodel over ubus
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libbbfdm-api
endef
define Package/bbfdmd
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=TRx69
TITLE:=Datamodel ubus backend
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libbbfdm-api +libbbfdm +jq +bbf_configmngr
TITLE:=Datamodel ubus backend to expose core tree
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libbbfdm-api +libopenssl +libbbfdm-ubus +bbf_configmngr
endef
define Package/dm-service
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=TRx69
TITLE:=Datamodel ubus backend to expose micro-service tree
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libbbfdm-api +libbbfdm-ubus +bbf_configmngr
endef
define Package/bbf_configmngr
@@ -55,11 +62,10 @@ define Package/bbf_configmngr
SUBMENU:=TRx69
TITLE:= BBF Config Manager
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json
MENU:=1
endef
define Package/libbbfdm/config
source "$(SOURCE)/Config_bbfdm.in"
define Package/bbfdmd/config
source "$(SOURCE)/Config_bbfdmd.in"
endef
define Package/bbf_configmngr/config
@@ -70,8 +76,16 @@ define Package/libbbfdm-api/description
Library contains the API(UCI, UBUS, JSON, CLI and Browse) of libbbfdm
endef
define Package/libbbfdm/description
Library contains the data model tree, It includes basic TR181 nodes.
define Package/libbbfdm-ubus/description
Library contains the APIs to expose data model over ubus
endef
define Package/bbfdmd/description
Daemon to expose Datamodel core tree
endef
define Package/dm-service/description
Daemon to expose Datamodel micro-service tree
endef
define Package/bbf_configmngr/description
@@ -85,17 +99,9 @@ endef
endif
CMAKE_OPTIONS += \
-DBBF_TR181=ON
CMAKE_OPTIONS += \
-DBBF_VENDOR_LIST:String="$(CONFIG_BBF_VENDOR_LIST)" \
-DBBF_VENDOR_PREFIX:String="$(CONFIG_BBF_VENDOR_PREFIX)" \
-DBBF_MAX_OBJECT_INSTANCES:Integer=$(CONFIG_BBF_MAX_OBJECT_INSTANCES)
ifeq ($(CONFIG_PACKAGE_bbfdmd),y)
CMAKE_OPTIONS += \
-DBBF_MAX_OBJECT_INSTANCES:Integer=$(CONFIG_BBF_MAX_OBJECT_INSTANCES) \
-DBBFDMD_MAX_MSG_LEN:Integer=10485760
endif
define Package/libbbfdm-api/install
$(INSTALL_DIR) $(1)/lib
@@ -112,69 +118,80 @@ define Package/libbbfdm-api/install
echo "$(CONFIG_BBF_OBFUSCATION_KEY)" > $(1)/etc/bbfdm/.secure_hash
endef
define Package/libbbfdm/install
$(INSTALL_DIR) $(1)/etc/bbfdm/dmmap
$(INSTALL_DIR) $(1)/usr/share/bbfdm/
$(CP) $(PKG_BUILD_DIR)/libbbfdm/libbbfdm.so $(1)/usr/share/bbfdm/libbbfdm.so
$(INSTALL_DIR) $(1)/lib/upgrade/keep.d
$(INSTALL_DATA) ./files/lib/upgrade/keep.d/bbf $(1)/lib/upgrade/keep.d/bbf
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_BIN) ./files/etc/uci-defaults/91-fix-bbfdmd-enabled-option $(1)/etc/uci-defaults/
ifeq ($(findstring iopsys,$(CONFIG_BBF_VENDOR_LIST)),iopsys)
$(BBFDM_INSTALL_CORE_PLUGIN) $(PKG_BUILD_DIR)/libbbfdm/dmtree/vendor/iopsys/libbbfdm_iopsys_ext.so $(1)
endif
$(INSTALL_DIR) $(1)/usr/share/bbfdm/scripts/
$(CP) $(PKG_BUILD_DIR)/utilities/files/usr/share/bbfdm/scripts/bbf_activate_handler.sh $(1)/usr/share/bbfdm/scripts/
$(CP) $(PKG_BUILD_DIR)/utilities/files/usr/share/bbfdm/scripts/bbf_check_idle.sh $(1)/usr/share/bbfdm/scripts/
endef
define Package/libbbfdm/prerm
#!/bin/sh
rm -rf /etc/bbfdm/dmmap/*
exit 0
define Package/libbbfdm-ubus/install
$(INSTALL_DIR) $(1)/lib
$(CP) $(PKG_BUILD_DIR)/libbbfdm-ubus/libbbfdm-ubus.so $(1)/lib/
endef
define Package/bbfdmd/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
$(INSTALL_DIR) $(1)/etc/bbfdm/dmmap
$(INSTALL_DIR) $(1)/usr/share/bbfdm
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DIR) $(1)/etc/bbfdm
$(INSTALL_CONF) ./files/etc/config/bbfdm $(1)/etc/config/bbfdm
$(INSTALL_CONF) ./files/etc/config/schedules $(1)/etc/config/schedules
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bbfdmd/ubus/bbfdmd $(1)/usr/sbin/
$(INSTALL_DATA) ./files/etc/bbfdm/input.json $(1)/etc/bbfdm/
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/etc/init.d/bbfdmd $(1)/etc/init.d/bbfdmd
$(INSTALL_BIN) ./files/etc/init.d/bbfdm.services $(1)/etc/init.d/
$(INSTALL_CONF) ./files/etc/config/bbfdm $(1)/etc/config/bbfdm
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
$(INSTALL_BIN) ./files/etc/hotplug.d/iface/85-bbfdm-sysctl $(1)/etc/hotplug.d/iface/85-bbfdm-sysctl
$(INSTALL_DIR) $(1)/lib/upgrade/keep.d
$(INSTALL_DATA) ./files/lib/upgrade/keep.d/bbf $(1)/lib/upgrade/keep.d/bbf
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_BIN) ./files/etc/uci-defaults/91-fix-bbfdmd-enabled-option $(1)/etc/uci-defaults/
endef
define Package/dm-service/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/etc/init.d/bbfdm.services $(1)/etc/init.d/
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/dm-service/dm-service $(1)/usr/sbin/
endef
define Package/bbf_configmngr/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/bbfdm/
ifeq ($(CONFIG_BBF_CONFIGMNGR_C_BACKEND),y)
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/utilities/bbf_configd $(1)/usr/sbin/
$(INSTALL_BIN) ./files/etc/init.d/bbf_configd $(1)/etc/init.d/bbf_configd
$(INSTALL_DIR) $(1)/usr/share/bbfdm/scripts
$(CP) $(PKG_BUILD_DIR)/utilities/files/usr/share/bbfdm/scripts/bbf_config_notify.sh $(1)/usr/share/bbfdm/scripts/
endif
ifeq ($(CONFIG_BBF_CONFIGMNGR_SCRIPT_BACKEND),y)
$(INSTALL_DIR) $(1)/usr/libexec/rpcd
$(CP) $(PKG_BUILD_DIR)/utilities/files/usr/libexec/rpcd/bbf.config $(1)/usr/libexec/rpcd/bbf.config
endif
$(INSTALL_DATA) ./files/etc/bbfdm/critical_services.json $(1)/etc/bbfdm/
endef
define Package/bbfdmd/prerm
#!/bin/sh
rm -rf /etc/bbfdm/dmmap/*
exit 0
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/include/libbbfdm-api
$(INSTALL_DIR) $(1)/usr/include/libbbfdm-ubus
$(INSTALL_DATA) $(PKG_BUILD_DIR)/libbbfdm-api/*.h $(1)/usr/include/libbbfdm-api/
$(INSTALL_DATA) $(PKG_BUILD_DIR)/libbbfdm-ubus/bbfdm-ubus.h $(1)/usr/include/libbbfdm-ubus/
$(INSTALL_DATA) $(PKG_BUILD_DIR)/libbbfdm-api/include/*.h $(1)/usr/include/
$(CP) $(PKG_BUILD_DIR)/libbbfdm-api/libbbfdm-api.so $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/libbbfdm-ubus/libbbfdm-ubus.so $(1)/usr/lib
endef
$(eval $(call BuildPackage,bbf_configmngr))
$(eval $(call BuildPackage,libbbfdm-api))
$(eval $(call BuildPackage,libbbfdm))
$(eval $(call BuildPackage,libbbfdm-ubus))
$(eval $(call BuildPackage,bbfdmd))
$(eval $(call BuildPackage,dm-service))

View File

@@ -47,7 +47,6 @@ BBFDM_INSTALL_CORE_PLUGIN:=$(BBFDM_DIR)/tools/bbfdm.sh -p
# Note:
# - There could be only one main plugin file, so its bind to PKG_NAME
# - Micro-service input.json will be auto generated with this call
# - Use -u (optional argument) to overwrite ubus object name
#
# Example:
# BBFDM_INSTALL_MS_DM $(PKG_BUILD_DIR)/libcwmp.so $(1) $(PKG_NAME)
@@ -88,6 +87,9 @@ BBFDM_INSTALL_MS_PLUGIN:=$(BBFDM_DIR)/tools/bbfdm.sh -m -p
#
BBFDM_INSTALL_SCRIPT:=$(BBFDM_DIR)/tools/bbfdm.sh -s
BBFDM_REGISTER_SERVICES:=$(BBFDM_DIR)/tools/bbfdm.sh -t
# Deprecated functions errors
define BbfdmInstallPluginInMicroservice
$(warning # BbfdmInstallPluginInMicroservice function is deprecated, use BBFDM_INSTALL_MS_PLUGIN macro #)

View File

@@ -0,0 +1,18 @@
{
"usp": [
"firewall",
"network",
"dhcp",
"wireless",
"time"
],
"cwmp": [
"firewall",
"network",
"dhcp",
"stunc",
"xmpp",
"wireless",
"time"
]
}

View File

@@ -1,28 +0,0 @@
{
"daemon": {
"config": {
},
"input": {
"type": "DotSo",
"name": "/usr/share/bbfdm/libbbfdm.so",
"plugin_dir": "/usr/share/bbfdm/plugins"
},
"output": {
"type": "UBUS",
"name": "bbfdm"
}
},
"cli": {
"config": {
"proto": "both",
"instance_mode": 0
},
"input": {
"type": "UBUS",
"name": "bbfdm"
},
"output": {
"type": "CLI"
}
}
}

View File

@@ -1,11 +1,12 @@
config bbfdmd 'bbfdmd'
option enable '1'
option loglevel '1'
option refresh_time '120'
option transaction_timeout '30'
option subprocess_level '2'
option debug '0'
option loglevel '3'
config micro_services 'micro_services'
option enable '1'
option enable_core '0'
option enable_respawn '1'
config reload_handler 'reload_handler'
option log_level '1'

View File

@@ -0,0 +1,2 @@
config global 'global'
option enable '1'

View File

@@ -1,15 +1,41 @@
#!/bin/sh /etc/rc.common
START=64
START=80
STOP=10
USE_PROCD=1
PROG=/usr/sbin/bbf_configd
log() {
echo "${@}"|logger -t bbf.config -p info
}
create_needed_directories()
{
mkdir -p /tmp/bbfdm/.cwmp
mkdir -p /tmp/bbfdm/.usp
mkdir -p /tmp/bbfdm/.bbfdm
}
start_service()
{
local log_level
create_needed_directories
config_load bbfdm
config_get log_level "reload_handler" log_level 2
procd_open_instance "bbf_configd"
procd_set_param command ${PROG}
procd_append_param command -l "${log_level}"
procd_set_param respawn
procd_close_instance "bbf_configd"
}
service_triggers() {
for config_file in /etc/config/*; do
config_name=$(basename "$config_file")
procd_add_config_trigger "config.change" "$config_name" /usr/share/bbfdm/scripts/bbf_config_notify.sh
done
}

View File

@@ -1,12 +1,12 @@
#!/bin/sh /etc/rc.common
START=40
START=60
STOP=8
USE_PROCD=1
PROG=/usr/sbin/bbfdmd
PROG=/usr/sbin/dm-service
BBFDM_MICROSERVICE_DIR="/etc/bbfdm/micro_services"
BBFDM_MICROSERVICE_DIR="/etc/bbfdm/services"
. /usr/share/libubox/jshn.sh
@@ -18,33 +18,43 @@ validate_bbfdm_micro_service_section()
{
uci_validate_section bbfdm micro_services "micro_services" \
'enable:bool:true' \
'enable_core:bool:false' \
'enable_respawn:bool:true'
'enable_core:bool:false'
}
_add_microservice()
{
local name path
local enable enable_core enable_respawn
local name path loglevel
local enable enable_core unified_daemon
# Check enable from micro-service
path="${1}"
enable_respawn="${2}"
enable_core="${3}"
enable_core="${2}"
name="$(basename ${path})"
name="${name//.json}"
enable="$(jq -r '.daemon.enable//1' ${path})"
json_load_file "${path}"
json_select daemon
json_get_var enable enable 1
if [ "${enable}" -eq "0" ]; then
log "datamodel micro-service ${name} not enabled"
return 0
fi
json_get_var unified_daemon unified_daemon 0
if [ "${unified_daemon}" -eq "1" ]; then
return 0
fi
json_select config
json_get_var loglevel loglevel 3
procd_open_instance "${name}"
procd_set_param command ${PROG}
procd_append_param command -m "${name}"
procd_append_param command -l "${loglevel}"
if [ "${enable_core}" -eq "1" ]; then
procd_set_param limits core="unlimited"
@@ -52,15 +62,13 @@ _add_microservice()
procd_set_param stderr 1
fi
if [ "${enable_respawn}" -eq "1" ]; then
procd_set_param respawn "3600" "5" "5"
fi
procd_set_param respawn
procd_close_instance "${name}"
}
configure_bbfdm_micro_services()
{
local enable enable_core enable_respawn
local enable enable_core
config_load bbfdm
validate_bbfdm_micro_service_section || {
@@ -77,7 +85,7 @@ configure_bbfdm_micro_services()
do
[ -e "$file" ] || continue
_add_microservice $file "${enable_respawn}" "${enable_core}"
_add_microservice $file "${enable_core}"
done
fi
}
@@ -92,7 +100,7 @@ _start_single_service()
file="$(ls -1 ${BBFDM_MICROSERVICE_DIR}/${service}.json)"
[ -e "$file" ] || return
_add_microservice $file "0" "0"
_add_microservice $file "0"
fi
}

View File

@@ -1,14 +1,11 @@
#!/bin/sh /etc/rc.common
START=65
START=97
STOP=10
USE_PROCD=1
PROG=/usr/sbin/bbfdmd
BBFDM_JSON_INPUT="/etc/bbfdm/input.json"
BBFDM_TEMP_DIR="/tmp/bbfdm"
. /usr/share/libubox/jshn.sh
log() {
@@ -19,17 +16,13 @@ validate_bbfdm_bbfdmd_section()
{
uci_validate_section bbfdm bbfdmd "bbfdmd" \
'enable:bool:true' \
'sock:string' \
'debug:bool:false' \
'loglevel:uinteger:1' \
'refresh_time:uinteger:0' \
'transaction_timeout:uinteger:30' \
'subprocess_level:uinteger'
'loglevel:uinteger:3'
}
configure_bbfdmd()
{
local enable debug sock
local enable debug
local jlog jrefresh jtimeout jlevel
config_load bbfdm
@@ -40,25 +33,17 @@ configure_bbfdmd()
[ "${enable}" -eq 0 ] && return 0
if [ -f "${BBFDM_JSON_INPUT}" ]; then
echo "$(jq --arg log ${loglevel} --arg tran ${transaction_timeout} --arg refresh ${refresh_time} --arg level ${subprocess_level} '.daemon.config += {"loglevel": $log, "refresh_time": $refresh, "transaction_timeout": $tran, "subprocess_level": $level}' ${BBFDM_JSON_INPUT})" > "${BBFDM_TEMP_DIR}/input.json"
fi
procd_set_param command ${PROG}
procd_append_param command -l "${loglevel}"
if [ "${debug}" -eq 1 ]; then
procd_set_param stdout 1
procd_set_param stderr 1
fi
if [ -f "${sock}" ]; then
procd_append_param command -s "${sock}"
fi
}
start_service()
{
mkdir -p ${BBFDM_TEMP_DIR}
procd_open_instance "bbfdm"
configure_bbfdmd
procd_set_param respawn

View File

@@ -2,8 +2,7 @@
BBFDM_BASE_DM_PATH="usr/share/bbfdm"
BBFDM_INPUT_PATH="etc/bbfdm/micro_services"
INPUT_TEMPLATE='{"daemon":{"enable":"1","service_name":"template","config":{"loglevel":"1"}}}'
OUT_NAME=""
INPUT_FILE="0"
MICRO_SERVICE=0
SCRIPT=0
@@ -13,7 +12,7 @@ DEST=""
TOOLS="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
SRC=""
while getopts ":mpsdu:" opt; do
while getopts ":mpsdtu:" opt; do
case ${opt} in
m)
MICRO_SERVICE=1
@@ -27,8 +26,8 @@ while getopts ":mpsdu:" opt; do
d)
DIAG=1
;;
u)
OUT_NAME="${OPTARG}"
t)
INPUT_FILE=1
;;
?)
echo "Invalid option: ${OPTARG}"
@@ -79,6 +78,11 @@ bbfdm_install_dm()
exit 1
fi
if [ ! -f "${src}" ]; then
echo "File $src does not exists..."
exit 1
fi
if [ "${src##*.}" = "json" ]; then
echo "Compacting BBFDM JSON file"
minfile=$(mktemp)
@@ -103,23 +107,6 @@ bbfdm_install_dm()
fi
}
bbfdm_generate_input()
{
local dest ser
dest_dir=${1}
ser=${2}
dest=${dest_dir}/${ser}.json
if [ -n "${OUT_NAME}" ]; then
echo ${INPUT_TEMPLATE} | jq --arg service "${ser}" --arg OUT "${OUT_NAME}" '.daemon |= (.service_name = $service |.output.name = $OUT)' > ${dest}
else
echo ${INPUT_TEMPLATE} | jq --arg service "${ser}" '.daemon.service_name = $service' > ${dest}
fi
chmod 466 ${dest}
}
if [ -z "$SRC" ] || [ -z "${DEST}" ] ; then
echo "# BBFDM Null value in src[${SRC}], dest[${DEST}]"
exit 1
@@ -136,6 +123,29 @@ if [ "${SCRIPT}" -eq "1" ]; then
exit 0
fi
if [ "${INPUT_FILE}" -eq "1" ]; then
if [ ! -f "${SRC}" ]; then
echo "# Datamodel Input file ${SRC} not available"
exit 1
fi
if ! cat ${SRC} |jq >/dev/null 2>&1; then
echo "# Invalid datamodel json input file"
exit 1
fi
if [ -z "${DATA}" ]; then
echo "# Package name not provided ...."
exit 1
fi
install_dir ${DEST}/etc/bbfdm/services
install_data ${SRC} ${DEST}/etc/bbfdm/services/${DATA}.json
exit 0
fi
if [ "${MICRO_SERVICE}" -eq "1" ]; then
if [ -z "${DATA}" ]; then
echo "# service_name[${DATA}] not provided"
@@ -146,10 +156,6 @@ if [ "${MICRO_SERVICE}" -eq "1" ]; then
extn="$(basename ${SRC})"
install_dir ${DEST}/${BBFDM_BASE_DM_PATH}/micro_services
bbfdm_install_dm ${SRC} ${DEST}/${BBFDM_BASE_DM_PATH}/micro_services/${DATA}.${extn##*.}
# main micro-service datamodel plugin, create an input file as well
install_dir ${DEST}/${BBFDM_INPUT_PATH}
bbfdm_generate_input ${DEST}/${BBFDM_INPUT_PATH}/ ${DATA}
else
install_dir ${DEST}/${BBFDM_BASE_DM_PATH}/micro_services/${DATA}
bbfdm_install_dm ${SRC} ${DEST}/${BBFDM_BASE_DM_PATH}/micro_services/${DATA}/$(basename ${SRC})
@@ -158,11 +164,15 @@ else
if [ "${PLUGIN}" -eq "1" ]; then
priority="${DATA:-0}"
install_dir ${DEST}/${BBFDM_BASE_DM_PATH}/plugins
if [ "${priority}" -gt "0" ]; then
# install with priority if defined
bbfdm_install_dm ${SRC} ${DEST}/${BBFDM_BASE_DM_PATH}/plugins/${priority}_$(basename ${SRC})
else
elif [ "${priority}" -eq "0" ]; then
bbfdm_install_dm ${SRC} ${DEST}/${BBFDM_BASE_DM_PATH}/plugins/$(basename ${SRC})
else
echo "# Priority should be an unsigned integer"
exit 1
fi
fi
fi

View File

@@ -27,6 +27,7 @@ obj_schema = {
"protocols_t": {
"type": "string",
"enum": [
"none",
"cwmp",
"usp"
]
@@ -227,6 +228,7 @@ event_schema = {
"protocols_t": {
"type": "string",
"enum": [
"none",
"usp"
]
}
@@ -254,6 +256,7 @@ command_schema = {
"protocols_t": {
"type": "string",
"enum": [
"none",
"usp"
]
}

45
blkpg-part/Makefile Normal file
View File

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

View File

@@ -7,5 +7,11 @@ config BRIDGEMNGR_BRIDGE_VLAN
help
Set this option to use bridge-vlan as backend for VLAN objects.
config BRIDGEMNGR_BRIDGE_VENDOR_EXT
bool "Use bridge BBF vendor extensions"
default y
help
Set this option to use bridge BBF vendor extensions.
endmenu
endif

View File

@@ -5,14 +5,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=bridgemngr
PKG_VERSION:=1.0.5
PKG_VERSION:=1.0.10
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/network/bridgemngr
PKG_SOURCE_VERSION:=c0f2e17f6d4f96aecfe72ab90be885939413176d
PKG_SOURCE_VERSION:=18c2921a1cf5bfa027c11c5e6ca605ef69fd1168
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
@@ -26,7 +26,8 @@ include ../bbfdm/bbfdm.mk
define Package/bridgemngr
CATEGORY:=Utilities
TITLE:=Bridge Manager
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libbbfdm-api
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json
DEPENDS+=+libbbfdm-api +libbbfdm-ubus +dm-service
endef
define Package/bridgemngr/description
@@ -46,10 +47,18 @@ ifeq ($(CONFIG_BRIDGEMNGR_BRIDGE_VLAN),y)
endif
define Package/bridgemngr/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/config
$(BBFDM_REGISTER_SERVICES) ./bbfdm_service.json $(1) $(PKG_NAME)
$(BBFDM_INSTALL_MS_DM) $(PKG_BUILD_DIR)/src/libbridgemngr.so $(1) $(PKG_NAME)
ifeq ($(findstring iopsys,$(CONFIG_BBF_VENDOR_LIST)),iopsys)
ifeq ($(CONFIG_BRIDGEMNGR_BRIDGE_VENDOR_EXT), y)
$(BBFDM_INSTALL_MS_PLUGIN) $(PKG_BUILD_DIR)/src/libbridgeext.so $(1) $(PKG_NAME)
$(BBFDM_INSTALL_MS_PLUGIN) ./files/VLAN_Filtering_Extension.json $(1) $(PKG_NAME)
endif
$(INSTALL_BIN) ./files/etc/init.d/bridging $(1)/etc/init.d/
$(INSTALL_DATA) ./files/etc/config/bridging $(1)/etc/config/
endef
ifeq ($(LOCAL_DEV),1)

View File

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

View File

@@ -0,0 +1,31 @@
{
"json_plugin_version": 2,
"Device.Bridging.Bridge.{i}.": {
"type": "object",
"protocols": [
"cwmp",
"usp"
],
"access": true,
"array": true,
"{BBF_VENDOR_PREFIX}VLANFiltering": {
"type": "boolean",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "boolean",
"description": "Enable or disable VLAN Filtering on this bridge.",
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "vlan_filtering"
}
]
}
}
}

View File

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

View File

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

View File

@@ -7,13 +7,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=bulkdata
PKG_VERSION:=2.1.11
PKG_VERSION:=2.1.19
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/bulkdata.git
PKG_SOURCE_VERSION:=5dd9cd3cfc95e9dce5f64fe9cadd274bb31b8fa6
PKG_SOURCE_VERSION:=628525b02ae9ccd39f4bc85cf616ed4a102bca48
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
@@ -24,12 +24,17 @@ PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
include $(TOPDIR)/feeds/iopsys/bbfdm/bbfdm.mk
define Package/$(PKG_NAME)
define Package/bulkdata
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=TRx69
TITLE:=BBF BulkData Collection
DEPENDS:=+libubus +libuci +libubox +libjson-c +libcurl +libblobmsg-json +zlib
DEPENDS:=+ubus +libuci +libubox +libjson-c +libcurl +libblobmsg-json +zlib
DEPENDS+=+libbbfdm-api +libbbfdm-ubus
endef
define Package/bulkdata/description
BulkData daemon for TR069 with bbfdm backend.
endef
TARGET_CFLAGS += \
@@ -42,16 +47,15 @@ define Build/Prepare
endef
endif
define Package/$(PKG_NAME)/install
define Package/bulkdata/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bulkdatad $(1)/usr/sbin/
$(INSTALL_DATA) ./files/etc/config/bulkdata $(1)/etc/config/
$(INSTALL_BIN) ./files/etc/init.d/bulkdatad $(1)/etc/init.d/
$(INSTALL_DATA) ./files/etc/uci-defaults/95-bulkdata-translation-options $(1)/etc/uci-defaults/
$(BBFDM_INSTALL_MS_DM) $(PKG_BUILD_DIR)/bbf_plugin/bulkdata.json $(1) $(PKG_NAME)
$(BBFDM_REGISTER_SERVICES) ./bbfdm_service.json $(1) $(PKG_NAME)
endef
$(eval $(call BuildPackage,$(PKG_NAME)))
$(eval $(call BuildPackage,bulkdata))

View File

@@ -0,0 +1,17 @@
{
"daemon": {
"enable": "1",
"service_name": "bulkdata",
"unified_daemon": true,
"services": [
{
"parent_dm": "Device.",
"object": "BulkData",
"proto": "cwmp"
}
],
"config": {
"loglevel": "3"
}
}
}

View File

@@ -1,960 +0,0 @@
{
"json_plugin_version": 2,
"Device.BulkData.": {
"type": "object",
"protocols": [
"cwmp",
"usp"
],
"access": false,
"array": false,
"Enable": {
"type": "boolean",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "boolean",
"mapping": [
{
"type": "uci",
"uci": {
"file": "bulkdata",
"section": {
"name": "bulkdata"
},
"option": {
"name": "enable"
}
}
}
]
},
"Status": {
"type": "string",
"read": true,
"write": false,
"protocols": [
"cwmp",
"usp"
],
"datatype": "string",
"enumerations": [
"Enabled",
"Disabled",
"Error"
],
"mapping": [
{
"type": "uci",
"uci": {
"file": "bulkdata",
"section": {
"name": "bulkdata"
},
"option": {
"name": "enable"
}
}
}
]
},
"MinReportingInterval": {
"type": "unsignedInt",
"read": true,
"write": false,
"protocols": [
"cwmp",
"usp"
],
"default": "0",
"datatype": "unsignedInt",
"unit": "seconds"
},
"Protocols": {
"type": "string",
"read": true,
"write": false,
"protocols": [
"cwmp",
"usp"
],
"default": "HTTP",
"list": {
"datatype": "string",
"enumerations": [
"Streaming",
"File",
"HTTP",
"MQTT"
]
}
},
"EncodingTypes": {
"type": "string",
"read": true,
"write": false,
"protocols": [
"cwmp",
"usp"
],
"default": "JSON,CSV",
"list": {
"datatype": "string",
"enumerations": [
"XML",
"XDR",
"CSV",
"JSON"
]
}
},
"ParameterWildCardSupported": {
"type": "boolean",
"read": true,
"write": false,
"protocols": [
"cwmp",
"usp"
],
"default": "1",
"datatype": "boolean"
},
"MaxNumberOfProfiles": {
"type": "int",
"read": true,
"write": false,
"protocols": [
"cwmp",
"usp"
],
"default": "-1",
"datatype": "int",
"range": [
{
"min": -1
}
]
},
"MaxNumberOfParameterReferences": {
"type": "int",
"read": true,
"write": false,
"protocols": [
"cwmp",
"usp"
],
"default": "-1",
"datatype": "int",
"range": [
{
"min": -1
}
]
},
"ProfileNumberOfEntries": {
"type": "unsignedInt",
"read": true,
"write": false,
"protocols": [
"cwmp",
"usp"
],
"datatype": "unsignedInt",
"mapping": [
{
"type": "uci",
"uci": {
"file": "bulkdata",
"section": {
"type": "profile"
},
"option": {
"name": "@Count"
}
}
}
]
},
"Device.BulkData.Profile.{i}.": {
"type": "object",
"protocols": [
"cwmp",
"usp"
],
"access": true,
"array": true,
"mapping": [
{
"type": "uci",
"uci": {
"file": "bulkdata",
"section": {
"type": "profile"
},
"dmmapfile": "dmmap_bulkdata"
}
}
],
"Enable": {
"type": "boolean",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "boolean",
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "enable"
}
]
},
"Alias": {
"type": "string",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "Alias",
"range": [
{
"max": 64
}
],
"flags": [
"Unique"
],
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "alias"
}
]
},
"Name": {
"type": "string",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "string",
"range": [
{
"max": 255
}
],
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "name"
}
]
},
"NumberOfRetainedFailedReports": {
"type": "int",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "int",
"range": [
{
"min": -1
}
],
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "nbre_of_retained_failed_reports"
}
]
},
"Protocol": {
"type": "string",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "string",
"enumerations": [
"Streaming",
"File",
"HTTP"
],
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "protocol"
}
]
},
"EncodingType": {
"type": "string",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "string",
"enumerations": [
"XML",
"XDR",
"CSV",
"JSON"
],
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "encoding_type"
}
]
},
"ReportingInterval": {
"type": "unsignedInt",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "unsignedInt",
"range": [
{
"min": 1
}
],
"unit": "seconds",
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "reporting_interval"
}
]
},
"TimeReference": {
"type": "dateTime",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "dateTime",
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "time_reference"
}
]
},
"ParameterNumberOfEntries": {
"type": "unsignedInt",
"read": true,
"write": false,
"protocols": [
"cwmp",
"usp"
],
"datatype": "unsignedInt",
"mapping": [
{
"type": "uci",
"uci": {
"file": "bulkdata",
"section": {
"type": "profile_parameter"
},
"option": {
"name": "@Count"
}
}
}
]
},
"Device.BulkData.Profile.{i}.Parameter.{i}.": {
"type": "object",
"protocols": [
"cwmp",
"usp"
],
"access": true,
"array": true,
"mapping": [
{
"type": "uci",
"uci": {
"file": "bulkdata",
"section": {
"type": "profile_parameter"
},
"dmmapfile": "dmmap_bulkdata"
}
}
],
"Name": {
"type": "string",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "string",
"range": [
{
"max": 64
}
],
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "name"
}
]
},
"Reference": {
"type": "string",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "string",
"range": [
{
"max": 256
}
],
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "reference"
}
]
}
},
"Device.BulkData.Profile.{i}.CSVEncoding.": {
"type": "object",
"protocols": [
"cwmp",
"usp"
],
"access": false,
"array": false,
"FieldSeparator": {
"type": "string",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "string",
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "csv_encoding_field_separator"
}
]
},
"RowSeparator": {
"type": "string",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "string",
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "csv_encoding_row_separator"
}
]
},
"EscapeCharacter": {
"type": "string",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "string",
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "csv_encoding_escape_character"
}
]
},
"ReportFormat": {
"type": "string",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "string",
"enumerations": [
"ParameterPerRow",
"ParameterPerColumn"
],
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "csv_encoding_report_format"
}
]
},
"RowTimestamp": {
"type": "string",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "string",
"enumerations": [
"Unix-Epoch",
"ISO-8601",
"None"
],
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "csv_encoding_row_time_stamp"
}
]
}
},
"Device.BulkData.Profile.{i}.JSONEncoding.": {
"type": "object",
"protocols": [
"cwmp",
"usp"
],
"access": false,
"array": false,
"ReportFormat": {
"type": "string",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "string",
"enumerations": [
"ObjectHierarchy",
"NameValuePair"
],
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "json_encoding_report_format"
}
]
},
"ReportTimestamp": {
"type": "string",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "string",
"enumerations": [
"Unix-Epoch",
"ISO-8601",
"None"
],
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "json_encoding_report_time_stamp"
}
]
}
},
"Device.BulkData.Profile.{i}.HTTP.": {
"type": "object",
"protocols": [
"cwmp",
"usp"
],
"access": false,
"array": false,
"URL": {
"type": "string",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "URL",
"range": [
{
"max": 2048
}
],
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "http_url"
}
]
},
"Username": {
"type": "string",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "string",
"range": [
{
"max": 256
}
],
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "http_username"
}
]
},
"Password": {
"type": "string",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "string",
"range": [
{
"max": 256
}
],
"flags": [
"Secure"
],
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "http_password"
}
]
},
"CompressionsSupported": {
"type": "string",
"read": true,
"write": false,
"protocols": [
"cwmp",
"usp"
],
"default": "GZIP",
"list": {
"datatype": "string",
"enumerations": [
"GZIP",
"Compress",
"Deflate"
]
}
},
"Compression": {
"type": "string",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "string",
"enumerations": [
"GZIP",
"Compress",
"Deflate"
],
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "http_compression"
}
]
},
"MethodsSupported": {
"type": "string",
"read": true,
"write": false,
"protocols": [
"cwmp",
"usp"
],
"default": "POST,PUT",
"list": {
"datatype": "string",
"enumerations": [
"POST",
"PUT"
]
}
},
"Method": {
"type": "string",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "string",
"enumerations": [
"POST",
"PUT"
],
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "http_method"
}
]
},
"UseDateHeader": {
"type": "boolean",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "boolean",
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "http_use_date_header"
}
]
},
"RetryEnable": {
"type": "boolean",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "boolean",
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "http_retry_enable"
}
]
},
"RetryMinimumWaitInterval": {
"type": "unsignedInt",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "unsignedInt",
"range": [
{
"min": 1,
"max": 65535
}
],
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "http_retry_minimum_wait_interval"
}
]
},
"RetryIntervalMultiplier": {
"type": "unsignedInt",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "unsignedInt",
"range": [
{
"min": 1000,
"max": 65535
}
],
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "http_retry_interval_multiplier"
}
]
},
"RequestURIParameterNumberOfEntries": {
"type": "unsignedInt",
"read": true,
"write": false,
"protocols": [
"cwmp",
"usp"
],
"datatype": "unsignedInt",
"mapping": [
{
"type": "uci",
"uci": {
"file": "bulkdata",
"section": {
"type": "profile_http_request_uri_parameter"
},
"option": {
"name": "@Count"
}
}
}
]
},
"PersistAcrossReboot": {
"type": "boolean",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "boolean",
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "http_persist_across_reboot"
}
]
},
"Device.BulkData.Profile.{i}.HTTP.RequestURIParameter.{i}.": {
"type": "object",
"protocols": [
"cwmp",
"usp"
],
"access": true,
"array": true,
"mapping": [
{
"type": "uci",
"uci": {
"file": "bulkdata",
"section": {
"type": "profile_http_request_uri_parameter"
},
"dmmapfile": "dmmap_bulkdata"
}
}
],
"Name": {
"type": "string",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "string",
"range": [
{
"max": 64
}
],
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "name"
}
]
},
"Reference": {
"type": "string",
"read": true,
"write": true,
"protocols": [
"cwmp",
"usp"
],
"datatype": "string",
"range": [
{
"max": 256
}
],
"mapping": [
{
"data": "@Parent",
"type": "uci_sec",
"key": "reference"
}
]
}
}
}
}
}
}

View File

@@ -1,6 +1,6 @@
config bulkdata 'bulkdata'
option enable '0'
#Log levels: Error=1, Warning=2, Info=3, Debug=4
option log_level '3'
#Log levels: As per syslog 0-7, default 6=>LOG_INFO
option loglevel '3'

View File

@@ -6,35 +6,36 @@ STOP=10
USE_PROCD=1
PROG="/usr/sbin/bulkdatad"
validate_global_section() {
uci_validate_section bulkdata bulkdata bulkdata \
'enable:bool:1' \
'loglevel:uinteger:3'
}
start_service() {
local enable
local enable loglevel
config_load bulkdata
config_get_bool enable bulkdata enable 1
validate_global_section
if [ ! -f "/var/state/bulkdatad" ]; then
touch /var/state/bulkdatad
uci -q -c /var/state set bulkdatad.global='global'
uci -q -c /var/state commit bulkdatad
fi
if [ "$enable" -eq "1" ]; then
procd_open_instance "bulkdata"
procd_set_param command "$PROG"
procd_set_param respawn
procd_close_instance "bulkdata"
else
uci -q -c /var/state set bulkdatad.global.status='Disabled'
uci -q -c /var/state commit bulkdatad
fi
procd_open_instance "bulkdata"
procd_set_param command "$PROG"
procd_append_param command -l ${loglevel}
procd_set_param respawn
procd_close_instance "bulkdata"
}
reload_service() {
stop
start
ret=$(ubus call service list '{"name":"bulkdatad"}' | jsonfilter -qe '@.bulkdatad.instances.bulkdata.running')
if [ "$ret" != "true" ]; then
stop
start
else
ubus send bulkdata.reload
fi
return 0
}
service_triggers()
{
service_triggers() {
procd_add_reload_trigger bulkdata
}

View File

@@ -1,75 +0,0 @@
#!/bin/sh
. /lib/functions.sh
PROFILE_COUNT=1
get_next_count()
{
local config="$1"
local default_name="${2}"
local count=${3}
local found=0
if [ -z "$count" ]; then
count=1
fi
while [ "${found}" -ne 1 ]; do
uci -q get "${config}"."${default_name}"_${count} >/dev/null
if [ "$?" -eq 0 ]; then
count=$((count + 1))
else
found=1;
fi
done
echo "${default_name}_${count}"
}
translate_profile_id_to_profile_name() {
local section="${1}"
local profile_id="${2}"
local profile_name="${3}"
local curr_profile_id
config_get curr_profile_id "${section}" profile_id
[ -n "${curr_profile_id}" ] || return
[ "${curr_profile_id}" != "${profile_id}" ] && return
uci -q set bulkdata."${section}".profile_name="${profile_name}"
uci -q set bulkdata."${section}".profile_id=""
}
update_profile_sections() {
local section="${1}"
local default="${2}"
local profile_name
config_get profile_id "${section}" profile_id
[ -n "${profile_id}" ] || return
case "${section}" in
"cfg"*)
profile_name="$(get_next_count bulkdata "${default}" ${PROFILE_COUNT})"
uci_rename bulkdata "${section}" "${profile_name}"
;;
esac
PROFILE_COUNT=$((PROFILE_COUNT + 1))
[ -n "$profile_name" ] && section="${profile_name}"
uci -q set bulkdata."${section}".profile_id=""
config_foreach translate_profile_id_to_profile_name profile_parameter "${profile_id}" "${profile_name}"
config_foreach translate_profile_id_to_profile_name profile_http_request_uri_parameter "${profile_id}" "${profile_name}"
}
config_load bulkdata
config_foreach update_profile_sections profile profile
uci commit bulkdata
exit 0

52
cmph/Makefile Normal file
View File

@@ -0,0 +1,52 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=cmph
PKG_VERSION:=2.0.2
PKG_RELEASE:=1
PKG_SOURCE:=cmph-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/cmph/
PKG_MD5SUM:=51ec5329b47774d251a96eaaafdb409e
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
PKG_FIXUP:=autoreconf
PKG_LICENSE:=LGPLv2
PKG_LICENSE_FILES:=LGPL-2
include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
SECTION:=libs
CATEGORY:=Libraries
TITLE:=C Minimal Perfect Hashing library
URL:=https://sourceforge.net/projects/cmph/
endef
define Package/$(PKG_NAME)/description
C Minimal Perfect Hashing (CMPH) library allows the creation of minimal perfect hash functions for large data sets.
endef
define Build/Configure
$(call Build/Configure/Default)
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/cmph.h $(1)/usr/include/
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/cmph_time.h $(1)/usr/include/
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/cmph_types.h $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/src/.libs/libcmph.a $(1)/usr/lib/
$(CP) $(PKG_BUILD_DIR)/src/.libs/libcmph.so* $(1)/usr/lib/
endef
define Package/$(PKG_NAME)/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/src/.libs/libcmph.so* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,$(PKG_NAME)))

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ddnsmngr
PKG_VERSION:=1.0.7
PKG_VERSION:=1.0.10
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/network/ddnsmngr.git
PKG_SOURCE_VERSION:=4b0c679c4dc3e3725de5c0c55ed60f24b87c6edd
PKG_SOURCE_VERSION:=5144e73fad92d23ae706894a4357436c3fe89355
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
@@ -28,7 +28,8 @@ define Package/$(PKG_NAME)
CATEGORY:=Utilities
SUBMENU:=TRx69
TITLE:=Dynamic DNS manager
DEPENDS:=+libbbfdm-api +DDNSMNGR_BACKEND_DDNSSCRIPT:ddns-scripts +DDNSMNGR_BACKEND_INADYN:inadyn
DEPENDS:=+DDNSMNGR_BACKEND_DDNSSCRIPT:ddns-scripts +DDNSMNGR_BACKEND_INADYN:inadyn
DEPENDS+=+libbbfdm-api +libbbfdm-ubus +dm-service
MENU:=1
endef
@@ -70,6 +71,7 @@ ifeq ($(CONFIG_DDNSMNGR_BACKEND_INADYN),y)
$(INSTALL_DATA) $(PKG_BUILD_DIR)/files/inadyn/server/* $(1)/etc/ddnsmngr/servers
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/inadyn/usr/libexec/rpcd/ddnsmngr $(1)/usr/libexec/rpcd/ddnsmngr
endif
$(BBFDM_REGISTER_SERVICES) ./bbfdm_service.json $(1) $(PKG_NAME)
$(BBFDM_INSTALL_MS_DM) $(PKG_BUILD_DIR)/src/libddnsmngr.so $(1) $(PKG_NAME)
endef

View File

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

View File

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

View File

@@ -2,13 +2,13 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=dectmngr
PKG_RELEASE:=3
PKG_VERSION:=3.6.6
PKG_VERSION:=3.7.3
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/dectmngr.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=85c173d1fac535726b2e750be8c282b74fb7dbca
PKG_SOURCE_VERSION:=393dfd7637fdeccc24ef286c3daec9a232896b98
PKG_MIRROR_HASH:=skip
endif
@@ -28,7 +28,7 @@ include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
CATEGORY:=Utilities
TITLE:=DECT Manager
DEPENDS:= +libubox +ubus +uci +libxml2 +libjson-c +gpiod-tools
DEPENDS:= +libubox +ubus +uci +libxml2 +libjson-c +gpiod-tools +voicemngr
endef
define Package/$(PKG_NAME)/description

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=dhcpmngr
PKG_VERSION:=1.0.2
PKG_VERSION:=1.0.5
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/network/dhcpmngr.git
PKG_SOURCE_VERSION:=4c89a3f12686343e3cca23819255744ac06dfb22
PKG_SOURCE_VERSION:=2a517188211849bcc324a9f9727eeb34d076c032
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
@@ -28,7 +28,11 @@ define Package/dhcpmngr
SECTION:=net
CATEGORY:=Network
TITLE:=Package to add Device.DHCPv4 and v6 data model support.
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libbbfdm-api +dnsmasq
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c
DEPENDS+=+libbbfdm-api +libbbfdm-ubus +dm-service
DEPENDS+=+DNSMNGR_DNS_SD:umdns
DEPENDS+=+DNSMNGR_BACKEND_DNSMASQ:dnsmasq
DEPENDS+=+DNSMNGR_BACKEND_UNBOUND:odhcpd
endef
define Package/dhcpmngr/description
@@ -44,6 +48,11 @@ endif
define Package/dhcpmngr/install
$(INSTALL_DIR) $(1)/etc/udhcpc.user.d
$(INSTALL_BIN) ./files/etc/udhcpc.user.d/udhcpc_lease_start_time.user $(1)/etc/udhcpc.user.d/udhcpc_lease_start_time.user
ifeq ($(CONFIG_DNSMNGR_BACKEND_UNBOUND),y)
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_DATA) ./files/etc/uci-defaults/unbound.odhcpd.uci_default $(1)/etc/uci-defaults/16-set-unbound-as-odhcpd-leasetrigger
endif
$(BBFDM_REGISTER_SERVICES) ./bbfdm_service.json $(1) $(PKG_NAME)
$(BBFDM_INSTALL_MS_DM) $(PKG_BUILD_DIR)/src/libdhcpmngr.so $(1) $(PKG_NAME)
endef

View File

@@ -0,0 +1,20 @@
{
"daemon": {
"enable": "1",
"service_name": "dhcpmngr",
"unified_daemon": false,
"services": [
{
"parent_dm": "Device.",
"object": "DHCPv4"
},
{
"parent_dm": "Device.",
"object": "DHCPv6"
}
],
"config": {
"loglevel": "3"
}
}
}

View File

@@ -0,0 +1,18 @@
#!/bin/sh
# update odhcpd uci to use unbound's script as leasetrigger
uci -q get dhcp.odhcpd >/dev/null 2>&1 && {
maindhcp="$(uci -q get dhcp.odhcpd.maindhcp)"
# if odhcpd is the main dhcp
[ "$maindhcp" = "1" ] || [ "$maindhcp" = "true" ] || [ "$maindhcp" = "on" ] && {
# if unbound daemon and unbound script file is present
[ -e /usr/lib/unbound/odhcpd.sh ] && [ -e /usr/sbin/unbound ] && {
# then set unbound script as leasetrigger in dhcp UCI
uci -q set dhcp.odhcpd.leasetrigger='/usr/lib/unbound/odhcpd.sh'
uci commit dhcp
}
}
}
exit 0

30
dnsmngr/Config.in Normal file
View File

@@ -0,0 +1,30 @@
if PACKAGE_dnsmngr
menu "Configuration"
config DNSMNGR_DNS_SD
bool "Include Device.DNS.SD. TR-181 support"
default y
help
Set this option to include support for TR-181 DNS.SD. object.
choice
prompt "Select backend for DNS management"
default DNSMNGR_BACKEND_DNSMASQ
depends on PACKAGE_dnsmngr
help
Select which backend daemon to use for DNS
config DNSMNGR_BACKEND_DNSMASQ
bool "Use dnsmasq for dns and dhcp"
help
Enable this option to use dnsmasq + odhcpd for dns and dhcp.
config DNSMNGR_BACKEND_UNBOUND
bool "Use unbound with odhcpd-full for dns and dhcp"
help
Enable this option to use unbound + odhcpd for dns and dhcp.
endchoice
endmenu
endif

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=dnsmngr
PKG_VERSION:=1.0.7
PKG_VERSION:=1.0.14
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/network/dnsmngr.git
PKG_SOURCE_VERSION:=f6223f6034a57753ae9d1552ab1334194b1deaff
PKG_SOURCE_VERSION:=e64ec01b57d8b32e5230b34f6a3866250b1a8faf
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
@@ -27,23 +27,49 @@ MAKE_PATH:=src
define Package/dnsmngr
SECTION:=net
CATEGORY:=Network
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libbbfdm-api +dnsmasq +umdns
TITLE:=Package to add Device.DNS. datamodel support
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +odhcpd
DEPENDS+=+libbbfdm-api +libbbfdm-ubus +dm-service
DEPENDS+=+DNSMNGR_DNS_SD:umdns
DEPENDS+=+DNSMNGR_BACKEND_DNSMASQ:dnsmasq
DEPENDS+=+DNSMNGR_BACKEND_UNBOUND:unbound-daemon +DNSMNGR_BACKEND_UNBOUND:unbound-control
TITLE:=Package to configure DNS backend and TR-181 support
endef
define Package/dnsmngr/description
Package to add Device.DNS. datamodel support.
Package to configure DNS backend and TR-181 support.
endef
define Package/$(PKG_NAME)/config
source "$(SOURCE)/Config.in"
endef
ifeq ($(CONFIG_DNSMNGR_DNS_SD),y)
define Build/Compile
$(call Build/Compile/Default,all)
endef
else
define Build/Compile
$(call Build/Compile/Default,dns)
endef
endif
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
$(CP) -rf ~/git/dnsmngr/* $(PKG_BUILD_DIR)/
endef
endif
ifeq ($(CONFIG_DNSMNGR_BACKEND_DNSMASQ),y)
TARGET_CFLAGS += -DDNSMASQ_BACKEND
endif
define Package/dnsmngr/install
$(BBFDM_REGISTER_SERVICES) ./bbfdm_service.json $(1) $(PKG_NAME)
$(BBFDM_INSTALL_MS_DM) $(PKG_BUILD_DIR)/src/libdnsmngr.so $(1) $(PKG_NAME)
$(BBFDM_INSTALL_SCRIPT) -d $(PKG_BUILD_DIR)/scripts/nslookup $(1)
ifeq ($(CONFIG_DNSMNGR_DNS_SD),y)
$(BBFDM_INSTALL_MS_PLUGIN) $(PKG_BUILD_DIR)/src/libdns_sd.so $(1) $(PKG_NAME)
endif
endef
$(eval $(call BuildPackage,dnsmngr))

View File

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

View File

@@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=dslmngr
PKG_VERSION:=1.2.6
PKG_VERSION:=1.2.9
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/hal/dslmngr.git
PKG_SOURCE_VERSION:=2b1ecbd2079dbd88ed6d58b277b91dcf5038d869
PKG_SOURCE_VERSION:=5340cb31f759301f5aca3fd848fc3a63b0b4663f
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MAINTAINER:=Rahul Thakur <rahul.thakur@iopsys.eu>
PKG_MIRROR_HASH:=skip
@@ -40,7 +40,8 @@ define Package/dslmngr
SECTION:=utils
CATEGORY:=Utilities
TITLE:=XDSL status and configration utility
DEPENDS:=+libdsl +libuci +libubox +ubus +libpthread +libnl-genl +libeasy +libbbfdm-api
DEPENDS:=+libdsl +libuci +libubox +ubus +libpthread +libnl-genl +libeasy
DEPENDS+=+libbbfdm-api +libbbfdm-ubus +dm-service
endef
define Package/dslmngr/description
@@ -77,6 +78,7 @@ ifeq ($(CONFIG_TARGET_brcmbca),y)
endif
$(INSTALL_DIR) $(1)/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/dslmngr $(1)/sbin/
$(BBFDM_REGISTER_SERVICES) ./bbfdm_service.json $(1) $(PKG_NAME)
$(BBFDM_INSTALL_MS_DM) $(PKG_BUILD_DIR)/libbbfdsl.so $(1) $(PKG_NAME)
endef

View File

@@ -0,0 +1,28 @@
{
"daemon": {
"enable": "1",
"service_name": "dslmngr",
"unified_daemon": false,
"services": [
{
"parent_dm": "Device.",
"object": "DSL"
},
{
"parent_dm": "Device.",
"object": "FAST"
},
{
"parent_dm": "Device.",
"object": "ATM"
},
{
"parent_dm": "Device.",
"object": "PTM"
}
],
"config": {
"loglevel": "3"
}
}
}

View File

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

View File

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

View File

@@ -5,29 +5,30 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ethmngr
PKG_VERSION:=2.1.9
PKG_VERSION:=3.0.4
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/hal/ethmngr.git
PKG_SOURCE_VERSION:=2d35e86cc8dfd7ef4e0d8579f5d314e90faadc90
PKG_SOURCE_VERSION:=01e1c5f6642a8fa79fc445c71558ad02bda40eb5
PKG_MAINTAINER:=Rahul Thakur <rahul.thakur@iopsys.eu>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_MIRROR_HASH:=skip
endif
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
include ../bbfdm/bbfdm.mk
include $(TOPDIR)/feeds/iopsys/bbfdm/bbfdm.mk
define Package/ethmngr
SECTION:=utils
CATEGORY:=Utilities
TITLE:=Ethernet status and configration utility
DEPENDS:=+(TARGET_brcmbca||TARGET_airoha||TARGET_ipq95xx||TARGET_ipq53xx||TARGET_mediatek):libethernet +libuci +libubox +ubus +libpthread +libnl-genl +libeasy +libbbfdm-api
DEPENDS:=+libethernet +libuci +libubox +ubus +libpthread +libnl-genl +libeasy
DEPENDS+=+libbbfdm-api +libbbfdm-ubus +dm-service +libblobmsg-json +libjson-c +libc +libubus
endef
define Package/ethmngr/description
@@ -42,7 +43,7 @@ endef
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
$(CP) -rf ./ethmngr/* $(PKG_BUILD_DIR)/
$(CP) -rf ~/git/ethmngr/* $(PKG_BUILD_DIR)/
endef
endif
@@ -52,27 +53,19 @@ TARGET_CFLAGS += \
-D_GNU_SOURCE \
-DBBF_VENDOR_PREFIX=\\\"$(CONFIG_BBF_VENDOR_PREFIX)\\\"
ifeq ($(CONFIG_TR181_VENDOR_EXTENSIONS_MACVLAN),y)
TARGET_CFLAGS += -DTR181_VENDOR_EXTENSIONS_MACVLAN
ifeq ($(CONFIG_ETHMNGR_MACVLAN_EXTENSION),y)
TARGET_CFLAGS += -DETHMNGR_MACVLAN_EXTENSION
endif
ifeq ($(CONFIG_TARGET_brcmbca)$(CONFIG_TARGET_airoha)$(CONFIG_TARGET_ipq95xx)$(CONFIG_TARGET_ipq53xx)$(CONFIG_TARGET_mediatek),)
define Build/Compile
endef
ifeq ($(CONFIG_ETHMNGR_EXPOSE_ETHERNET_OBJECT),y)
TARGET_CFLAGS += -DETHMNGR_EXPOSE_ETHERNET_OBJECT
endif
define Package/ethmngr/install
$(CP) ./files/* $(1)/
$(INSTALL_DIR) $(1)/etc/ethmngr
$(INSTALL_DIR) $(1)/etc/ethmngr/plugins
ifneq ($(CONFIG_TARGET_brcmbca)$(CONFIG_TARGET_airoha)$(CONFIG_TARGET_ipq95xx)$(CONFIG_TARGET_ipq53xx)$(CONFIG_TARGET_mediatek),)
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ethmngr $(1)/usr/sbin/
endif
$(BBFDM_INSTALL_MS_DM) $(PKG_BUILD_DIR)/libbbfethernet.so $(1) $(PKG_NAME)
ifeq ($(CONFIG_TR181_VENDOR_EXTENSIONS_MACVLAN),y)
$(BBFDM_INSTALL_MS_PLUGIN) $(PKG_BUILD_DIR)/libbbfethernetmacvlan.so $(1) $(PKG_NAME)
endif
$(BBFDM_REGISTER_SERVICES) ./bbfdm_service.json $(1) $(PKG_NAME)
endef
$(eval $(call BuildPackage,ethmngr))

View File

@@ -0,0 +1,16 @@
{
"daemon": {
"enable": "1",
"service_name": "ethmngr",
"unified_daemon": true,
"services": [
{
"parent_dm": "Device.",
"object": "Ethernet"
}
],
"config": {
"loglevel": "3"
}
}
}

View File

@@ -1,28 +1,17 @@
#!/bin/sh /etc/rc.common
START=15
START=80
STOP=90
USE_PROCD=1
PROG=/usr/sbin/ethmngr
. /lib/functions.sh
include /lib/ethernet
start_service() {
if [ -f $PROG ]; then
procd_open_instance
procd_open_instance "ethmngr"
procd_set_param command ${PROG}
procd_append_param command -l 3
procd_set_param respawn
procd_close_instance
procd_close_instance "ethmngr"
fi
}
reload_service() {
stop
start
}
service_triggers() {
procd_add_reload_trigger network
}

View File

@@ -1,20 +0,0 @@
{
"ethport_update": {
"if" : [
{
"event": "network.device"
}
],
"then" : [
{
"cli": "/sbin/hotplug-call ethernet",
"envs": {
"PORT": "&network.device->ifname",
"LINK": "&network.device->link"
},
"timeout": 1
}
]
}
}

View File

@@ -1,2 +0,0 @@
uci -q set ruleng.ethport=rule
uci -q set ruleng.ethport.recipe='/etc/ruleng/ethport.json'

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=firewallmngr
PKG_VERSION:=1.0.5
PKG_VERSION:=1.0.9
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/network/firewallmngr.git
PKG_SOURCE_VERSION:=94246676dc2e2db29b94fcffec1be3cee3ec8e9f
PKG_SOURCE_VERSION:=77ad8425b73a3ac63f6160dc217635394ac87907
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
@@ -28,9 +28,10 @@ define Package/firewallmngr
SECTION:=net
CATEGORY:=Network
TITLE:=Package to add Device.Firewall and Device.NAT. data model support.
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libbbfdm-api +firewall
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +firewall
DEPENDS+=+FIREWALLMNGR_PORT_TRIGGER:kmod-ipt-trigger +FIREWALLMNGR_PORT_TRIGGER:kmod-ip6t-trigger
DEPENDS+=+FIREWALLMNGR_PORT_TRIGGER:iptables-mod-nfqueue
DEPENDS+=+libbbfdm-api +libbbfdm-ubus +dm-service
endef
define Package/firewallmngr/description
@@ -68,6 +69,7 @@ endif
$(INSTALL_BIN) ./files/firewall.service $(1)/etc/
$(INSTALL_DATA) ./files/etc/uci-defaults/97-firewall-service $(1)/etc/uci-defaults/
$(BBFDM_REGISTER_SERVICES) ./bbfdm_service.json $(1) $(PKG_NAME)
$(BBFDM_INSTALL_MS_DM) $(PKG_BUILD_DIR)/src/libfirewallmngr.so $(1) $(PKG_NAME)
endef

View File

@@ -0,0 +1,20 @@
{
"daemon": {
"enable": "1",
"service_name": "firewallmngr",
"unified_daemon": false,
"services": [
{
"parent_dm": "Device.",
"object": "Firewall"
},
{
"parent_dm": "Device.",
"object": "NAT"
}
],
"config": {
"loglevel": "3"
}
}
}

View File

@@ -6,14 +6,13 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=fluent-bit
PKG_VERSION:=3.1.0
PKG_RELEASE:=1
PKG_RELEASE:=$(AUTORELEASE)
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/fluent/fluent-bit.git
PKG_SOURCE_VERSION=v$(PKG_VERSION)
PKG_MIRROR_HASH:=9bedfabf859b88a2cfcf51cc17669b83a170e85427ce562131366cb1542b52ae
PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/fluent/fluent-bit/archive/v$(PKG_VERSION)
PKG_HASH:=7a49e110cf3050b6c29c911063494b8081f3c743274d1d95e52562d0476ba1eb
endif
PKG_LICENSE:=Apache-2.0

View File

@@ -0,0 +1,45 @@
diff --git a/plugins/out_file/file.c b/plugins/out_file/file.c
index 2e47c9666..95d28e438 100644
--- a/plugins/out_file/file.c
+++ b/plugins/out_file/file.c
@@ -27,6 +27,7 @@
#include <msgpack.h>
#include <stdio.h>
+#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
@@ -55,6 +56,7 @@ struct flb_file_conf {
int csv_column_names;
int mkdir;
struct flb_output_instance *ins;
+ char hostname[256];
};
static char *check_delimiter(const char *str)
@@ -141,6 +143,9 @@ static int cb_file_init(struct flb_output_instance *ins,
}
}
+ if (gethostname(ctx->hostname, sizeof(ctx->hostname)) != 0)
+ snprintf(ctx->hostname, sizeof(ctx->hostname), "%s", "localhost");
+
tmp = flb_output_get_property("delimiter", ins);
ret_str = check_delimiter(tmp);
if (ret_str != NULL) {
@@ -233,12 +238,8 @@ static int template_output_write(struct flb_file_conf *ctx,
int i;
msgpack_object_kv *kv;
- /*
- * Right now we treat "{time}" specially and fill the placeholder
- * with the metadata timestamp (formatted as float).
- */
- if (!strncmp(key, "time", size)) {
- fprintf(fp, "%f", flb_time_to_double(tm));
+ if (!strncmp(key, "hostname", size)) {
+ fprintf(fp, "%s", ctx->hostname);
return 0;
}

View File

@@ -10,6 +10,15 @@ config HOSTMNGR_PLATFORM_HAS_WIFI
bool "Platform has WiFi"
default y if PACKAGE_libwifi
config HOSTMNGR_DATAMODEL_EXT
bool "Keep vendor specific datamodel parameters"
default n
config HOSTMNGR_VENDOR_PREFIX
depends on HOSTMNGR_DATAMODEL_EXT
string "Vendor Prefix for hostmngr datamodel extension"
default ""
endmenu
endif

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=hostmngr
PKG_VERSION:=1.2.6
PKG_VERSION:=1.2.14
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=aa365710b227ba82b1c43f9cdf497261edb21852
PKG_SOURCE_VERSION:=6ea9fdb38a8e067b850841d6e7f7266bf76c363a
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/hostmngr.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_MIRROR_HASH:=skip
@@ -24,6 +24,7 @@ PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
include $(TOPDIR)/feeds/iopsys/bbfdm/bbfdm.mk
define Package/hostmngr
SECTION:=utils
CATEGORY:=Utilities
@@ -31,9 +32,8 @@ define Package/hostmngr
DEPENDS= +libubox +libuci +libubus +ubus +libeasy +libnl-genl \
+libjson-c +libblobmsg-json +libnfnetlink +libmnl \
+libnetfilter-conntrack \
+HOSTMNGR_PLATFORM_HAS_WIFI:libwifi +libbbfdm-api \
+libwifiutils
+HOSTMNGR_PLATFORM_HAS_WIFI:libwifi +libwifiutils
DEPENDS+= +libbbfdm-api +libbbfdm-ubus +dm-service
endef
define Package/hostmngr/config
@@ -55,6 +55,15 @@ ifeq ($(CONFIG_HOSTMNGR_PLATFORM_HAS_WIFI),y)
TARGET_CFLAGS += -DHAS_WIFI
endif
ifeq ($(CONFIG_HOSTMNGR_DATAMODEL_EXT),y)
TARGET_CFLAGS += -DHAS_VENDOR_EXT
ifeq ($(CONFIG_HOSTMNGR_VENDOR_PREFIX),"")
TARGET_CFLAGS += -DCUSTOM_PREFIX=\\\"$(CONFIG_BBF_VENDOR_PREFIX)\\\"
else
TARGET_CFLAGS += -DCUSTOM_PREFIX=\\\"$(CONFIG_HOSTMNGR_VENDOR_PREFIX)\\\"
endif
endif
MAKE_PATH:=src
define Package/hostmngr/install
@@ -63,7 +72,14 @@ define Package/hostmngr/install
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/hostmngr $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/usr/share/hostmngr
$(INSTALL_DATA) ./files/scripts/hosts_acl.sh $(1)/usr/share/hostmngr/
$(BBFDM_REGISTER_SERVICES) ./bbfdm_service.json $(1) $(PKG_NAME)
$(BBFDM_INSTALL_MS_DM) $(PKG_BUILD_DIR)/src/bbf_plugin/libhostmngr.so $(1) $(PKG_NAME)
ifeq ($(CONFIG_HOSTMNGR_DATAMODEL_EXT),y)
$(BBFDM_INSTALL_MS_PLUGIN) $(PKG_BUILD_DIR)/src/bbf_plugin/libhostext.so $(1) $(PKG_NAME)
endif
endef
ifeq ($(LOCAL_DEV),1)

View File

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

View File

@@ -114,16 +114,16 @@ ip_rule_east_zone() {
add_access_rule() {
local rule="$1"
echo "iptables -w -A hosts_forward ${rule}" >> $ACL_FILE
echo "ip6tables -w -A hosts_forward ${rule}" >> $ACL_FILE
echo "iptables -w -A hosts_forward ${rule}" >> "$ACL_FILE"
echo "ip6tables -w -A hosts_forward ${rule}" >> "$ACL_FILE"
}
handle_day_list() {
local value=$1
val=$(echo $value | cut -c 1-3)
next_day_val=$(get_next_day $val)
prev_day_val=$(get_previous_day $val)
val=$(echo "$value" | cut -c 1-3)
next_day_val=$(get_next_day "$val")
prev_day_val=$(get_previous_day "$val")
if [ -z $day ]; then
day="$val"
next_days="$next_day_val"
@@ -137,8 +137,6 @@ handle_day_list() {
handle_schedule() {
local schd_section="$1"
local ac_section="$2"
local acs_id
local start_time
local duration
@@ -148,11 +146,7 @@ handle_schedule() {
next_days=""
prev_days=""
config_get acs_id "$schd_section" "dm_parent"
if [ "$acs_id" != "$ac_section" ]; then
return # schedule not for this access control section
fi
config_load schedules
local is_enabled
config_get is_enabled "$schd_section" "enable" 0
@@ -166,7 +160,7 @@ handle_schedule() {
IFS=" "
for d in $day_config; do
handle_day_list $d
handle_day_list "$d"
done
config_get start_time "$schd_section" "start_time" "00:00"
@@ -174,8 +168,8 @@ handle_schedule() {
zone=$(date +%z | cut -c 1)
local_start_time=$start_time
hh=$(echo $local_start_time | awk -F: '{ print $1 }')
mm=$(echo $local_start_time | awk -F: '{ print $2 }')
hh=$(echo "$local_start_time" | awk -F: '{ print $1 }')
mm=$(echo "$local_start_time" | awk -F: '{ print $2 }')
hh_s=`expr $hh \* 3600`
mm_s=`expr $mm \* 60`
ss=$(( hh_s + mm_s ))
@@ -197,12 +191,12 @@ handle_schedule() {
utc_start_time=$(date -u -d @$(date "+%s" -d "$local_start_time") +%H:%M)
utc_stop_time=$(date -u -d @$(date "+%s" -d "$local_stop_time") +%H:%M)
utc_start_hh=$(echo $utc_start_time | awk -F: '{ print $1 }')
utc_stop_hh=$(echo $utc_stop_time | awk -F: '{ print $1 }')
utc_start_hh=$(echo "$utc_start_time" | awk -F: '{ print $1 }')
utc_stop_hh=$(echo "$utc_stop_time" | awk -F: '{ print $1 }')
if [ "$zone" == "-" ]; then
ip_rule_west_zone $utc_start_hh $utc_stop_hh $local_start_hh $local_stop_hh $utc_start_time $utc_stop_time
ip_rule_west_zone "$utc_start_hh" "$utc_stop_hh" "$local_start_hh" "$local_stop_hh" "$utc_start_time" "$utc_stop_time"
else
ip_rule_east_zone $utc_start_hh $utc_stop_hh $local_start_hh $local_stop_hh $utc_start_time $utc_stop_time
ip_rule_east_zone "$utc_start_hh" "$utc_stop_hh" "$local_start_hh" "$local_stop_hh" "$utc_start_time" "$utc_stop_time"
fi
IP_RULE="$IP_RULE -j ACCEPT"
@@ -258,7 +252,7 @@ handle_access_control() {
schedule_added="0"
# check if schedule is defined for this access_control instance
# and if yes, create rule accordingly
config_foreach handle_schedule ac_schedule "$ac_section"
config_list_foreach "$ac_section" access_control_schedule handle_schedule
# for access rule to work, need to have default drop rule as last rule
if [ "$schedule_added" == "1" ]; then

View File

@@ -3,4 +3,8 @@ menu "Configuration"
config ICWMP_MGMT_FROM_USP
bool "Support configuration of ManagementServer from USP"
default y
config ICWMP_BACKUP_EVENTS
bool "Create backup of session events to persistent storage after each successful session"
default y
endmenu

View File

@@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=icwmp
PKG_VERSION:=9.8.6
PKG_VERSION:=9.8.27
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/icwmp.git
PKG_SOURCE_VERSION:=798dfcf2a206b2603d64e92a9ce8cc69dd481ced
PKG_SOURCE_VERSION:=868abeb86c2974b3647c7f66e085808c0f296721
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
@@ -31,7 +31,8 @@ define Package/icwmp
CATEGORY:=Utilities
SUBMENU:=TRx69
TITLE:=TR069 CWMP client
DEPENDS:=+libuci +libubox +libblobmsg-json +libubus +libjson-c +libcurl +mxml +libuuid +libbbfdm-api +libopenssl
DEPENDS:=+libuci +libubox +libblobmsg-json +libubus +libjson-c +libcurl +mxml +libuuid +libopenssl
DEPENDS+=+libbbfdm-api +libbbfdm-ubus +dm-service +sysmngr
MENU:=1
endef
@@ -47,6 +48,10 @@ ifeq ($(CONFIG_ICWMP_MGMT_FROM_USP),y)
EXTRA_CFLAGS += -DCWMP_DUAL_SUPPORT=BBFDM_BOTH
endif
ifeq ($(CONFIG_ICWMP_BACKUP_EVENTS),y)
EXTRA_CFLAGS += -DPERSIST_BACKUP_SESSION_EVENTS
endif
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
$(CP) -rf ~/git/icwmp/* $(PKG_BUILD_DIR)/
@@ -63,14 +68,16 @@ define Package/icwmp/install
$(INSTALL_DIR) $(1)/etc/udhcpc.user.d
$(INSTALL_BIN) $(PKG_BUILD_DIR)/icwmpd $(1)/usr/sbin/icwmpd
$(INSTALL_DATA) ./files/etc/config/cwmp $(1)/etc/config/cwmp
$(INSTALL_BIN) ./files/etc/firewall.cwmp $(1)/etc/firewall.cwmp
$(INSTALL_BIN) ./files/etc/init.d/icwmpd $(1)/etc/init.d/icwmpd
$(INSTALL_BIN) ./files/etc/uci-defaults/85-cwmp-set-userid $(1)/etc/uci-defaults/
$(INSTALL_BIN) ./files/etc/uci-defaults/90-cwmpfirewall $(1)/etc/uci-defaults/
$(INSTALL_BIN) ./files/etc/uci-defaults/95-set-random-inform-time $(1)/etc/uci-defaults/
$(INSTALL_BIN) ./files/etc/icwmpd/vendor_log.sh $(1)/etc/icwmpd/vendor_log.sh
$(INSTALL_BIN) ./files/etc/icwmpd/firewall.cwmp $(1)/etc/icwmpd/firewall.cwmp
$(INSTALL_DATA) ./files/lib/upgrade/keep.d/icwmp $(1)/lib/upgrade/keep.d/icwmp
$(INSTALL_BIN) ./files/etc/udhcpc.user.d/udhcpc_icwmp_opt125.user $(1)/etc/udhcpc.user.d/udhcpc_icwmp_opt125.user
$(INSTALL_BIN) ./files/etc/udhcpc.user.d/udhcpc_icwmp_opt43.user $(1)/etc/udhcpc.user.d/udhcpc_icwmp_opt43.user
$(BBFDM_REGISTER_SERVICES) ./bbfdm_service.json $(1) $(PKG_NAME)
$(BBFDM_INSTALL_MS_DM) $(PKG_BUILD_DIR)/libcwmpdm.so $(1) $(PKG_NAME)
$(BBFDM_INSTALL_MS_PLUGIN) ./files/etc/bbfdm/json/CWMPManagementServer.json $(1) $(PKG_NAME)
endef

25
icwmp/bbfdm_service.json Normal file
View File

@@ -0,0 +1,25 @@
{
"daemon": {
"enable": "1",
"service_name": "icwmp",
"unified_daemon": false,
"services": [
{
"parent_dm": "Device.",
"object": "ManagementServer"
},
{
"parent_dm": "Device.",
"object": "CWMPManagementServer",
"proto": "usp"
},
{
"parent_dm": "Device.",
"object": "XMPP"
}
],
"config": {
"loglevel": "3"
}
}
}

View File

@@ -0,0 +1,29 @@
#!/bin/sh
# This script handles '2 Vendor Log File' of Download RPC
# Vendors can replace this file if they need to collect more logs
VENDOR_LOG_FILE="/tmp/icwmp/2_vendor_log"
ret=""
if [ -n "$(which logread)" ]; then
mkdir -p /tmp/icwmp
logread > "${VENDOR_LOG_FILE}"
arch_file="${VENDOR_LOG_FILE}.tar"
if [ -f "${arch_file}" ]; then
rm -f ${arch_file}
fi
if [ -f "${VENDOR_LOG_FILE}" ]; then
tar -cf "${arch_file}" "${VENDOR_LOG_FILE}" 2> /dev/null
if [ -f "${arch_file}" ]; then
ret="${arch_file}"
fi
rm -rf "${VENDOR_LOG_FILE}"
fi
fi
echo "${ret}"

View File

@@ -3,7 +3,7 @@
uci -q batch <<-EOT
delete firewall.cwmp
set firewall.cwmp=include
set firewall.cwmp.path=/etc/firewall.cwmp
set firewall.cwmp.path=/etc/icwmpd/firewall.cwmp
set firewall.cwmp.reload=1
commit firewall
EOT

View File

@@ -21,6 +21,10 @@ config IEEE1905_WIFI_EASYMESH
config IEEE1905_CMDU_FRAGMENT_TLV_BOUNDARY
bool "Fragment large CMDU frame at TLV boundary instead of octet boundary"
config IEEE1905_BUILD_TR181_PLUGIN
bool "Build TR-181 mapping module (responsible for Device.IEEE1905.)"
default y
endmenu
endif

View File

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

View File

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

View File

@@ -1,7 +0,0 @@
config TARGET_VERSION
string
prompt "Software Version"
config TARGET_CUSTOMER
string
prompt "Customer ID"

View File

@@ -24,10 +24,6 @@ define Package/iop/description
This package contains iopsysWrt SDK utilities
endef
define Package/iop/config
source "$(SOURCE)/Config.in"
endef
define Build/Compile
true
endef

View File

@@ -36,7 +36,7 @@ _iop()
feeds_update genconfig \
generate_tarballs install_key \
scp_changes setup_host ssh_install_key status \
update_feed_branches ssh_upgrade smoketest"
ssh_upgrade smoketest"
if [ $COMP_CWORD -eq 1 ] ; then

View File

@@ -1,72 +0,0 @@
#!/bin/bash
function disable_add_config () {
local COPTION="$1"
HAVE_OPTION=`grep $COPTION .config | wc -l`
HAVE_OPTION_DISABLED=`grep "# $COPTION" .config | wc -l`
if [ "$HAVE_OPTION" = "1" ]
then
if [ "$HAVE_OPTION_DISABLED" = "0" ]
then
sed -i -e "s,$COPTION=y,# $COPTION is not set,g" .config
fi
else
echo "# $COPTION is not set" >> .config
fi
}
function enable_option () {
local COPTION="$1"
# cat .config| grep DSL
sed -i -e "s,# $COPTION is not set,$COPTION=y,g" .config
# cat .config| grep DSL
}
function annexconfig {
v() {
[ "$VERBOSE" -ge 1 ] && echo "$@"
}
local ANNEX="$1"
disable_add_config CONFIG_TARGET_NO_DSL
disable_add_config CONFIG_TARGET_DSL_ANNEX_A
disable_add_config CONFIG_TARGET_DSL_ANNEX_B
disable_add_config CONFIG_TARGET_DSL_ANNEX_C
disable_add_config CONFIG_TARGET_DSL_SADSL
disable_add_config CONFIG_TARGET_DSL_GFAST
if [ "$ANNEX" = "no" ]
then
echo "No DSL"
enable_option CONFIG_TARGET_NO_DSL
elif [ "$ANNEX" = "a" ]
then
echo "Annex A"
enable_option CONFIG_TARGET_DSL_ANNEX_A
elif [ "$ANNEX" = "b" ]
then
echo "Annex B"
enable_option CONFIG_TARGET_DSL_ANNEX_B
elif [ "$ANNEX" = "c" ]
then
echo "Annex C"
enable_option CONFIG_TARGET_DSL_ANNEX_C
elif [ "$ANNEX" = "sadsl" ]
then
echo "sadsl"
enable_option CONFIG_TARGET_DSL_SADSL
elif [ "$ANNEX" = "gfast" ]
then
echo "G.fast"
enable_option CONFIG_TARGET_DSL_GFAST
else
echo "Only option no,a,b,c,sadsl,gfast supported"
fi
}
register_command "annexconfig" "Select configuration annex"

View File

@@ -1,42 +0,0 @@
# this is a developer helper script to install firmware on a remote host running in CFE mode
function usage {
echo "usage: $0 cfe_upgrade <host> <file>"
}
function cfe_upgrade {
if [ -z "$1" ] ; then
usage
echo "Error: host required"
exit 1
fi
if [ -z "$2" ] ; then
usage
echo "Error: firmware filename required"
exit 1
fi
if [ ! -e $2 ] ; then
usage
echo "Error: firmware file does not exist"
exit 1
fi
IMAGE=`basename $2`
echo "CFE upgrade host: $1 with file $IMAGE"
[ "$2" ] && [ -e "$2" ] && curl -i -F filedata=@$2 http://$1/upload.cgi && echo "upgrade done!"
}
register_command "cfe_upgrade" "<host> <file> Install firmware on remote host in CFE mode"
function cfe_upgrade_latest {
if [ -z "$1" ] ; then
echo "usage: $0 cfe_upgrade_latest <host>"
echo "Error: host required"
exit 1
fi
{ cd `dirname $0`
IMAGE=`ls -Art bin/*/*.w | tail -n1`
[ "$IMAGE" ] && [ -e "$IMAGE" ] && ./iop cfe_upgrade $1 $IMAGE
}
}
register_command "cfe_upgrade_latest" "<host> Install latest firmware on remote host in CFE mode"

View File

@@ -1,9 +0,0 @@
#!/bin/bash
function feeds_update {
# always return true
exit 0
}
register_command "feeds_update" "Compatibility function only"

View File

@@ -1,29 +0,0 @@
#!/bin/bash
# Function to convert parameters to lowercase
function to_lowercase {
local params=()
for param in "$@"; do
params+=("$(tr '[:upper:]' '[:lower:]' <<< "$param")")
done
echo "${params[@]}"
}
function genconfig {
target_script="./scripts/gen_config.py"
# First convert all to lowercase
args=$(to_lowercase "$@")
# Check if an option is provided
if [[ ${args[0]} == -* ]]; then
# Convert options for target script
if [[ ${args[0]} == "-b" || ${args[0]} == "--boards" ]]; then
args=("--list")
fi
fi
${target_script} ${args[@]}
}
register_command "genconfig" "Generate configuration for board and customer"

View File

@@ -1,283 +0,0 @@
# this is a developer helper script to install firmware on a remote host with SSH
function upd_usage {
echo "usage: $0 ssh_upgrade [-t <host>] [-f <file>] [opts] "
echo ""
echo " Default host is 192.168.1.1"
echo " Default firmware file is the latest one (last.{itb,pkgtb})"
echo " Default is to not keep configuration"
echo "opts:"
echo ""
echo " -i Interactive use, allows to select firmware file"
echo " -n Do not do the final reboot of the target board"
echo " -c Keep configuration"
echo " -x Force install even if firmware is not for this board"
echo " -b Force install of bootloader regardless of version installed"
}
function set_config_string {
eval $(grep $1 .config)
}
function upd_ask_ok {
echo "Will continue with the following settings:"
echo "-----------------------------------------"
printf "%20s: %s\n" "Firmware file" "$upd_fw_base"
printf "%20s: %s\n" "Host IP" "$upd_host"
printf "%20s: " "Reboot"
if [ "$upd_noreboot" == "0" ]; then printf "Yes\n"; else printf "No\n"; fi
printf "%20s: " "Keep config"
if [ "$upd_keepconf" == "1" ]; then printf "Yes\n"; else printf "No\n"; fi
printf "%20s: " "Force bootloader"
if [ "$upd_forceboot" == "1" ]; then printf "Yes\n"; else printf "No\n"; fi
printf "%20s: " "Force image upgrade"
if [ "$upd_forceimage" == "1" ]; then printf "Yes\n"; else printf "No\n"; fi
echo "-----------------------------------------"
echo -n "Continue? [Y/n/q]:"
read answer
case $answer in
n | N)
return 1
;;
q | Q)
exit 1
;;
y | Y | *)
return 0
;;
esac
}
function upd_select_file {
dialog --keep-tite --title "To select a file, use TAB/ARROW to highlight then press SPACEBAR -> RETURN" \
--fselect "${upd_fw:-bin/targets/$CONFIG_TARGET_BOARD/$CONFIG_TARGET_SUBTARGET/}" \
$((lines - 10)) $((cols - 5)) \
2>$tempfile
new_file=$(cat $tempfile)
if [ -n "$new_file" ]; then
upd_fw="$new_file"
upd_fw_base=$(basename $upd_fw)
fi
}
function upd_select_target {
dialog --keep-tite --title "Input the hostname/IP of the target board" \
--inputbox "Name/IP" \
$((lines - 10)) $((cols - 5)) \
"$upd_host" \
2>$tempfile
new_file=$(cat $tempfile)
if [ -n "$new_file" ]; then
upd_host="$new_file"
fi
}
function upd_select_reboot {
dialog --keep-tite --radiolist "Should the board reboot after download finished" \
$((lines - 5)) $((cols - 5)) $((lines - 5 - 5)) \
"Reboot" "Restart board after done" $(if [ "$upd_noreboot" == "0" ]; then echo "ON"; else echo "OFF"; fi) \
"No reboot" "Continue running old system" $(if [ "$upd_noreboot" == "1" ]; then echo "ON"; else echo "OFF"; fi) \
2>$tempfile
res=$(cat $tempfile)
case $res in
"No reboot")
upd_noreboot=1
;;
"Reboot")
upd_noreboot=0
;;
esac
}
function upd_select_config {
dialog --keep-tite --radiolist "Should the configuration be kept" \
$((lines - 5)) $((cols - 5)) $((lines - 5 - 5)) \
"Keep" "Keep the config from old system" $(if [ "$upd_keepconf" == "1" ]; then echo "ON"; else echo "OFF"; fi) \
"Default" "Use default config for new system" $(if [ "$upd_keepconf" == "0" ]; then echo "ON"; else echo "OFF"; fi) \
2>$tempfile
res=$(cat $tempfile)
case $res in
"Keep")
upd_keepconf=1
;;
"Default")
upd_keepconf=0
;;
esac
}
function upd_select_forceboot {
dialog --keep-tite --radiolist "Should the boot loader be updated regardless of the version installed" \
$((lines - 5)) $((cols - 5)) $((lines - 5 - 5)) \
"Force" "Always update boot loader" $(if [ "$upd_forceboot" == "1" ]; then echo "ON"; else echo "OFF"; fi) \
"Version check" "Only upgrade if version is newer" $(if [ "$upd_forceboot" == "0" ]; then echo "ON"; else echo "OFF"; fi) \
2>$tempfile
res=$(cat $tempfile)
case $res in
"Force")
upd_forceboot=1
;;
"Version check")
upd_forceboot=0
;;
esac
}
function upd_select_forceimage {
dialog --keep-tite --radiolist "Should the image be stored in flash even if sanity checks would reject it" \
$((lines - 5)) $((cols - 5)) $((lines - 5 - 5)) \
"Force" "Disable sanity check and force use of image (dangerous)" $(if [ "$upd_forceimage" == "1" ]; then echo "ON"; else echo "OFF"; fi) \
"Only compatible" "Normal checks apply" $(if [ "$upd_forceimage" == "0" ]; then echo "ON"; else echo "OFF"; fi) \
2>$tempfile
res=$(cat $tempfile)
case $res in
"Force")
upd_forceimage=1
;;
"Only compatible")
upd_forceimage=0
;;
esac
}
function upd_select {
dialog --keep-tite --ok-label "Select" --cancel-label "Done" --menu "Select item to change" \
$((lines - 5)) $((cols - 5)) $((lines - 5 - 5)) \
"Firmware file" "$upd_fw_base" \
"Host IP" "$upd_host" \
"Reboot" $(if [ "$upd_noreboot" == "0" ]; then printf "Yes\n"; else printf "No\n"; fi) \
"Keep config" $(if [ "$upd_keepconf" == "1" ]; then printf "Yes\n"; else printf "No\n"; fi) \
"Force bootloader" $(if [ "$upd_forceboot" == "1" ]; then printf "Yes\n"; else printf "No\n"; fi) \
"Force image upgrade" $(if [ "$upd_forceimage" == "1" ]; then printf "Yes\n"; else printf "No\n"; fi) \
2>$tempfile
case $(cat $tempfile) in
"Firmware file")
upd_select_file
;;
"Host IP")
upd_select_target
;;
"Reboot")
upd_select_reboot
;;
"Keep config")
upd_select_config
;;
"Force bootloader")
upd_select_forceboot
;;
"Force image upgrade")
upd_select_forceimage
;;
*)
return
;;
esac
upd_select
}
function upd_select_start {
lines=$(tput lines)
cols=$(tput cols)
tempfile="$(mktemp)"
trap "rm -f $tempfile" 0 1 2 5 15
upd_select
}
function ssh_upgrade {
upd_noreboot=0
upd_forceboot=0
upd_keepconf=0
upd_forceimage=0
upd_fw_base=""
upd_fw=""
upd_host="192.168.1.1"
do_dialog=0
while getopts "f:hnxt:icb" opt; do
case $opt in
n)
upd_noreboot=1
;;
x)
upd_forceimage=1
;;
b)
upd_forceboot=1
;;
c)
upd_keepconf=1
;;
v)
verbose=$OPTARG
;;
f)
upd_fw=$OPTARG
;;
t)
upd_host=$OPTARG
;;
i)
do_dialog=1
;;
h)
upd_usage
exit 1
;;
\?)
echo "Invalid option: -$OPTARG" >&2
exit 1
;;
esac
done
if [ -z "$upd_fw" ]; then
set_config_string CONFIG_TARGET_BOARD
set_config_string CONFIG_TARGET_SUBTARGET
upd_fw="$(realpath -q --canonicalize-existing --relative-to=. "bin/targets/$CONFIG_TARGET_BOARD/$CONFIG_TARGET_SUBTARGET/"last.{pkgtb,itb})"
if [ -z "$upd_fw" ] && [ $do_dialog -eq 0 ]; then
echo "Could not find image. Check that last.{itb,pkgtb} exists or specify an image using -f <image> or -i (interactive)." >&2
return 1
fi
fi
upd_fw_base="$(basename "$upd_fw")"
[ $do_dialog -eq 1 ] && upd_select_start
if ! upd_ask_ok; then
upd_select_start
if ! upd_ask_ok; then
exit 1
fi
fi
if [ ! -f $upd_fw ]; then
echo "Firmware file $firmware does not exist."
exit 1
fi
extra_args=""
[ $upd_noreboot -eq 1 ] && extra_args="$extra_args --no-reboot"
[ $upd_forceimage -eq 1 ] && extra_args="$extra_args --force"
[ $upd_keepconf -eq 0 ] && extra_args="$extra_args -n"
[ $upd_forceboot -eq 1 ] && extra_args="$extra_args --force-loader-upgrade"
pv "$upd_fw" |
ssh \
-o ConnectTimeout=60 \
-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \
root@"$upd_host" \
sh -c "cat > '/tmp/$upd_fw_base' && (set -x && sysupgrade -v $extra_args /tmp/$upd_fw_base)" ||
echo "Sysupgrade failed" >&2 && return 1
}
register_command "ssh_upgrade" "-t <host> -f <file> [opts] Install firmware on remote host with SSH"

View File

@@ -1,35 +0,0 @@
#!/bin/sh
function license_report {
LICDIR="/tmp/licenses-generator/"
LICBIN="${LICDIR}/bin"
dpkg -s python3 python3-requests python3-yaml python3-mako python3-six &> /dev/null
if [ $? -ne 0 ]
then
echo "Missing dependencies"
sudo apt-get update
sudo apt-get install python3 python3-requests python3-yaml python3-mako python3-six
else
echo "Dependecy check passed"
fi
if [ -d "$LICDIR" ]; then
### Take action if $DIR exists ###
echo "Creating json licences file and html formated report"
else
### Control will jump here if $DIR does NOT exists ###
echo "Error: licenses-generator not found. getting from iopsys repo"
git clone git@dev.iopsys.eu:iopsys/licenses-generator.git $LICDIR
fi
LICGET=`${LICBIN}/licenses-generator gen-License bin/`
echo $LICGET
${LICBIN}/licenses-generator gen-licrprt $LICGET
exit 0
}
register_command "license_report" "Generate a Licence report on latest build in json format and html under reports"

View File

@@ -1,89 +0,0 @@
# Shorthand command for doing a HIL runtime smoketest on the
# latest built image. Does the image boot up correctly?
# More info here:
# https://dev.iopsys.eu/iopsys/iopsys-taas
#--------------------------------------------------------------
function taas-init() {
local f
# Path to TaaS binarys. Try some likely ones.
if ! which taas-smoketest >/dev/null; then
PATH="${PATH}:${PWD}/../iopsys-taas/bin"
PATH="${PATH}:${PWD}/../taas/bin"
PATH="${PATH}:${HOME}/iopsys-taas/bin"
PATH="${PATH}:${HOME}/taas/bin"
PATH="${PATH}:${HOME}/bin"
PATH="${PATH}:/opt/iopsys-taas/bin"
PATH="${PATH}:/opt/taas/bin"
fi
if ! which taas-smoketest >/dev/null; then
echo "Error; TaaS is missing! Install it with:"
echo "git clone git@dev.iopsys.eu:iopsys/iopsys-taas.git ../iopsys-taas"
exit 1
fi
# Create a list of all images which might be of use.
for f in ${PWD}/bin/targets/iopsys-*/generic/last.*; do
[[ -s "$f" ]] && images+=("$f")
done
# Convert Iopsys target name to the TaaS product name format
# according to what is available in the remote lab for HIL.
# Also find a suitable image.
product=$(grep CONFIG_TARGET_PROFILE .config | \
tr -s "=\"" " " | cut -d " " -f 2) || exit
case "$product" in
smarthub3)
export product="SmartHub3a"
;;
dg400prime|eg400|ex600)
export product=$(echo -n "$product" | tr [[:lower:]] [[:upper:]])
;;
*)
echo "Unsupported target; skipping!"
exit 0
;;
esac
if [[ ${#images[@]} -eq 0 ]]; then
echo "No image found"
exit 1
fi
}
#--------------------------------------------------------------
function taas-smoketest {
declare -a images
taas-init || return
echo "Testing a $product with ${images[@]}..."
command taas-smoketest "${images[@]}" "$product" "$@"
}
#--------------------------------------------------------------
function taas-bootstrap {
declare -a images
if [[ -n "$1" ]]; then
taas-init || return
echo "Flashing $1..."
command taas-bootstrap "${images[@]}" "$@"
else
echo "Usage: ./iop taas-bootstrap dutX"
exit 1
fi
}
register_command "taas-bootstrap" "Write image to a remote lab device."
register_command "taas-smoketest" "Write image to a remote lab device and test it."

View File

@@ -1,61 +0,0 @@
#!/bin/sh
# Exported interface
function update_feed_branches {
local release="$1"
local ipath="$(pwd)"
local branch="$2"
local curbranch
[ -n "$release" ] || {
echo "Usage: ./update_feeds <RELEASE> <BRANCH>"
echo ""
echo "If you do not give a branch as argument,"
echo "<RELEASE> branch will be updated to commit"
echo "hash given in feeds.conf for each feed repo"
exit 1
}
if [ -n "$branch" ]; then
echo "Updating release branch $release to specific commit hash given in feeds.conf for each feed repo at branch $branch"
if git diff-index --quiet HEAD; then
curbranch=`git symbolic-ref HEAD 2>/dev/null`
curbranch=${curbranch##refs/heads/}
if [ -z $curbranch ]; then
curbranch=`git log -1 --pretty=format:"%H"`
fi
git checkout $branch || {
echo "couldn't checkout branch $branch"
exit 99
}
else
echo "You have unsaved changes."
exit 99
fi
else
echo "Updating release branch $release to specific commit hash given in feeds.conf for each feed repo"
fi
ifeeds="$(grep -r 'dev.iopsys.eu' feeds.conf | awk '{print$2}' | tr '\n' ' ')"
for f in $ifeeds; do
commith=$(grep $f feeds.conf | cut -d'^' -f2)
cd $ipath/feeds/$f
git branch -D $release 2>/dev/null
echo "$f: updating release branch $release to commit $commith"
git checkout $commith
git push origin :$release
git checkout -b $release
git push --set-upstream origin $release
cd $ipath
done
if [ -n "$branch" ]; then
echo "Release branch $release is updated to specific commit hash given in feeds.conf in in branch $branch for each feed repo"
git checkout $curbranch
else
echo "Release branch $release is updated to specific commit hash given in feeds.conf for each feed repo"
fi
}
register_command "update_feed_branches" "<release> [branch] Update branches in feeds from the current top level commit or specified top level branch"

View File

@@ -4,7 +4,7 @@ PKG_NAME:=iopsys-analytics
PKG_RELEASE:=$(COMMITCOUNT)
PKG_LICENSE:=PROPRIETARY
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=aea91816de703cf1c72490f51c2aa73c2f61640d
PKG_SOURCE_VERSION:=00189cea0a78b7a30dbfdd363b6d8e836437d1bc
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/iopsys-analytics.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_MIRROR_HASH:=skip
@@ -29,6 +29,11 @@ define Package/$(PKG_NAME)
+collectd-mod-processes \
+collectd-mod-write-http \
+@PACKAGE_COLLECTD_ENCRYPTED_NETWORK \
# remote syslog
DEPENDS+= \
+syslog-ng \
+@SYSLOGNG_LOGROTATE \
endef
define Package/$(PKG_NAME)/description

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libdsl
PKG_VERSION:=7.2.99
PKG_VERSION:=7.2.100
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=f9f3fcd0f4140540db5bd41059bcca7ded083024
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/libdsl.git
PKG_SOURCE_VERSION:=20875ec79fcc7c546c2f1253c867d6afbc8bff75
PKG_SOURCE_URL:=https://dev.iopsys.eu/hal/libdsl.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_MIRROR_HASH:=skip
endif
@@ -27,6 +27,8 @@ ifeq ($(CONFIG_TARGET_brcmbca),y)
CONFIG_ID=$(SUBTARGET:bcm%=BCM%)
CHIP_ID=$(CONFIG_ID:BCM9%=%)
TARGET_CFLAGS +=-DIOPSYS_BROADCOM -DCHIP_$(CHIP_ID) -DCONFIG_$(CONFIG_ID) \
-I$(STAGING_DIR)/usr/include/bcm963xx/bcmdrivers/broadcom/include/bcm963xx \
-I$(STAGING_DIR)/usr/include/bcm963xx/shared/opensource/include/bcm963xx \
-I$(STAGING_DIR)/usr/include/bcm963xx/bcmdrivers/opensource/include/bcm963xx \
-I$(STAGING_DIR)/usr/include/bcm963xx/userspace/public/include
else ifeq ($(CONFIG_TARGET_x86),y)
@@ -55,12 +57,19 @@ define Package/libdsl
SUBMENU:=IOPSYS HAL libs
MENU:=1
TITLE:= xDSL library (libdsl)
DEPENDS+=TARGET_brcmbca:bcm963xx-bsp
endef
define Package/libdsl/description
Library provides xDSL/GFAST HAL APIs
endef
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
$(CP) -rf ./libdsl/* $(PKG_BUILD_DIR)/
endef
endif
define Package/libdsl/config
if PACKAGE_libdsl
config LIBDSL_DEBUG

View File

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

View File

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

View File

@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=libvoice-broadcom
PKG_RELEASE:=1
PKG_VERSION:=1.0.14
PKG_VERSION:=1.0.15
PKG_LICENSE:=PROPRIETARY
PKG_LICENSE_FILES:=LICENSE
@@ -17,7 +17,7 @@ LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/$(PKG_NAME).git
PKG_SOURCE_VERSION:=7fde62b9634c63b9bc71d1c20541798971a78dc8
PKG_SOURCE_VERSION:=baf5ebfb45404714bbfcc3068080f93265934d8a
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
@@ -38,7 +38,7 @@ define Package/$(PKG_NAME)
CATEGORY:=Utilities
TITLE:=IOPSYS libvoice for Broadcom
URL:=
DEPENDS:=
DEPENDS:=+bcm963xx-voice
endef
define Package/$(PKG_NAME)/description
@@ -56,4 +56,3 @@ define Package/$(PKG_NAME)/install
endef
$(eval $(call BuildPackage,$(PKG_NAME)))

View File

@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=libvoice-d2
PKG_RELEASE:=1
PKG_VERSION:=1.1.12
PKG_VERSION:=1.1.14
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:=772955d814af8bbf91cf5c76f128cd1d17755625
PKG_SOURCE_VERSION:=0b2bef862fb5aea0b285e339459f46779224e2d0
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libwifi
PKG_VERSION:=7.5.2
PKG_VERSION:=7.8.5
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=e93fcd63354489846e5bb2450c7e8059774577d5
PKG_SOURCE_VERSION:=8e79c0bffa70db4d29420350dc3157d9bde9c053
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/libwifi.git
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@iopsys.eu>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
@@ -41,24 +41,22 @@ else ifeq ($(CONFIG_TARGET_armvirt),y)
TARGET_CFLAGS +=-DIOPSYS_TEST
else ifeq ($(CONFIG_TARGET_airoha),y)
TARGET_PLATFORM=ECONET
TARGET_WIFI_TYPE=MEDIATEK MAC80211
TARGET_WIFI_TYPE=MEDIATEK
TARGET_CFLAGS +=-DIOPSYS_ECONET
ifeq ($(CONFIG_TARGET_airoha_an7581),y)
TARGET_CFLAGS +=-DCONFIG_MTK
endif
else ifeq ($(CONFIG_TARGET_ipq95xx),y)
TARGET_PLATFORM=IPQ95XX
TARGET_WIFI_TYPE=QUALCOMM MAC80211
TARGET_WIFI_TYPE=QUALCOMM
TARGET_CFLAGS +=-DIPQ95XX
else ifeq ($(CONFIG_TARGET_ipq53xx),y)
TARGET_PLATFORM=IPQ53XX
TARGET_WIFI_TYPE=QUALCOMM MAC80211
TARGET_WIFI_TYPE=QUALCOMM
TARGET_CFLAGS +=-DIPQ53XX
else ifeq ($(CONFIG_TARGET_mediatek),y)
TARGET_PLATFORM=LINUX
TARGET_WIFI_TYPE=MEDIATEK MAC80211
TARGET_CFLAGS +=-DIOPSYS_LINUX
else
$(info Unexpected CONFIG_TARGET, use default MAC80211)
TARGET_PLATFORM=MAC80211
TARGET_WIFI_TYPE=MAC80211
TARGET_CFLAGS +=-DIOPSYS_MAC80211
endif
@@ -76,6 +74,10 @@ ifeq ($(CONFIG_LIBWIFI_USE_CTRL_IFACE),y)
TARGET_CFLAGS +=-DLIBWIFI_USE_CTRL_IFACE
endif
ifeq ($(CONFIG_LIBWIFI_SKIP_PROBES),y)
TARGET_CFLAGS +=-DLIBWIFI_BRCM_SKIP_PROBES
endif
TARGET_CFLAGS += \
-I$(STAGING_DIR)/usr/include \
-I$(STAGING_DIR)/usr/include/openssl \
@@ -144,6 +146,11 @@ define Package/libwifi/config
config LIBWIFI_USE_CTRL_IFACE
bool "Create UNIX sockets to interface with hostapd/wpa_supplicant"
default y
config LIBWIFI_SKIP_PROBES
bool "Don't create probe-req events"
default y
endif
endef

View File

@@ -17,10 +17,18 @@ config LOGMNGR_BACKEND_SYSLOG_NG
Enable this option to use syslog-ng for log management.
endchoice
config LOGMNGR_LOGROTATE
bool "Logrotate support"
depends on PACKAGE_logmngr
default y
help
It adds support for logrotate functionality.
config LOGMNGR_VENDOR_LOG_FILE
bool "Enable Device.DeviceInfo.VendorLogFile. Object"
depends on PACKAGE_logmngr
default y
help
It adds support for Device.DeviceInfo.VendorLogFile. Object.
endif

View File

@@ -5,12 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=logmngr
PKG_VERSION:=1.0.1
PKG_VERSION:=1.0.8
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/system/logmngr.git
PKG_SOURCE_VERSION:=ec10abb3cc0f3b96eb806c9c67e18d9d134287e9
PKG_SOURCE_VERSION:=7c2056c9f5dc23fd1260846c72210365ec69c882
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
@@ -27,8 +28,9 @@ define Package/logmngr
SECTION:=utils
CATEGORY:=Utilities
TITLE:=Logging Manager
DEPENDS:=+libbbfdm-api +LOGMNGR_BACKEND_FLUENTBIT:fluent-bit +LOGMNGR_LOGROTATE:logrotate
DEPENDS:=+LOGMNGR_BACKEND_FLUENTBIT:fluent-bit +LOGMNGR_LOGROTATE:logrotate
DEPENDS+=+LOGMNGR_BACKEND_SYSLOG_NG:syslog-ng
DEPENDS+=+libbbfdm-api +libbbfdm-ubus +dm-service
endef
define Package/logmngr/description
@@ -42,7 +44,7 @@ endef
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
$(CP) -rf ./logmngr/* $(PKG_BUILD_DIR)/
$(CP) -rf ~/git/logmngr/* $(PKG_BUILD_DIR)/
endef
endif
@@ -51,23 +53,26 @@ define Package/logmngr/install
$(INSTALL_BIN) ./files/logmngr.init $(1)/etc/init.d/logmngr
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) ./files/logread $(1)/usr/sbin
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_BIN) ./files/10-logmngr_config_generate $(1)/etc/uci-defaults/
$(INSTALL_DIR) $(1)/lib/logmngr
ifeq ($(CONFIG_LOGMNGR_BACKEND_FLUENTBIT),y)
$(INSTALL_DATA) ./files/lib/logmngr/fluent-bit.sh $(1)/lib/logmngr/.
$(INSTALL_DATA) ./files/lib/logmngr/fluent-bit.sh $(1)/lib/logmngr/
$(INSTALL_BIN) ./files/logread $(1)/usr/sbin
endif
ifeq ($(CONFIG_LOGMNGR_BACKEND_SYSLOG_NG),y)
$(INSTALL_DATA) ./files/lib/logmngr/syslog-ng.sh $(1)/lib/logmngr/.
$(INSTALL_DATA) ./files/lib/logmngr/syslog-ng.sh $(1)/lib/logmngr/
endif
$(BBFDM_INSTALL_CORE_PLUGIN) $(PKG_BUILD_DIR)/bbf_plugin/libbbfsyslog.so $(1)
ifeq ($(CONFIG_LOGMNGR_LOGROTATE),y)
$(INSTALL_BIN) ./files/11-logmngr_logrotate_config_generate $(1)/etc/uci-defaults/
$(INSTALL_DATA) ./files/lib/logmngr/logrotate.sh $(1)/lib/logmngr/.
$(BBFDM_INSTALL_CORE_PLUGIN) $(PKG_BUILD_DIR)/bbf_plugin/libbbflogrotate.so $(1)
$(INSTALL_DATA) ./files/lib/logmngr/logrotate.sh $(1)/lib/logmngr/
$(BBFDM_INSTALL_MS_PLUGIN) $(PKG_BUILD_DIR)/bbf_plugin/libbbflogrotate.so $(1) sysmngr
endif
ifeq ($(CONFIG_LOGMNGR_VENDOR_LOG_FILE),y)
$(BBFDM_INSTALL_MS_PLUGIN) $(PKG_BUILD_DIR)/bbf_plugin/libbbfvendorlog.so $(1) sysmngr
endif
endef

View File

@@ -20,4 +20,9 @@ uci set logmngr.lf1=log_file
uci set logmngr.lf1.enable=1
uci set logmngr.lf1.action="ac1"
uci set logmngr.lf1.file="/var/log/messages"
uci set logmngr.lr1=log_remote
uci set logmngr.lr1.enable=0
uci set logmngr.lr1.action="ac1"
uci set logmngr.lr1.port="514"
uci commit logmngr

View File

@@ -16,7 +16,7 @@ create_service_section() {
# the service section of the fluent-bit.conf file has hardcoded values,
# no need to lookup any uci section to configure this section
echo "[SERVICE]" >> ${TMP_CONF_FILE}
echo " flush 3" >> ${TMP_CONF_FILE}
echo " flush 1" >> ${TMP_CONF_FILE}
echo " daemon off" >> ${TMP_CONF_FILE}
echo " log_level info" >> ${TMP_CONF_FILE}
echo " parsers_file /etc/fluent-bit/parsers.conf" >> ${TMP_CONF_FILE}
@@ -184,7 +184,9 @@ handle_log_file() {
echo "[OUTPUT]" >> ${TMP_CONF_FILE}
echo " name file" >> ${TMP_CONF_FILE}
echo " match $match" >> ${TMP_CONF_FILE}
echo " file $file" >> ${TMP_CONF_FILE}
echo " file $file" >> ${TMP_CONF_FILE}
echo " format template" >> ${TMP_CONF_FILE}
echo " template {time} {hostname} {ident}: {message}" >> ${TMP_CONF_FILE}
}
handle_log_remote() {

View File

@@ -60,10 +60,12 @@ handle_logrotate() {
local compression
config_get compression $section compression
if [ -n "$compression" ]; then
cmd=$(echo "$compression" | awk '{print tolower($0)}')
echo -e "\tcompress" >> ${LOGROTATE_TMP_FILE}
echo -e "\tcompresscmd $compression" >> ${LOGROTATE_TMP_FILE}
echo -e "\tcompresscmd $cmd" >> ${LOGROTATE_TMP_FILE}
fi
echo -e "\taddextension _logrotate" >> ${LOGROTATE_TMP_FILE}
echo -e "\tpostrotate" >> ${LOGROTATE_TMP_FILE}
echo -e "\t\tservice logmngr restart" >> ${LOGROTATE_TMP_FILE}
echo -e "\t\tsleep 1" >> ${LOGROTATE_TMP_FILE}

View File

@@ -15,7 +15,14 @@ create_config_file() {
create_option_section() {
# the option section of the syslog-ng.conf file has hardcoded values,
# no need to lookup any uci section to configure this section
echo -e "@version: 4.4" >> ${TMP_CONF_FILE}
local syslog_version=$(syslog-ng -V | grep -i "Installer-Version" | awk -F': ' '{print $2}' | cut -d '.' -f1,2)
if [ -n "$syslog_version" ]; then
echo -e "@version: $syslog_version" >> ${TMP_CONF_FILE}
else
echo -e "@version: 4.7" >> ${TMP_CONF_FILE}
fi
echo -e '@include "scl.conf"' >> ${TMP_CONF_FILE}
echo -e "options {" >> ${TMP_CONF_FILE}
echo -e "\tchain_hostnames(no);" >> ${TMP_CONF_FILE}
@@ -37,7 +44,8 @@ create_input_section() {
# on any uci value
echo -e "source $tag {" >> ${TMP_CONF_FILE}
echo -e "\tinternal();" >> ${TMP_CONF_FILE}
echo -e "\tunix-dgram("/dev/log");" >> ${TMP_CONF_FILE}
echo -e "\tunix-dgram(\"/dev/log\");" >> ${TMP_CONF_FILE}
echo -e "\tfile(\"/proc/kmsg\" program_override(\"kernel\"));" >> ${TMP_CONF_FILE}
echo "};" >> ${TMP_CONF_FILE}
}
@@ -315,11 +323,10 @@ handle_action_section() {
}
apply_config_file() {
echo -e '@include "/etc/syslog-ng.d/"' >> ${TMP_CONF_FILE}
cp ${TMP_CONF_FILE} ${CONF_FILE}
}
PROG=/usr/sbin/syslog-ng-ctl
logmngr_init() {
create_config_file
@@ -339,7 +346,9 @@ logmngr_init() {
logrotate_init
fi
procd_open_instance logmngr
procd_set_param command $PROG reload
procd_close_instance
if procd_running 'syslog-ng'; then
/etc/init.d/syslog-ng reload
else
/etc/init.d/syslog-ng start
fi
}

View File

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

View File

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

View File

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

View File

@@ -4,6 +4,7 @@
generate_mapagent_config=0
generate_wireless_sta_config=0
generate_aps_config=1
network_mode="$(fw_printenv -n netmode)" # default is layer3
multiap_mode="$(fw_printenv -n multiap_mode)" # default is full
@@ -65,10 +66,45 @@ generate_multiap_config() {
device="$dev"
ifprefix_radio=""
if is_airoha; then
ifprefix="wlan%_%"
ifname="wlan${devidx}_0"
ifname_bh="wlan${devidx}_1"
if [ -d "/sys/module/mt76" ]; then
ifprefix="wlan%_%"
ifname="wlan${devidx}_0"
ifname_bh="wlan${devidx}_1"
else
ifname_sta=""
case "$band" in
2g)
ifprefix="ra%"
ifname="ra0"
ifname_bh="ra1"
ifname_sta="apcli0"
;;
5g)
ifprefix="rai%"
ifname="rai0"
ifname_bh="rai1"
ifname_sta="apclii0"
;;
6g)
ifprefix="rax%"
ifname="rax0"
ifname_bh="rax1"
ifname_sta="apclix0"
;;
esac
ifprefix_radio="${ifprefix}"
if [ "${network_mode}" == "extender" ]; then
ifname="${ifname_sta}"
fi
[ "$disable_mlo" == "1" ] || {
uci set wireless.$dev.mlo="1"
uci set wireless.$dev.mlo_capable="1"
}
fi
uci set wireless.$dev.channels="$channels"
uci commit wireless
elif is_broadcom; then
@@ -86,17 +122,14 @@ generate_multiap_config() {
[ "$disable_mlo" == "1" ] || {
uci set wireless.$dev.mlo="1"
uci set wireless.$dev.mlo_capable="1"
# Prevent driver crash for extender - remove it after fix
[ "$network_mode" == "extender" -a "$mode_band" == "6" ] && {
uci set wireless.$dev.mlo="0"
uci set wireless.$dev.mlo_capable="0"
}
uci commit wireless
# Disable for MLD/MLO
uci set mapagent.agent.island_prevention="0"
uci commit mapagent
# wait ap-autoconfiguration
generate_aps_config=0
}
else
ifprefix="wlan%-"
@@ -105,12 +138,17 @@ generate_multiap_config() {
fi
if [ $generate_mapagent_config -eq 1 ]; then
uci set mapagent.agent.ifprefix="$ifprefix"
if [ -z "${ifprefix_radio}" ]; then
uci set mapagent.agent.ifprefix="$ifprefix"
fi
uci set mapagent.agent.brcm_setup="$brcm_setup"
uci set mapagent.agent.ap_follow_sta_dfs="$ap_follow_sta_dfs"
uci add mapagent radio
uci set mapagent.@radio[-1].device="$device"
uci set mapagent.@radio[-1].band="$mode_band"
if [ -n "${ifprefix_radio}" ]; then
uci set mapagent.@radio[-1].ifprefix="${ifprefix}"
fi
if [ "$network_mode" == "extender" ]; then
uci add mapagent bsta
@@ -142,22 +180,24 @@ generate_multiap_config() {
\"match\":{\"mode\":\"sta\", \"ifname\":\"$ifname\", \"device\":\"$device\"},\"values\":{\"multi_ap\":\"1\"}}" 2>/dev/null
fi
else
uci add mapagent ap
uci set mapagent.@ap[-1].type="fronthaul"
uci set mapagent.@ap[-1].device="$device"
uci set mapagent.@ap[-1].ifname="$ifname"
uci set mapagent.@ap[-1].band="$mode_band"
uci add mapagent ap
uci set mapagent.@ap[-1].type="backhaul"
uci set mapagent.@ap[-1].device="$device"
uci set mapagent.@ap[-1].ifname="$ifname_bh"
uci set mapagent.@ap[-1].band="$mode_band"
if [ $generate_aps_config -eq 1 ]; then
uci add mapagent ap
uci set mapagent.@ap[-1].type="fronthaul"
uci set mapagent.@ap[-1].device="$device"
uci set mapagent.@ap[-1].ifname="$ifname"
uci set mapagent.@ap[-1].band="$mode_band"
uci add mapagent ap
uci set mapagent.@ap[-1].type="backhaul"
uci set mapagent.@ap[-1].device="$device"
uci set mapagent.@ap[-1].ifname="$ifname_bh"
uci set mapagent.@ap[-1].band="$mode_band"
if [ "$multiap_mode" != "none" ]; then
ubus call uci set "{\"config\":\"wireless\",\"type\":\"wifi-iface\", \
\"match\":{\"ifname\":\"$ifname\", \"device\":\"$device\"},\"values\":{\"multi_ap\":\"2\"}}" 2>/dev/null
ubus call uci set "{\"config\":\"wireless\",\"type\":\"wifi-iface\", \
\"match\":{\"ifname\":\"$ifname_bh\", \"device\":\"$device\"},\"values\":{\"multi_ap\":\"1\"}}" 2>/dev/null
if [ "$multiap_mode" != "none" ]; then
ubus call uci set "{\"config\":\"wireless\",\"type\":\"wifi-iface\", \
\"match\":{\"ifname\":\"$ifname\", \"device\":\"$device\"},\"values\":{\"multi_ap\":\"2\"}}" 2>/dev/null
ubus call uci set "{\"config\":\"wireless\",\"type\":\"wifi-iface\", \
\"match\":{\"ifname\":\"$ifname_bh\", \"device\":\"$device\"},\"values\":{\"multi_ap\":\"1\"}}" 2>/dev/null
fi
fi
fi
fi

View File

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

View File

@@ -9,6 +9,7 @@ config controller 'controller'
option primary_vid '1'
option primary_pcp '0'
option allow_bgdfs '0'
option stale_sta_timeout '30d'
option channel_plan '0'
option de_collect_interval '60'
@@ -27,6 +28,9 @@ config sta_steering
option report_rcpi_threshold_2g '80'
option report_rcpi_threshold_5g '96'
option report_rcpi_threshold_6g '96'
option steer_retry_int '30'
option steer_int '180'
option steer_disable_int '600'
###################
# Default AP sections credentials will by updated

View File

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

View File

@@ -6,14 +6,14 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=mcastmngr
PKG_VERSION:=1.2.3
PKG_VERSION:=1.2.9
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/hal/mcastmngr.git
PKG_SOURCE_VERSION:=117acf7a29e3a343756aab9b0ae330022892c15b
PKG_SOURCE_VERSION:=275d7e5448333e53f8bc980344b39f7f577d4664
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
@@ -29,7 +29,10 @@ MAKE_PATH:=bbf_plugin
define Package/mcastmngr
CATEGORY:=Utilities
TITLE:=Multicast Proxy/Snooping Manager
DEPENDS:=+!TARGET_brcmbca:mcproxy +libuci +libubox +libubus +libblobmsg-json +libbbfdm-api
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json
DEPENDS+=+!TARGET_brcmbca:mcproxy +!TARGET_brcmbca:sipcalc
DEPENDS+=+libbbfdm-api +libbbfdm-ubus +dm-service +!TARGET_brcmbca:kmod-ebt-igmpsnooping +!TARGET_brcmbca:kmod-ebt-mldsnooping
DEPENDS+=+!TARGET_brcmbca:ebtables-legacy +bridgemngr
endef
define Package/mcastmngr/description
@@ -51,6 +54,7 @@ ifneq ($(CONFIG_TARGET_brcmbca),)
else
$(CP) ./files/linux/* $(1)/
endif
$(BBFDM_REGISTER_SERVICES) ./bbfdm_service.json $(1) $(PKG_NAME)
$(BBFDM_INSTALL_MS_DM) $(PKG_BUILD_DIR)/bbf_plugin/libmcast_bbf.so $(1) $(PKG_NAME)
endef

View File

@@ -0,0 +1,20 @@
{
"daemon": {
"enable": "1",
"service_name": "mcastmngr",
"unified_daemon": false,
"services": [
{
"parent_dm": "Device.",
"object": "{BBF_VENDOR_PREFIX}IGMP"
},
{
"parent_dm": "Device.",
"object": "{BBF_VENDOR_PREFIX}MLD"
}
],
"config": {
"loglevel": "3"
}
}
}

View File

@@ -39,7 +39,6 @@ config_snooping_upstream_interface() {
local snooping_upstream_intf=""
json_load "$(devstatus $1)"
logger -t "mcastconf" "$(devstatus $1)"
itr=1
json_select bridge-members
@@ -128,14 +127,14 @@ configure_mcpd_snooping() {
config_snooping_common_params $protocol $igmp_s_version $igmp_s_robustness $igmp_s_mode
config_mcast_querier_params $protocol $igmp_s_query_interval $igmp_s_q_resp_interval $igmp_s_last_mem_q_int
config_snooping_upstream_interface "$igmp_s_iface"
config_snooping_on_bridge $protocol $igmp_s_iface $igmp_s_mode
config_snooping_on_bridge $protocol "$igmp_s_iface" $igmp_s_mode
exceptions=$igmp_s_exceptions
fast_leave=$igmp_s_fast_leave
elif [ "$protocol" == "mld" ]; then
config_snooping_common_params $protocol $mld_s_version $mld_s_robustness $mld_s_mode
config_mcast_querier_params $protocol $mld_s_query_interval $mld_s_q_resp_interval $mld_s_last_mem_q_int
config_snooping_upstream_interface "$mld_s_iface"
config_snooping_on_bridge $protocol $mld_s_iface $mld_s_mode
config_snooping_on_bridge $protocol "$mld_s_iface" $mld_s_mode
exceptions=$mld_s_exceptions
fast_leave=$mld_s_fast_leave
fi
@@ -171,14 +170,14 @@ configure_mcpd_proxy() {
config_snooping_common_params $protocol $igmp_p_version $igmp_p_robustness $igmp_p_mode
config_mcast_querier_params $protocol $igmp_query_interval $igmp_q_resp_interval $igmp_last_mem_q_int
config_mcast_proxy_interface $protocol "$igmp_p_up_interfaces"
config_snooping_on_bridge $protocol $igmp_p_down_interfaces $igmp_p_mode
config_snooping_on_bridge $protocol "$igmp_p_down_interfaces" $igmp_p_mode
fast_leave=$igmp_fast_leave
exceptions=$igmp_p_exceptions
elif [ "$protocol" == "mld" ]; then
config_snooping_common_params $protocol $mld_p_version $mld_p_robustness $mld_p_mode
config_mcast_querier_params $protocol $mld_query_interval $mld_q_resp_interval $mld_last_mem_q_int
config_mcast_proxy_interface $protocol "$mld_p_up_interfaces"
config_snooping_on_bridge $protocol $mld_p_down_interfaces $mld_p_mode
config_snooping_on_bridge $protocol "$mld_p_down_interfaces" $mld_p_mode
fast_leave=$mld_fast_leave
exceptions=$mld_p_exceptions
fi
@@ -252,3 +251,7 @@ configure_mcast() {
configure_mcpd
}
validate_params() {
return 0
}

View File

@@ -3,8 +3,42 @@
. /usr/share/libubox/jshn.sh
. /lib/functions.sh
read_mcast_stats() {
cat /proc/net/igmp_snooping > /tmp/igmp_stats
readonly TEMPFILE="/tmp/snooping_stats_"$$
splitup_ipv6addr() {
local inaddr="$1"
local lowaddr=""
local hiaddr=""
local subaddr=""
local outaddr=""
OIFS=$IFS
IFS=":"
for subaddr in $inaddr; do
loaddr="$(printf "%x\n" 0x$(echo -n "$subaddr" | cut -b5-8))"
hiaddr="$(printf "%x\n" 0x$(echo -n "$subaddr" | cut -b1-4))"
if [ -z "$outaddr" ]; then
outaddr="${hiaddr}:${loaddr}"
else
outaddr="${outaddr}:${hiaddr}:${loaddr}"
fi
done
IFS=$OIFS
echo "$outaddr" | sed -e 's/0000/0/g' -e 's/00/0/g' -e 's/000/0/g'
}
meld_files() {
local type="$1"
if [ "$type" = "mld" ]; then
cat "/proc/net/${type}_snooping" | awk -F' ' '{ print $1 " " $2 " " $3 " " $4 " " $5 " " $6 " " $7 " " $8 " NULL " $9 " " $10 " " $11 " " $12 " " $13 " " $12 }' >> "$TEMPFILE"
else
cat "/proc/net/${type}_snooping" >> "$TEMPFILE"
fi
}
read_snooping_file() {
local mcast_addrs=""
local ifaces=""
@@ -33,7 +67,7 @@ read_mcast_stats() {
fi
;;
esac
done < /tmp/igmp_stats
done < "$TEMPFILE"
while read line; do
# reading each line
@@ -41,6 +75,7 @@ read_mcast_stats() {
br-*)
found_ip=0
grp_ip="$(echo $line | awk -F ' ' '{ print $10 }')"
if [ -z "$mcast_addrs" ]; then
mcast_addrs="$grp_ip"
continue
@@ -60,27 +95,13 @@ read_mcast_stats() {
fi
;;
esac
done < /tmp/igmp_stats
done < "$TEMPFILE"
json_init
json_add_array "snooping"
json_add_object ""
IFS=" "
for intf in $ifaces; do
while read line; do
# reading each line
case $line in
br-*)
snoop_iface="$(echo $line | awk -F ' ' '{ print $1 }')"
if [ "$snoop_iface" != "$intf" ]; then
continue
fi
json_add_string "interface" "$intf"
json_add_array "groups"
break
;;
esac
done < /tmp/igmp_stats
json_add_object ""
json_add_string "interface" "$intf"
json_add_array "groups"
IFS=" "
for gip_addr in $mcast_addrs; do
grp_obj_added=0
@@ -98,7 +119,12 @@ read_mcast_stats() {
fi
if [ $grp_obj_added -eq 0 ]; then
json_add_object ""
gip="$(ipcalc.sh $gip_addr | grep IP | awk '{print substr($0,4)}')"
if [ -n "$(echo $gip_addr | grep -oE "^((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])$")" ]; then
gip="$(ipcalc.sh $gip_addr | grep IP | awk '{print substr($0,4)}')"
else
gip_addr=$(splitup_ipv6addr "$gip_addr")
gip="$(echo $gip_addr | grep -oE '^([0-9a-fA-F]{0,4}:){1,7}[0-9a-fA-F]{0,4}$')"
fi
json_add_string "groupaddr" "$gip"
json_add_array "clients"
grp_obj_added=1
@@ -106,7 +132,12 @@ read_mcast_stats() {
json_add_object ""
host_ip="$(echo $line | awk -F ' ' '{ print $14 }')"
h_ip="$(ipcalc.sh $host_ip | grep IP | awk '{print substr($0,4)}')"
if [ -n "$(echo $host_ip | grep -oE "^((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])$")" ]; then
h_ip="$(ipcalc.sh $host_ip | grep IP | awk '{print substr($0,4)}')"
else
host_ip=$(splitup_ipv6addr "$host_ip")
h_ip="$(echo $host_ip | grep -oE '^([0-9a-fA-F]{0,4}:){1,7}[0-9a-fA-F]{0,4}$')"
fi
json_add_string "ipaddr" "$h_ip"
src_port="$(echo $line | awk -F ' ' '{ print $2 }')"
json_add_string "device" "$src_port"
@@ -115,17 +146,29 @@ read_mcast_stats() {
json_close_object #close the associated device object
;;
esac
done < /tmp/igmp_stats
json_close_array #close the associated devices array
json_close_object # close the groups object
done < "$TEMPFILE"
if [ $grp_obj_added -eq 1 ]; then
json_close_array #close the associated devices array
json_close_object # close the groups object
fi
done # close the loop for group addresses
json_close_array #close the groups array
json_close_object # close the snooping object
done # close the loop for interfaces
json_close_object # close the snooping object
}
read_mcast_stats() {
echo -n > "$TEMPFILE"
json_init
json_add_array "snooping"
meld_files "igmp"
meld_files "mld"
read_snooping_file
json_close_array # close the snooping array
json_dump
rm -f /tmp/igmp_stats
rm -f "$TEMPFILE"
}
case "$1" in
@@ -135,7 +178,12 @@ case "$1" in
call)
case "$2" in
stats)
read_mcast_stats
out="$(read_mcast_stats)"
if [ -z "${out}" ]; then
echo '{}'
else
echo "${out}"
fi
;;
esac
;;

View File

@@ -33,17 +33,20 @@ start_service() {
configure_mcast
fi
if [ -z "${PROG_PARAMS}" ]; then
start_mcast_service
if ! validate_params; then
return
fi
local prev_IFS="${IFS}"
IFS=${PROG_PARAMS_SEPARATOR}
for param in ${PROG_PARAMS}; do
IFS="${prev_IFS}"
start_mcast_service ${param}
done
if [ -z "${PROG_PARAMS}" ]; then
start_mcast_service
else
local prev_IFS="${IFS}"
IFS=${PROG_PARAMS_SEPARATOR}
for param in ${PROG_PARAMS}; do
IFS="${prev_IFS}"
start_mcast_service ${param}
done
fi
}
boot() {

View File

@@ -9,6 +9,7 @@ CONFFILE=
PROG_EXE=/usr/sbin/mcproxy
PROG_PARAMS=
PROG_PARAMS_SEPARATOR=:
readonly WANPORT="$(jsonfilter -i /etc/board.json -e @.network.wan.device)"
snooping_bridges=
@@ -85,29 +86,35 @@ config_mcproxy_interfaces() {
echo -e "pinstance main:$str_up ==>$str_down;\n" >> $CONFFILE
local filter=""
for excp in $exceptions; do
local filter=""
case $excp in
*/*)
ip_start="$(ipcalc.sh $excp | grep IP | awk '{print substr($0,4)}')"
ip_end="$(ipcalc.sh $excp | grep BROADCAST | awk '{print substr($0,11)}')"
filter="$filter ($ip_start - $ip_end | *)"
if [ "$protocol" == "igmp" ]; then
ip_start="$(ipcalc.sh $excp | grep IP | awk '{print substr($0,4)}')"
ip_end="$(ipcalc.sh $excp | grep BROADCAST | awk '{print substr($0,11)}')"
filter="$filter ($ip_start - $ip_end | *)"
elif [ "$protocol" == "mld" ]; then
output="$(sipcalc $excp | grep "Network range" -A 1 | cut -d'-' -f2 | tr '\n' ' ')"
ip_start="$(echo $output | awk '{print $1}')"
ip_end="$(echo $output | awk '{print $2}')"
filter="$filter ($ip_start - $ip_end | *)"
fi
;;
*)
filter="$filter ($excp | *)"
;;
esac
done
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 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 $str_down; do
echo "pinstance main downstream $downstream in blacklist table{$filter };" >> $CONFFILE
echo "pinstance main downstream $downstream out blacklist table{$filter };" >> $CONFFILE
done
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
}
@@ -305,6 +312,22 @@ config_mcproxy_instance() {
[ -n $fast_leave ] &&
config_sysfs_mcast_fastleave "$downstreams" "$fast_leave"
config_sysfs_mcast_flood "$downstreams" "$mcast_mode"
for iface in $downstreams; do
if device_is_bridge "$iface"; then
if [ "${protocol}" = "mld" ]; then
ebtables -t broute -I mcsnooping -s Unicast -d 33:33:00:00:00:00/ff:ff:00:00:00:00 --logical-in ${iface} ! -i "${WANPORT}+" --mld-snooping
elif [ "${protocol}" = "igmp" ]; then
ebtables -t broute -I mcsnooping -s Unicast -d 01:00:5e:00:00:00/ff:ff:ff:00:00:00 --logical-in ${iface} ! -i "${WANPORT}+" --igmp-snooping
fi
else
if [ "${protocol}" = "mld" ]; then
ebtables -t broute -I mcsnooping -s Unicast -d 33:33:00:00:00:00/ff:ff:00:00:00:00 -i ${iface} --mld-snooping
elif [ "${protocol}" = "igmp" ]; then
ebtables -t broute -I mcsnooping -s Unicast -d 01:00:5e:00:00:00/ff:ff:ff:00:00:00 -i ${iface} --igmp-snooping
fi
fi
done
fi
PROG_PARAMS="${PROG_PARAMS} -f ${CONFFILE}${PROG_PARAMS_SEPARATOR}"
@@ -318,6 +341,12 @@ disable_snooping_iface() {
disable_snooping() {
config_load network
config_foreach disable_snooping_iface device
ebtables --concurrent -t broute -F mcsnooping
# Clean up populated /procfs entries
rmmod ebt_igmpsnooping 2> /dev/null #Loaded on demand
rmmod ebt_mldsnooping 2> /dev/null #Loaded on demand
}
config_snooping() {
@@ -389,19 +418,29 @@ config_snooping() {
[ -n "$q_resp_interval" ] && config_sysfs_mcast_q_resp_interval "$interfaces" "$q_resp_interval"
[ -n "$last_mem_q_int" ] && config_sysfs_mcast_last_mem_q_int "$interfaces" "$last_mem_q_int"
[ -n "$fast_leave" ] && config_sysfs_mcast_fastleave "$interfaces" "$fast_leave"
for iface in $snooping_bridges; do
if [ "${protocol}" = "mld" ]; then
ebtables -t broute -I mcsnooping -s Unicast -d 33:33:00:00:00:00/ff:ff:00:00:00:00 --logical-in ${iface} ! -i "${WANPORT}+" --mld-snooping
elif [ "${protocol}" = "igmp" ]; then
ebtables -t broute -I mcsnooping -s Unicast -d 01:00:5e:00:00:00/ff:ff:ff:00:00:00 --logical-in ${iface} ! -i "${WANPORT}+" --igmp-snooping
fi
done
}
config_mcproxy() {
disable_snooping
if [ "$igmp_p_enable" == "1" ]; then
config_mcproxy_instance igmp "$igmp_p_version"
elif [ "$igmp_s_enable" == "1" ]; then
fi
if [ "$igmp_s_enable" == "1" ]; then
config_snooping igmp "$igmp_s_version"
fi
if [ "$mld_p_enable" == "1" ]; then
config_mcproxy_instance mld "$mld_p_version"
elif [ "$mld_s_enable" == "1" ]; then
fi
if [ "$mld_s_enable" == "1" ]; then
config_snooping mld "$mld_s_version"
fi
}
@@ -416,8 +455,10 @@ configure_mcast() {
read_mcast_snooping_params
read_mcast_proxy_params
config_mcproxy
if [ -z "${PROG_PARAMS}" ]; then
exit 0
fi
}
validate_params() {
[ -n "${PROG_PARAMS}" ] && return 0
return 1
}

View File

@@ -3,29 +3,16 @@
. /usr/share/libubox/jshn.sh
. /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")
readonly TEMPFILE="/tmp/snooping_stats_"$$
# Sending signal to mcproxy to dump multicast data in /tmp/igmp_snooping_stats
local mcast_pids=$(pidof mcproxy)
for pid in $mcast_pids
do
$(kill -10 $pid)
done
# Wait for signal is being processed by mcproxy
if [ -n "$mcast_pids" ]; then
for i in 1 2 3; do
local new_mod_time=$(date +%s 2>/dev/null -r "$snooping_stats")
[ -n "$new_mod_time" ] && [ "$new_mod_time" != "$old_mod_time" ] && break
sleep 0.1
done
fi
meld_files() {
local type="$1"
cat "$snooping_stats" > "$temp_igmp_file"
tail -n +2 "/proc/net/${type}_snooping" >> "$TEMPFILE"
}
read_snooping_file() {
local mcast_addrs=""
local ifaces=""
@@ -54,14 +41,15 @@ read_mcast_stats() {
fi
;;
esac
done < "$temp_igmp_file"
done < "$TEMPFILE"
while read line; do
# reading each line
case $line in
br-*)
found_ip=0
grp_ip="$(echo $line | awk -F ' ' '{ print $2 }')"
grp_ip="$(echo $line | awk -F ' ' '{ print $7 }')"
if [ -z "$mcast_addrs" ]; then
mcast_addrs="$grp_ip"
continue
@@ -81,27 +69,13 @@ read_mcast_stats() {
fi
;;
esac
done < "$temp_igmp_file"
done < "$TEMPFILE"
json_init
json_add_array "snooping"
json_add_object ""
IFS=" "
for intf in $ifaces; do
while read line; do
# reading each line
case $line in
br-*)
snoop_iface="$(echo $line | awk -F ' ' '{ print $1 }')"
if [ "$snoop_iface" != "$intf" ]; then
continue
fi
json_add_string "interface" "$intf"
json_add_array "groups"
break
;;
esac
done < "$temp_igmp_file"
json_add_object ""
json_add_string "interface" "$intf"
json_add_array "groups"
IFS=" "
for gip_addr in $mcast_addrs; do
grp_obj_added=0
@@ -113,40 +87,60 @@ read_mcast_stats() {
if [ "$snoop_iface" != "$intf" ]; then
continue
fi
grp_ip="$(echo $line | awk -F ' ' '{ print $2 }')"
grp_ip="$(echo $line | awk -F ' ' '{ print $7 }')"
if [ "$grp_ip" != "$gip_addr" ]; then
continue
fi
if [ $grp_obj_added -eq 0 ]; then
json_add_object ""
gip="$(ipcalc.sh $gip_addr | grep IP | awk '{print substr($0,4)}')"
if [ -n "$(echo $gip_addr | grep -oE "^((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])$")" ]; then
gip="$(ipcalc.sh $gip_addr | grep IP | awk '{print substr($0,4)}')"
else
gip="$(sipcalc -6 "$gip_addr" | awk '/^Compressed address/{print $4}')"
fi
json_add_string "groupaddr" "$gip"
json_add_array "clients"
grp_obj_added=1
fi
json_add_object ""
host_ip="$(echo $line | awk -F ' ' '{ print $3 }')"
h_ip="$(ipcalc.sh $host_ip | grep IP | awk '{print substr($0,4)}')"
host_ip="$(echo $line | awk -F ' ' '{ print $8 }')"
if [ -n "$(echo $host_ip | grep -oE "^((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])$")" ]; then
h_ip="$(ipcalc.sh $host_ip | grep IP | awk '{print substr($0,4)}')"
else
h_ip="$(sipcalc -6 "$host_ip" | awk '/^Compressed address/{print $4}')"
fi
json_add_string "ipaddr" "$h_ip"
src_port="$(echo $line | awk -F ' ' '{ print $4 }')"
src_port="$(echo $line | awk -F ' ' '{ print $2 }')"
json_add_string "device" "$src_port"
timeout="$(echo $line | awk -F ' ' '{ print $5 }')"
timeout="$(echo $line | awk -F ' ' '{ print $9 }')"
json_add_int "timeout" "$timeout"
json_close_object #close the associated device object
;;
esac
done < "$temp_igmp_file"
json_close_array #close the associated devices array
json_close_object # close the groups object
done < "$TEMPFILE"
if [ $grp_obj_added -eq 1 ]; then
json_close_array #close the associated devices array
json_close_object # close the groups object
fi
done # close the loop for group addresses
json_close_array #close the groups array
json_close_object # close the snooping object
done # close the loop for interfaces
json_close_object # close the snooping object
}
read_mcast_stats() {
echo -n > "$TEMPFILE"
json_init
json_add_array "snooping"
meld_files "igmp"
meld_files "mld"
read_snooping_file
json_close_array # close the snooping array
json_dump
rm -f "$temp_igmp_file"
rm -f "$TEMPFILE"
}
case "$1" in
@@ -156,7 +150,12 @@ case "$1" in
call)
case "$2" in
stats)
read_mcast_stats
out="$(read_mcast_stats)"
if [ -z "${out}" ]; then
echo '{}'
else
echo "${out}"
fi
;;
esac
;;

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