diff --git a/Cargo.lock b/Cargo.lock index db25a003..32bef889 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1484,7 +1484,7 @@ dependencies = [ [[package]] name = "poptrie" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/poptrie?branch=multipath#ca52bef3f87ff1a67d81b3c6e601dcb5fdbcc165" +source = "git+https://github.com/oxidecomputer/poptrie?branch=main#0fcdc8e9a9491f86b32e743d3f6e049012362b05" [[package]] name = "postcard" diff --git a/Cargo.toml b/Cargo.toml index ab1354fd..08fadd90 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -80,7 +80,7 @@ version_check = "0.9" zerocopy = { version = "0.8", features = ["derive"] } zone = { git = "https://github.com/oxidecomputer/zone" } ztest = { git = "https://github.com/oxidecomputer/falcon", branch = "main" } -poptrie = { git = "https://github.com/oxidecomputer/poptrie", branch = "multipath" } +poptrie = { git = "https://github.com/oxidecomputer/poptrie", branch = "main" } [profile.dev] opt-level = 1 diff --git a/lib/oxide-vpc/src/engine/overlay.rs b/lib/oxide-vpc/src/engine/overlay.rs index 6bfc6bd3..e4a356e8 100644 --- a/lib/oxide-vpc/src/engine/overlay.rs +++ b/lib/oxide-vpc/src/engine/overlay.rs @@ -939,7 +939,7 @@ impl Virt2Boundary { ) { let table = poptrie::Ipv4RoutingTable( tree.iter() - .map(|(k, v)| ((u32::from(k.ip()), k.prefix_len()), v.clone())) + .map(|(k, v)| ((k.ip().bytes(), k.prefix_len()), v.clone())) .collect(), ); *self.pt4.write() = poptrie::Poptrie::from(table); @@ -951,7 +951,7 @@ impl Virt2Boundary { ) { let table = poptrie::Ipv6RoutingTable( tree.iter() - .map(|(k, v)| ((u128::from(k.ip()), k.prefix_len()), v.clone())) + .map(|(k, v)| ((k.ip().bytes(), k.prefix_len()), v.clone())) .collect(), ); *self.pt6.write() = poptrie::Poptrie::from(table);