Commit Graph
1471 Commits
Author SHA1 Message Date
Lee Smet d6f8d804c0 Expose method to fetch NoRoute subnets from router
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet 532737148e Add NoRoute type and iterator
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet 10163534d2 Add CLI method for queried routes in myceliumd-private
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet aaed9495a1 Add CLI method for queried routes in myceliumd
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet 95a9da6ebd Add CLI functionality to check queried routes
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet 15472959bd Fix fallback route handler operation id in api.yaml
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet dd434aea75 Add queried subnets API endpoint to api.yaml
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet 4b44c74371 Format API docs
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet 3925fe2b22 Add API handler to list queried routes
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet a829854a9a Expose method to load queried routes on node
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet 29f1a5c5c5 Expose method to load queried routes on router
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet 2f4b531c83 Add iterator for queried subnets
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet e950761526 Check for query resolution faster
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet fd403b0bc5 Remove development log
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet c856a72bca Only return a writeguard for routes if there are routes
Return None in case the entry is queried or not existing, as we
semantically don't have routes in this case. This matches the
implementatin of routes_mut on the WriteGuard

Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet 94afd94f27 Use best_routes to look up route for packet
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet 0267b35e6b Properly reply to route requests
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet b0a60b4294 Perform a route query when looking up shared secret we don't know
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet acf02b1ec0 Mark a subnet as queried when we send a route request
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet d627f20527 Don't request a route table dump when connecting
Since we don't keep the full route table anymore, there is no point in
fetching this

Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet 126a97b84f Send route request if we don't have a record for a subnet
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet 64779c28cb Add Impl From<Ipv6Addr> for Subnet
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet edb6725ea1 Add automatic exipiration of no route states in routing table
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet dd2470309e Add automatic expiration of route requests in routing table
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet 4969d8fa61 Flush the write handle after marking a subnet as queried
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet a8e0f27a0f Propagate route requests to peers if we don't know the route
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet c8f8a73ad3 Add generation to route request packet
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet 3b0d20fd04 Remove periodic updates
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet 6dcd27f034 Add queried and not found routes to route table
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet 60d8f4a9f1 Revert "Add generation to route request packet"
This reverts commit 727036eafd.
2025-03-25 11:12:07 +01:00
Lee Smet 727036eafd Add generation to route request packet
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-03-24 16:35:12 +01:00
Lee Smet ad358dde3d Move RouteList to separate module
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-03-20 17:32:20 +01:00
Lee Smet 0d6d6016c6 Update code for latest dependencies
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-03-19 10:38:55 +01:00
Lee Smet 8e8da5e4c0 Update mycelium-ui dependencies to latest version
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-03-19 10:38:24 +01:00
Lee Smet d4e13cf5d9 Update binary lockfiles
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-03-19 10:23:59 +01:00
dependabot[bot] d40d049ec4 Bump the mycelium group with 3 updates
Bumps the mycelium group with 3 updates: [rustls](https://github.com/rustls/rustls), [rtnetlink](https://github.com/rust-netlink/rtnetlink) and [once_cell](https://github.com/matklad/once_cell).


Updates `rustls` from 0.23.23 to 0.23.25
- [Release notes](https://github.com/rustls/rustls/releases)
- [Changelog](https://github.com/rustls/rustls/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rustls/rustls/compare/v/0.23.23...v/0.23.25)

Updates `rtnetlink` from 0.15.0 to 0.16.0
- [Release notes](https://github.com/rust-netlink/rtnetlink/releases)
- [Changelog](https://github.com/rust-netlink/rtnetlink/blob/main/CHANGELOG)
- [Commits](https://github.com/rust-netlink/rtnetlink/compare/v0.15.0...v0.16.0)

Updates `once_cell` from 1.21.0 to 1.21.1
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md)
- [Commits](https://github.com/matklad/once_cell/compare/v1.21.0...v1.21.1)

---
updated-dependencies:
- dependency-name: rustls
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: rtnetlink
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mycelium
- dependency-name: once_cell
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-19 09:32:31 +01:00
Lee Smet 13f7a0856d Update flake.lock
Update nix inputs to latest version. Specifically, this (finally)
updates the rust compiler from version 1.84 to 1.85, fixing CI builds
(as some dependencies make use of edition 2024, which is only stable
starting rust 1.85).

Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-03-19 09:30:26 +01:00
Lee Smet 837c6d9545 Update dependencies
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-03-13 15:07:47 +01:00
Lee Smet ea289e51ef Allow deletion of multiple peers simultaniously
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-03-13 14:25:03 +01:00
Lee Smet 85763283dc Don't remove seqno cache keys on receiving an update
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-03-13 14:07:43 +01:00
Lee Smet 70c9fb8977 Update binary lockfiles
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-03-12 11:24:48 +01:00
dependabot[bot] f75d5f5412 Bump the myceliumd-private group in /myceliumd-private with 4 updates
Bumps the myceliumd-private group in /myceliumd-private with 4 updates: [clap](https://github.com/clap-rs/clap), [serde](https://github.com/serde-rs/serde), [tokio](https://github.com/tokio-rs/tokio) and [config](https://github.com/rust-cli/config-rs).


Updates `clap` from 4.5.31 to 4.5.32
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v4.5.31...clap_complete-v4.5.32)

Updates `serde` from 1.0.218 to 1.0.219
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.218...v1.0.219)

Updates `tokio` from 1.43.0 to 1.44.0
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.43.0...tokio-1.44.0)

Updates `config` from 0.15.8 to 0.15.9
- [Changelog](https://github.com/rust-cli/config-rs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-cli/config-rs/compare/v0.15.8...v0.15.9)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd-private
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd-private
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: myceliumd-private
- dependency-name: config
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd-private
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-12 11:22:39 +01:00
dependabot[bot] 174ae6d421 Bump the myceliumd group in /myceliumd with 4 updates
Bumps the myceliumd group in /myceliumd with 4 updates: [clap](https://github.com/clap-rs/clap), [serde](https://github.com/serde-rs/serde), [tokio](https://github.com/tokio-rs/tokio) and [config](https://github.com/rust-cli/config-rs).


Updates `clap` from 4.5.31 to 4.5.32
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v4.5.31...clap_complete-v4.5.32)

Updates `serde` from 1.0.218 to 1.0.219
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.218...v1.0.219)

Updates `tokio` from 1.43.0 to 1.44.0
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.43.0...tokio-1.44.0)

Updates `config` from 0.15.8 to 0.15.9
- [Changelog](https://github.com/rust-cli/config-rs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-cli/config-rs/compare/v0.15.8...v0.15.9)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: myceliumd
- dependency-name: config
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-12 11:22:18 +01:00
dependabot[bot] 1fa6b2f5f8 Bump the mycelium group across 1 directory with 8 updates
Bumps the mycelium group with 8 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [tokio](https://github.com/tokio-rs/tokio) | `1.43.0` | `1.44.0` |
| [serde](https://github.com/serde-rs/serde) | `1.0.218` | `1.0.219` |
| [bytes](https://github.com/tokio-rs/bytes) | `1.10.0` | `1.10.1` |
| [netdev](https://github.com/shellrow/netdev) | `0.32.0` | `0.33.0` |
| [rtnetlink](https://github.com/rust-netlink/rtnetlink) | `0.14.1` | `0.15.0` |
| [libc](https://github.com/rust-lang/libc) | `0.2.170` | `0.2.171` |
| [once_cell](https://github.com/matklad/once_cell) | `1.20.3` | `1.21.0` |
| [reqwest](https://github.com/seanmonstar/reqwest) | `0.12.12` | `0.12.13` |



Updates `tokio` from 1.43.0 to 1.44.0
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.43.0...tokio-1.44.0)

Updates `serde` from 1.0.218 to 1.0.219
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.218...v1.0.219)

Updates `bytes` from 1.10.0 to 1.10.1
- [Release notes](https://github.com/tokio-rs/bytes/releases)
- [Changelog](https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/bytes/compare/v1.10.0...v1.10.1)

Updates `netdev` from 0.32.0 to 0.33.0
- [Release notes](https://github.com/shellrow/netdev/releases)
- [Commits](https://github.com/shellrow/netdev/compare/v0.32.0...v0.33.0)

Updates `rtnetlink` from 0.14.1 to 0.15.0
- [Release notes](https://github.com/rust-netlink/rtnetlink/releases)
- [Changelog](https://github.com/rust-netlink/rtnetlink/blob/main/CHANGELOG)
- [Commits](https://github.com/rust-netlink/rtnetlink/compare/v0.14.1...v0.15.0)

Updates `libc` from 0.2.170 to 0.2.171
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.171/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.170...0.2.171)

Updates `once_cell` from 1.20.3 to 1.21.0
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md)
- [Commits](https://github.com/matklad/once_cell/compare/v1.20.3...v1.21.0)

Updates `reqwest` from 0.12.12 to 0.12.13
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.12.12...v0.12.13)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mycelium
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: bytes
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: netdev
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mycelium
- dependency-name: rtnetlink
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mycelium
- dependency-name: libc
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: once_cell
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mycelium
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-12 11:21:57 +01:00
dependabot[bot] b63860e4cd Bump ring from 0.17.8 to 0.17.13
Bumps [ring](https://github.com/briansmith/ring) from 0.17.8 to 0.17.13.
- [Changelog](https://github.com/briansmith/ring/blob/main/RELEASES.md)
- [Commits](https://github.com/briansmith/ring/commits)

---
updated-dependencies:
- dependency-name: ring
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-12 10:25:27 +01:00
dependabot[bot] 59eac987c1 Bump ring from 0.17.8 to 0.17.13 in /mycelium-ui
Bumps [ring](https://github.com/briansmith/ring) from 0.17.8 to 0.17.13.
- [Changelog](https://github.com/briansmith/ring/blob/main/RELEASES.md)
- [Commits](https://github.com/briansmith/ring/commits)

---
updated-dependencies:
- dependency-name: ring
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-12 10:25:01 +01:00
dependabot[bot] bedc9764c2 Bump ring from 0.17.8 to 0.17.13 in /myceliumd
Bumps [ring](https://github.com/briansmith/ring) from 0.17.8 to 0.17.13.
- [Changelog](https://github.com/briansmith/ring/blob/main/RELEASES.md)
- [Commits](https://github.com/briansmith/ring/commits)

---
updated-dependencies:
- dependency-name: ring
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-12 10:24:36 +01:00
dependabot[bot] 11fe29652c Bump ring from 0.17.8 to 0.17.13 in /myceliumd-private
Bumps [ring](https://github.com/briansmith/ring) from 0.17.8 to 0.17.13.
- [Changelog](https://github.com/briansmith/ring/blob/main/RELEASES.md)
- [Commits](https://github.com/briansmith/ring/commits)

---
updated-dependencies:
- dependency-name: ring
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-12 10:24:13 +01:00
Lee Smet 08b0b9e142 Record seqno dropped metric if we rate limit it
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-03-06 14:22:52 +01:00
Lee Smet 0d0f7dac25 Use Ahash for update ring hashing
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-03-06 14:22:01 +01:00