Commit Graph
100 Commits
Author SHA1 Message Date
Nils Andreas Svee c2a7c5dfdb refactor(main): Optimize reflector list assignment 2026-02-22 17:05:06 +07:00
Nils Andreas Svee a4a83222fe refactor(ratectrl): Enhance stability and file handling 2026-02-22 17:05:01 +07:00
Nils Andreas Svee c45351042e fix(pinger): Improve robustness of pinger operations 2026-02-22 17:04:56 +07:00
Nils Andreas Svee 1a87372ffb refactor(main): Centralize thread error handling 2026-02-22 16:58:01 +07:00
Nils Andreas Svee c116dd3e74 refactor(sync): Replace unwrap with anyhow-based locking 2026-02-22 16:57:11 +07:00
Nils Andreas Svee d4ad24ce4a feat(util): Introduce Mutex/RwLock error handling traits 2026-02-22 16:57:02 +07:00
Nils Andreas Svee 8589a1c7dc feat(ratecontrol): Fallback to min rates 2026-02-22 12:13:14 +07:00
Nils Andreas Svee fa370b323b feat(pinger): Configurable tick interval 2026-02-22 12:13:14 +07:00
Nils Andreas Svee 489e3f45f7 feat(config): Dynamic min rate calculation 2026-02-22 12:13:14 +07:00
Nils Andreas Svee 1357a23578 fix(reflector): Remove no-op 'len()' call 2026-02-22 12:13:14 +07:00
Nils Andreas Svee 5af42c4a22 refactor(ratecontrol): Rate calculation uses floor 2026-02-22 12:13:14 +07:00
Nils Andreas Svee f2113fa11c refactor(ratecontrol): Use custom Time for logging 2026-02-22 12:13:13 +07:00
Nils Andreas Svee 0990332f18 refactor(log): Use custom Time for timestamps 2026-02-22 12:13:13 +07:00
Nils Andreas Svee eb88107bd0 chore(deps): Remove 'time' crate 2026-02-22 12:13:13 +07:00
Nils Andreas Svee 714a121113 feat(time): Add granular time getters 2026-02-22 12:13:01 +07:00
Nils Andreas Svee 830e21363a refactor: replace rand crate with fastrand
Replaces the `rand` crate with `fastrand` for improved performance in rate control and reflector selection.
2026-02-22 00:33:57 +07:00
Nils Andreas Svee 616a3b1c70 fix(netlink): Improves error handling
Refactors error handling for interface and queue discipline operations to provide more informative error messages. This aids in debugging and user experience.
2026-02-21 23:21:32 +07:00
Nils Andreas Svee 986b649a37 feat(netlink): Refactors to use netlink-socket2
Migrates netlink implementation to use netlink-socket2 and netlink-bindings crates, replacing neli crate for improved socket handling. Removes unused dependencies.
2026-02-21 23:10:48 +07:00
Nils Andreas Svee e2962222b7 fix: Improve error handling for reflector list loading
Improves error handling when the reflector list file is not found, providing more context about the failure.
2026-02-21 23:06:32 +07:00
Nils Andreas Svee 99a7928a66 style(reflector): Reorder imports and truncate vector 2026-02-21 22:42:20 +07:00
Nils Andreas Svee 127ed692c3 refactor(reflector): Improve candidate selection loop 2026-02-21 22:42:20 +07:00
Nils Andreas Svee 2aec477b89 refactor(ratecontroller): Simplify delta_stat logic 2026-02-21 22:42:20 +07:00
Nils Andreas Svee 67bb185e28 refactor(main): Make reflector pool configurable 2026-02-21 22:42:20 +07:00
Nils Andreas Svee 66a2834192 feat(reflector): Use configurable reselection time 2026-02-21 22:42:20 +07:00
Nils Andreas Svee a4b3e7406e feat(config): Add peer reselection time 2026-02-21 22:42:20 +07:00
Nils Andreas Svee 2d21680f82 refactor(pinger): Simplifies imports
Simplifies imports by removing unused `IcmpPacketBuildError`.
2026-02-21 22:20:53 +07:00
Nils Andreas Svee 056288b0e8 fix(ratecontroller): correct generation of initial speeds 2026-02-21 22:20:30 +07:00
Nils Andreas Svee 6a49ad9112 Refactor(netlink): Replaces zerocopy with bytemuck
Migrates from `zerocopy` to `bytemuck` for improved data serialization and deserialization in netlink communication. This enhances maintainability.
2026-02-21 19:09:10 +07:00
Nils Andreas Svee 5838b0b9ee refactor: replace bincode with zerocopy
Replaces bincode with zerocopy for deserialization of network data, improving performance and reducing dependencies.
2026-02-21 18:44:43 +07:00
Nils Andreas Svee f3e7729f43 refactor: Removes redundant trait implementation
Removes the duplicate `WithTimestampRequest` trait implementation as it's now provided by the `icmp-socket` crate fork.
2026-02-21 17:25:25 +07:00
Nils Andreas Svee f5d3776159 refactor: migrate ICMP handling to icmp-socket crate 2026-02-21 17:13:54 +07:00
Nils Andreas Svee 5f13511ee3 chore: removes Dockerfile
Removes the Dockerfile.
No longer needed for current build process.
2026-02-21 15:07:10 +07:00
Nils Andreas Svee 8a3dbcfd0b ci: Archives target-specific binary
Ensures the pipeline archives the correct binary for each target architecture. Uses CARGO_BUILD_TARGET to locate and rename the binary before archiving.
2026-02-21 15:02:51 +07:00
Nils Andreas Svee 611998c5e9 fix(Jenkinsfile): Removes duplicate target
Removes a duplicate target from the Jenkinsfile. This ensures correct target specification during builds.
2026-02-21 15:02:43 +07:00
Nils Andreas Svee 83ee08052f feat: Enables nightly toolchain support
Adds support for the nightly Rust toolchain, enabling the `build-std` feature when detected. This allows building with `panic=abort` for smaller binaries.
2026-02-21 14:45:32 +07:00
Nils Andreas Svee 9c11f2ed3f ci: Configures cross-compilation for Rust
Configures the Rust build environment for cross-compilation within the CI pipeline by setting CARGO_HOME, adding local bin to PATH, and copying the linker configuration from the image. This ensures the build process uses the correct linker settings for the target architecture.
2026-02-21 14:08:24 +07:00
Nils Andreas Svee cccd3a3966 ci: remove mold and debug statements
Removes mold integration and debug statements from the CI pipeline. This simplifies the build process and improves clarity by removing unnecessary tools and logs.
2026-02-21 13:57:47 +07:00
Nils Andreas Svee d0ecf72566 ci: Adds compiler version checks
Adds compiler version checks to ensure correct toolchain setup for cross-compilation.
2026-02-21 13:42:25 +07:00
Nils Andreas Svee 07b74666ac ci: Adds debug info to CI build
Adds `ls` command to inspect the contents of the musl toolchain directory for debugging purposes in the CI environment. This aids in diagnosing potential build issues related to toolchain availability.
2026-02-21 13:37:52 +07:00
Nils Andreas Svee 9d863b470f chore: Configures mold linker for Linux
Configures the mold linker for Linux targets, excluding MIPS architectures due to incompatibility. This improves linking speed.
2026-02-21 13:30:05 +07:00
Nils Andreas Svee 684d137235 Move mold version check to after clang and gcc 2026-02-21 13:12:14 +07:00
Nils Andreas Svee b3da435125 Add GCC version check to Jenkinsfile 2026-02-21 13:03:05 +07:00
Nils Andreas Svee 44ba412bd5 Update mold version in Jenkinsfile to 2.40.4 2026-02-21 12:46:34 +07:00
Nils Andreas Svee c376880393 Update Jenkinsfile to always pull Docker image 2026-02-21 11:11:03 +07:00
Nils Andreas Svee a427d4078b chore(deps): Update rand and log imports 2026-02-21 00:22:57 +07:00
Nils Andreas Svee ad84618b46 refactor(icmp): Remove ToNativeEndian usage 2026-02-21 00:22:57 +07:00
Nils Andreas Svee 55feeafc90 refactor(netlink): Migrate qdisc functions 2026-02-21 00:22:57 +07:00
Nils Andreas Svee 121e8cda40 refactor(netlink): Migrate interface functions 2026-02-21 00:22:57 +07:00
Nils Andreas Svee ca1bc8f8b5 refactor(netlink): Migrate nl_interface_get 2026-02-21 00:22:57 +07:00
Nils Andreas Svee 200ec32201 refactor(deps): Update neli imports and error types 2026-02-21 00:22:57 +07:00
Nils Andreas Svee 40a84f5711 chore(deps): update dependencies to latest versions 2026-02-20 23:04:06 +07:00
Nils Andreas Svee 2b74caebcd chore: remove dependabot configuration
Removes automated dependency update configuration
2026-02-20 22:59:29 +07:00
Nils Andreas Svee 9fb0e0cfe7 chore: update deps 2026-02-20 22:56:04 +07:00
Nils Andreas Svee 4670345caa build: update rustix and dependencies
Update rustix to version 1.1 and refresh the Cargo lockfile to ensure compatibility with the latest transitive dependency versions.
2026-02-20 22:49:11 +07:00
Nils Andreas Svee 90d7e75096 refactor: remove custom endian traits in favor of standard library 2026-02-20 22:40:37 +07:00
Nils Andreas Svee 6553b643eb fix(osv): correct branch names 2025-06-13 12:18:35 +07:00
Nils Andreas Svee fa20dd4137 fix(baseliner): correct up_ewma to be taken from up time 2025-06-13 12:17:46 +07:00
Nils Andreas Svee 111d1cda95 chore: use latest osv scanner workflow from google 2025-06-13 12:11:56 +07:00
Nils Andreas Svee ffa3190735 chore: update osv-scanner to v2.0.2 2025-06-13 11:59:39 +07:00
Nils Andreas Svee 2fd4fade2d chore(build): install mold dep 2025-05-28 13:40:38 +07:00
Nils Andreas Svee 4b47633457 fix(build): move config.toml to the right folder 2025-05-09 20:05:52 +07:00
Nils Andreas Svee f4a9135c60 fix(build): wget not available, use curl 2025-05-09 19:56:07 +07:00
Nils Andreas Svee 4b566bc04d chore(build): try to use mold instead 2025-05-09 19:48:28 +07:00
Nils Andreas Svee 2656e7e4f6 chore(build): set cc 2025-05-09 19:28:19 +07:00
Nils Andreas Svee 942a28ed1c chore: print env again. 2025-05-09 19:24:57 +07:00
Nils Andreas Svee 44305f70ad fix(build): try to move cargo home to ws 2025-05-09 18:56:36 +07:00
Nils Andreas Svee 9c4b6ab7df chore(build): use premade docker env 2025-05-09 18:46:21 +07:00
Nils Andreas Svee 31d3db328a chore: use lld with rust 2025-05-09 05:47:00 +07:00
Nils Andreas Svee d9b87a5087 fix(build): triple check that CC gets ets correctly 2025-05-09 04:57:41 +07:00
Nils Andreas Svee c6c4b17ef5 fix: let the shell handle the env vars 2025-05-09 04:48:47 +07:00
Nils Andreas Svee 7489f5ae93 chore: try to fix path 2025-05-09 04:40:48 +07:00
Nils Andreas Svee 97a4bfeaba fix(build): try to get the env right 2025-05-09 02:48:22 +07:00
Nils Andreas Svee b9749981d0 chore(builder): printenv for test 2025-05-09 02:37:28 +07:00
Nils Andreas Svee 44e4e8591e Revert "chore: add network=host to build arg just to test"
This reverts commit a615174451.
2025-05-09 01:59:39 +07:00
Nils Andreas Svee a615174451 chore: add network=host to build arg just to test 2025-05-09 01:46:07 +07:00
Nils Andreas Svee 63b49dd347 chore: use dockerfile as jenkins agent 2025-05-09 01:11:35 +07:00
Nils Andreas Svee 39a6ace0a9 chore(netlink): adopt to new bincode version 2025-05-09 00:08:45 +07:00
Nils Andreas Svee 49b076d10c chore: upgrade to new major version of deps 2025-05-09 00:08:25 +07:00
Nils Andreas Svee fadf4d1f6d chore: update locked deps 2025-05-08 23:50:31 +07:00
Nils Andreas Svee d8c6b4422b chore: remove unnecessary 'mut' in baseliner loop 2025-05-08 23:49:42 +07:00
Nils Andreas Svee 31598a812f fix: use specific SliceError for etherparse 2025-05-08 23:49:14 +07:00
Nils Andreas Svee 3b9f00cd75 fix: account for rand crate changes 2025-05-08 23:48:38 +07:00
Nils Andreas Svee 66e52b8792 chore: add build workflow 2025-05-08 20:08:01 +07:00
Nils Andreas Svee 2b0e8a1cb0 chore: add README 2025-05-08 19:57:38 +07:00
Nils Andreas Svee e70451a4f4 chore: update to rust edition 2024 and bump version 2025-05-08 19:47:08 +07:00
Nils Andreas Svee fd7e2770e1 chore: add osv scanner 2025-05-08 19:26:03 +07:00
Nils Andreas Svee f3715d1dc6 chore: add rust-clippy scan 2025-05-08 19:12:57 +07:00
Nils Andreas Svee 26d4fa6167 chore: add devskim config 2025-05-08 19:12:19 +07:00
Nils Andreas Svee 7b3dd0338f chore: add dependabot config 2025-05-08 19:00:32 +07:00
Nils Andreas Svee 4a1368cd7a revert socket2 to 0.4.x 2023-03-12 01:59:44 +01:00
Nils Andreas Svee f7c2464a80 Update dependencies 2023-03-07 14:59:44 +01:00
Nils Andreas Svee 7a589ffdf7 sleep for shorter intervals between each ping 2023-03-01 20:13:46 +01:00
Nils Andreas Svee 7134f62e02 Revert "jenkinsfile: enable uci"
This reverts commit de099a44ac.
2022-11-27 22:38:32 +01:00
Nils Andreas Svee de099a44ac jenkinsfile: enable uci 2022-11-27 21:59:50 +01:00
Nils Andreas Svee 512a5dec16 jenkinsfile: add arm targets 2022-11-27 21:35:12 +01:00
Nils Andreas Svee f2b7ff066c jenkinsfile: move rustflags to build stage 2022-11-27 20:52:10 +01:00
Nils Andreas Svee bc8138c51a jenkinsfile: force static builds 2022-11-27 20:47:07 +01:00
Nils Andreas Svee d0dc59d763 Revert "jenkinsfile: use only one target while testing"
This reverts commit e56c367183.
2022-11-27 16:37:16 +01:00
Nils Andreas Svee 610d8bbe98 jenkinsfile: switch to replaceall 2022-11-27 16:09:24 +01:00
Nils Andreas Svee e6ece9493d jenkinsfile: set linker for rust 2022-11-27 16:06:37 +01:00