Compare commits

...

4 Commits

Author SHA1 Message Date
copilot-swe-agent[bot]
148ca5a299 Initial plan 2025-12-07 15:44:29 +00:00
sijie.sun
6ec159bfe8 conn list only check updated peer 2025-12-07 23:21:11 +08:00
sijie.sun
ae731bdb3c tmp 2025-12-07 21:53:24 +08:00
sijie.sun
cf2038b6c1 make ospf route more effiencient 2025-12-07 21:53:24 +08:00
5 changed files with 440 additions and 231 deletions

View File

@@ -160,7 +160,7 @@ jobs:
# The prefix cache key, this can be changed to start a new cache manually. # The prefix cache key, this can be changed to start a new cache manually.
# default: "v0-rust" # default: "v0-rust"
prefix-key: "" prefix-key: ""
cache-targets: "false"
- name: Setup protoc - name: Setup protoc
uses: arduino/setup-protoc@v3 uses: arduino/setup-protoc@v3

10
Cargo.lock generated
View File

@@ -2136,6 +2136,7 @@ dependencies = [
"nix 0.29.0", "nix 0.29.0",
"once_cell", "once_cell",
"openssl", "openssl",
"ordered_hash_map",
"parking_lot", "parking_lot",
"percent-encoding", "percent-encoding",
"petgraph 0.8.1", "petgraph 0.8.1",
@@ -5498,6 +5499,15 @@ dependencies = [
"pin-project-lite", "pin-project-lite",
] ]
[[package]]
name = "ordered_hash_map"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a6c699f8a30f345785be969deed7eee4c73a5de58c7faf61d6a3251ef798ff61"
dependencies = [
"hashbrown 0.15.3",
]
[[package]] [[package]]
name = "os_info" name = "os_info"
version = "3.8.2" version = "3.8.2"

View File

@@ -143,6 +143,7 @@ network-interface = "2.0"
# for ospf route # for ospf route
petgraph = "0.8.1" petgraph = "0.8.1"
hashbrown = "0.15.3" hashbrown = "0.15.3"
ordered_hash_map = "0.5.0"
# for wireguard # for wireguard
boringtun = { package = "boringtun-easytier", version = "0.6.1", optional = true } boringtun = { package = "boringtun-easytier", version = "0.6.1", optional = true }

File diff suppressed because it is too large Load Diff

View File

@@ -38,8 +38,7 @@ async fn test_route_peer_info_ipv6() {
global_ctx.set_ipv6(Some(ipv6_cidr)); global_ctx.set_ipv6(Some(ipv6_cidr));
// Create RoutePeerInfo with IPv6 support // Create RoutePeerInfo with IPv6 support
let peer_info = RoutePeerInfo::new(); let updated_info = RoutePeerInfo::new_updated_self(123, 456, &global_ctx);
let updated_info = peer_info.update_self(123, 456, &global_ctx);
// Verify IPv6 address is included // Verify IPv6 address is included
assert!(updated_info.ipv6_addr.is_some()); assert!(updated_info.ipv6_addr.is_some());