Commit Graph

47 Commits

Author SHA1 Message Date
Robert Marko 272f55e87f treewide: refresh hashes after move to use ZSTD as default
With the recent move to using ZSTD as the default compression format
for packaging git repo clones we must refresh all of the hashes for
the packages feed as well.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-04-07 12:06:34 +02:00
Carsten Schuette d9acb54dc4 dawn: Add PKG_BUILD_FLAGS:=no-lto because lto causes strange SegFaults
Signed-off-by: Carsten Schuette <schuettecarsten@googlemail.com>
2023-09-11 09:01:26 +02:00
Carsten Schuette 6c5c99d206 dawn: Update to 2023-05-14
Signed-off-by: Carsten Schuette <schuettecarsten@googlemail.com>
2023-09-11 09:01:26 +02:00
Christian Marangi 6e0c2b767b
treewide: bump PKG_RELEASE for libiwinfo dependant packages
Bump PKG_RELEASE for libiwinfo dependant packages.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-01-23 13:58:49 +01:00
Nick Hainke 28ca76d29b dawn: update to 2022-07-24
edca4d2 network: rework network status callbacks

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-07-24 13:01:46 +02:00
Nick Hainke 1f60c23296 dawn: update to 2022-07-22
10fb043 network: dump detail on ping pong received

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-07-22 21:32:42 +02:00
Nick Hainke 204fd77bbc dawn: update to 2022-07-21
bb362db datastorage: fix ap_array_unlink_entry always returns NULL
47e98ef network: ping pong keepalive for tcp connections
eba0354 network: add timeout for client connections

In the dawn config the con_timeout needs to be added:
  option con_timeout '60'

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-07-21 17:16:23 +02:00
Nick Hainke bb0d45ed35 dawn: update to 2022-07-18
e596ff1 ubus.c: only add nr entries matching our own SSID

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-07-18 18:11:21 +02:00
Nick Hainke eef9ee0b83 dawn: update to 2022-07-16
0689b5e ubus: add missing lock for ubus hearing_map
4b7db09 CONFIGURE.md: fix typo
b3f61d4 CONFIGURE.md: adjust documentation about log levels

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-07-16 19:44:21 +02:00
Nick Hainke 4a9eaecf58 dawn: update to 2022-06-13
88c78b4 memory_utils: fix reallocation

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-06-13 23:04:06 +02:00
Nick Hainke 0c74ab9a79 dawn: update to 2022-06-11
4cf9d0b treewide: code and documentation cleanup
48b12ee datastorage: Minor chnages to kicking algorithm to tidy up some handling.
7b615b6 treewide: improve beacon/probe logging
185f31b treewide: improve beacon request handling
0c2e713 datastorage/ubus: Add "soft" kicking algorithm
38f60c5 treewide: RSSI / RCPI handling updates
aba3e81 documentation: Parameter defaults and documentation
3979fdf treewide: cleanup code
e3b3753 scoring: improve scoring algorithm
33f380f treewide: cleanup code
b42193f kicking: improve kicking algorithm
16deab3 treewide: improve mutex handling
31f0a37 test: cleanup tests and add some test scripts
43ca8b8 treewide: fix bugs from Coverity Scan
8ae2a42 utils/storage: improve descriptions
9a9b4dd ubus: Simplify loops and scans in generating hearing map
c833064 treewide: rework mutex
1df5bc5 (master) network: cleanup and improve network handling
3bd349a utils: cleanup
a855087 utils/storage: cleanup
439fe95 ubus/datastorage/msghandler: cleanup
335ace2 datastorage: improve linked list
40ebf48 ubus/datastorage: cleanup
c13c285 utils: cleanup
0e4fc50 documentation: Heavily revised Markdown documentation files

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-06-11 20:40:55 +02:00
Nick Hainke 96975a1f78 dawn: update to 2022-06-09
850a75c fix compilation with GCC12
2ac7b9d workflow: fix workflow

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-06-09 10:15:30 +02:00
Nick Hainke 8b41e959d0 dawn: update to 2022-05-09
7a72674 datastorage/ubus: rework kicking algorithm

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-05-09 21:57:21 +02:00
Nick Hainke 7cb73ae3b9 dawn: update to 2022-01-17
877e2dc iwinfo: fix get_bandwidth_iwinfo
9ce01ec datastorage: fix multi-SSID
9187665 treewide: improve maintaince
6bf9b6d memory: Tighten up some memory handling to help spot errors
4df0c98 treewide: improve logging

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-17 11:52:42 +01:00
Nick Hainke 8b7fb614dd dawn: set symm_enc default to 0
User mpeleshenko reported that symm encryption breaks hearing map.
Set the default to 0.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2021-10-26 17:52:49 +02:00
Nick Hainke 2e02deb5a9 dawn: update to 2021-10-26
ddc007e32ced ubus: avoid use after free in handle_probe_req()
e1275713c057 github: fix workflow

Signed-off-by: Nick Hainke <vincent@systemli.org>
2021-10-26 00:37:56 +02:00
Nick Hainke c1490175d3 dawn: respawn dawn in case of crash
Some users report that DAWN sometimes crashes after a while. Mostly
this happens after the new update has been rolled out.

Since I would not like to go back to the older version, I add as
a workaround for now that DAWN automatically respawned.

Workaround for:
https://github.com/berlin-open-wireless-lab/DAWN/issues/151

Signed-off-by: Nick Hainke <vincent@systemli.org>
2021-10-21 11:25:10 +02:00
Nick Hainke 147c401d19 dawn: update to 2021-10-13
d222d12bcb58 ubus: use local blub_buffer definitions and free

Signed-off-by: Nick Hainke <vincent@systemli.org>
2021-10-13 11:20:00 +02:00
Nick Hainke 2039e3fce0 dawn: update to 2021-08-05
* c70773a - datastorage: use signal strength as a metric
* 14e0f83 - Don't display debugging output with DAWN_NO_OUTPUT
* 97e5de1 - uci: add neighbor list priority options
* 2b1a53c - dawn_uci: set default values
* 6eb747b - Use separate configs for 802.11g & 802.11a bands
* 1e34357 - Verify compatibility before parsing config message
* a7a8309 - List all neighbors with same score when kicking
* 3ba0fa4 - Change beacon request fields to appropriate values
* 009aab9 - Change mode config parameter from int to string

Signed-off-by: Nick Hainke <vincent@systemli.org>
2021-10-09 10:07:00 +02:00
Nick Hainke 6582979678 dawn: update to 2021-07-27
276ca16 msghandler: fix rrm array parsing
1e4871d datastorage: debug rrm capabilities

Signed-off-by: Nick Hainke <vincent@systemli.org>
2021-07-27 15:59:17 +02:00
Nick Hainke 65e19092a9 dawn: update to 2021-07-11
ec9a3a9 fix GCC11 compilation

Thanks to neheb and cotequeiroz.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2021-07-11 17:34:08 +02:00
Nick Hainke 3d174b39cd dawn: update to latest version
555268b ubus: filter neighbors by SSID when preparing nr
3db9607 data storage: match SSID when searching ap entry
a22f5a7 storage: ensure SSID strings are NULL-terminated

Signed-off-by: Nick Hainke <vincent@systemli.org>
2021-07-08 17:00:48 +02:00
Rosen Penev 2e654b19f3 treewide: back to cmake.mk
Ninja was merged to base and therefore we can now use normal cmake.mk

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-06-12 21:05:01 -07:00
Rosen Penev a31b732007 treewide: build CMake projects with Ninja
faster to compile.

A small selection of packages was tested going from:

Executed in  696.30 secs   fish           external
   usr time   82.98 mins  395.00 micros   82.98 mins
   sys time    9.02 mins    0.00 micros    9.02 mins

to:

Executed in  592.20 secs   fish           external
   usr time   84.84 mins  361.00 micros   84.84 mins
   sys time    8.85 mins   57.00 micros    8.85 mins

Tested by running make -j 12 and wiping staging/build_dir/target_x

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-03-27 21:51:50 -07:00
Nick Hainke 2220432300 dawn: use autorelease feature
Package version is automatically increased as described here:
https://github.com/openwrt/packages/issues/14537

Signed-off-by: Nick Hainke <vincent@systemli.org>
2021-01-27 12:21:27 +01:00
Nick Hainke 2922da5fe6 dawn: bump to latest version
Includes:
  CMakeList: fix compiling with glibc

Signed-off-by: Nick Hainke <vincent@systemli.org>
2020-12-31 00:14:25 +01:00
Nick Hainke 067790ec8f dawn: bump version
The rrm_nr_get_own call was not parsed correctly.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2020-09-03 21:07:41 +02:00
Nick Hainke 5491d33d7d dawn: bump version
Includes:
- datastorage: fix hearingmap not synced

Signed-off-by: Nick Hainke <vincent@systemli.org>
2020-08-26 13:56:40 +02:00
Nick Hainke 89a093a1f0 dawn: bump to latest version
Includes:
- dawn_uci: fix crashing when uci config is received
- tcpsocket: add option to add server ip

A new config option allows to add a server ip
	option server_ip '10.0.0.2'

However, this server does not send anything back. Therefore it is not
possible to change the node configuration. This will probably be added
soon. The main goal of this commit is to allow monitoring of all nodes
in a network with DAWN, e.g. clients, channel utilization, ...

Also a network option (3) has been added which allows to use TCP but
not to announce your daemon in the broadcast domain. This allows you to
create a monitor-only node that holds only the local information and
forwards it to the central server.

A monitor-only node could be configured like
	option server_ip '10.0.0.1'
	option tcp_port '1026'
	option network_option '3'

Another possible config is
        option server_ip '10.0.0.1'
        option tcp_port '1026'
        option network_option '2'
Here, the node shares information with a central server, which can be
located outside the broadcast domain. Nevertheless, it also shares
information within its broadcast domain and can therefore perform
client steering.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2020-08-22 00:45:19 +02:00
Nick Hainke 26fb6219de dawn: bump version
test_storage: fix compilation with musl 1.2.0
datastorage/test: improve scalability and performance
datastorage: fixed use of wrong client search
general: add memory auditing
memory auditing: bug fixes to memory auditing and hearing map
datastorage: fixes to linked list handling
tcpsocket: fix read callback function and arbitrary memory allocations
tcpsocket: leave loop if we read 0 byte

Furthermore, you can now dump the memory usage by sending a SIGHUP to
dawn process.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2020-08-07 12:35:59 +02:00
Nick Hainke 55daa1e8cb dawn: update to latest version 2020-07-12
Includes:
- dawn_uci: no need uci_alloc_context on each uci_set_network call
- test_storage: extend test harness; datastorage: two bug fixes
- tcpsocket: free con after ustream write error and make list each safe
  list_each is not safe against removal of list entry

Signed-off-by: Nick Hainke <vincent@systemli.org>
2020-07-12 14:57:11 +02:00
David Woodhouse 04d69baef9 dawn: update to latest version
Includes:
-  test_storage: further refactoring, added test functionality, and TESTING.md to describe testing approach
-  tcpsocket: implement client_read_cb with ustream_read my wheels are much worse than offical wheels.
-  Revert "tcpsocket: implement client_read_cb with ustream_read my wheels are much worse than offical wheels."
-  uci: fix arm64 compiling

Fixes: #12488
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2020-06-12 11:22:18 +01:00
David Woodhouse 9a5b77bebb dawn: update to latest version
Includes:
-  uci: truncate hostname at first dot
-  ubus/uci/datastorage: add iface and hostname
-  ubus: use strncpy and add backwards compatibility

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2020-06-10 11:40:52 +01:00
David Woodhouse 04ce233b7a dawn: fix network packet format to be host-agnostic
I tried Dawn and it whined at me because it didn't understand its
own packets from a different-endian host.

Mon Jun  8 10:49:12 2020 daemon.err dawn[19742]: not complete msg, len:308, expected len:872480768
Mon Jun  8 10:49:12 2020 daemon.err dawn[19742]: not complete msg, len:708, expected len:3288465408

https://github.com/berlin-open-wireless-lab/DAWN/issues/92

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2020-06-08 12:29:11 +01:00
Nick Hainke 9ca056adb0 dawn: update to latest version
Includes:
-  ubus: fix wrong parsing policy

Signed-off-by: Nick Hainke <vincent@systemli.org>
2020-06-06 11:59:00 +02:00
Nick Hainke e06315c0d0 dawn: fix x86 compiling
Fixes: #12410

Signed-off-by: Nick Hainke <vincent@systemli.org>
2020-06-05 11:14:24 +02:00
Nick Hainke 8f2f64b5a1 dawn: bump to latest version
Includes:
- ubus/datastorage: don't repeatedly ask devices for beacon reports if
	don't support it
- uci: fix loading of config
- utils/ubus: fix memory leak at blobmsg_format_json
- ubus: add local flag to network overview
- ubus: fix network overview
- network/tcpsocket: make sure every msg is complete before handle
- datastorage: refactor to support scalability testing
- network/tcpsocket: make sure every msg is complete before handle
- ubus: fix network overview
- ubus: add local flag to network overview

Signed-off-by: Nick Hainke <vincent@systemli.org>
2020-06-03 09:08:20 +02:00
Nick Hainke 79e3889cf3 dawn: bump to latest version
Prepare DAWN for prometheus-node-exporter by always showing the whole
network overview.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2020-05-27 17:42:03 +02:00
Nick Hainke d1e0ae6a45 dawn: update to latest version
Includes:
- dawn_iwinfo: fix whitespace
- dawn_iwinfo: indentation
- dawn_iwinfo: iwinfo_finish();
- dawn_iwinfo: filter out global interface
- dawn_iwinfo: release iwinfo after usage
- tcpsocket: fix port print
- github: set CONFIG_SRC_TREE_OVERRIDE in actions CI
- github: fix link to dawn source
- github: use v2 for checkout action
- github: add GitHub Actions CI
- ubus: only update TCP socket list when using TCP connections
- add notice that full wpad is requirement
- fix link to luci-app-dawn
- update readme and install instructions

Signed-off-by: Nick Hainke <vincent@systemli.org>
2020-05-23 09:42:02 +02:00
Huangbin Zhan 0ec746ccb6 treewide: add conffiles
Signed-off-by: Huangbin Zhan <zhanhb88@gmail.com>
2020-05-09 06:06:43 +08:00
Nick Hainke 5e3a6e9313 dawn: feed hostapd with nr reports and improve 802.11k handling
If set_hostapd_nr config flag is set, dawn will insert the nr reports
to allow the hostapd to answer to nr requests from clients.

Improve the synchronization of rcpi and rsni in the network.
Further, clients with bad 802.11k were sending beacon reports with
bssid 00:00:00:00:00:00. Catch those corner cases.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2020-04-17 16:14:35 +01:00
Nick Hainke 999bec247a dawn: add 802.11v, prepare 802.11k and debug fix
Add 802.11v bss transition. Exchange nr-reports.

Implement 802.1k hearing map. Future release will use hearing map
for load balancing decisions.

Remove debug output from stderr.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2020-04-16 17:49:56 +02:00
Nick Hainke 802f7ef0ec dawn: fix reboot
DAWN has a race condition with umdns that prevents dawn from surviving
a reboot.
Increase procd start and stop of dawn to 81.

Further, network is sometimes not ready. Add utimer to check if socket
binds correctly.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2020-04-15 21:48:25 +02:00
Nick Hainke f7ea75a0d5 dawn: fix several typos
Signed-off-by: Nick Hainke <vincent@systemli.org>
2020-04-10 10:30:45 +02:00
Nick Hainke 849e6df2de dawn: remove glibc headers extensions
Fixes #11689

Signed-off-by: Nick Hainke <vincent@systemli.org>
2020-03-29 11:01:04 +02:00
Nick Hainke e06d851a42 dawn: fix stdint.h include for arc
Fixes #11686.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2020-03-28 21:56:06 +01:00
Nick Hainke 70fcbadb7c dawn: add decentralized wifi controller
Dawn is a decentralized WiFi controller.
Just install dawn and the APs will find each other via umdns.
They periodically exchange information about connected clients, wireless
statistics and other needed information. With that, the daemon load
balances clients between different APs through association control.

Further, the daemon exposes through ubus the hearing map and the
complete wireless network overview. The hearing map is the list of all
probe requests seen from a client from all APs that are running the
controller.

Hearing map:
ubus call dawn get_hearing_map

Network overview:
ubus call dawn get_network

Dawn has a graphical user interface called luci-app-dawn. With that, the
load balancing and other useful settings can be controlled.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2020-03-28 09:17:09 +01:00