diff --git a/{{project-name}}-common/Cargo.toml b/{{project-name}}-common/Cargo.toml index ea6d40f..6cd39be 100644 --- a/{{project-name}}-common/Cargo.toml +++ b/{{project-name}}-common/Cargo.toml @@ -8,7 +8,7 @@ default = [] user = ["aya"] [dependencies] -aya = { version = ">=0.11", optional = true } +aya = { git = "https://github.com/aya-rs/aya", optional = true } [lib] path = "src/lib.rs" diff --git a/{{project-name}}/src/main.rs b/{{project-name}}/src/main.rs index f9dc7b2..5ef5328 100644 --- a/{{project-name}}/src/main.rs +++ b/{{project-name}}/src/main.rs @@ -10,7 +10,7 @@ use aya::programs::UProbe; {%- when "sock_ops" -%} use aya::programs::SockOps; {%- when "sk_msg" -%} -use aya::maps::{MapRefMut,SockHash}; +use aya::maps::SockHash; use aya::programs::SkMsg; use {{crate_name}}_common::SockKey; {%- when "xdp" -%} @@ -112,10 +112,12 @@ async fn main() -> Result<(), anyhow::Error> { program.load()?; program.attach(cgroup)?; {%- when "sk_msg" -%} - let sock_map = SockHash::::try_from(bpf.map_mut("{{sock_map}}")?)?; + let sock_map: SockHash::<_, SockKey> = bpf.map("{{sock_map}}").unwrap().try_into()?; + let map_fd = sock_map.fd()?; + let prog: &mut SkMsg = bpf.program_mut("{{crate_name}}").unwrap().try_into()?; prog.load()?; - prog.attach(&sock_map)?; + prog.attach(map_fd)?; // insert sockets to the map using sock_map.insert here, or from a sock_ops program {%- when "xdp" -%} let program: &mut Xdp = bpf.program_mut("{{crate_name}}").unwrap().try_into()?;