From 29c10fafb70148c32b978185622214318ac5ea66 Mon Sep 17 00:00:00 2001 From: Kenjiro Nakayama Date: Thu, 19 May 2022 22:57:41 +0900 Subject: [PATCH 1/2] Set attach type during load for BPF_PROG_TYPE_CGROUP_SKB As per title, this patch sets `expected_attach_type` during load. --- aya/src/programs/cgroup_skb.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/aya/src/programs/cgroup_skb.rs b/aya/src/programs/cgroup_skb.rs index ab928a4db..fdde66740 100644 --- a/aya/src/programs/cgroup_skb.rs +++ b/aya/src/programs/cgroup_skb.rs @@ -62,6 +62,11 @@ pub struct CgroupSkb { impl CgroupSkb { /// Loads the program inside the kernel. pub fn load(&mut self) -> Result<(), ProgramError> { + self.data.expected_attach_type = match self.expected_attach_type { + Some(CgroupSkbAttachType::Ingress) => Some(BPF_CGROUP_INET_INGRESS), + Some(CgroupSkbAttachType::Egress) => Some(BPF_CGROUP_INET_EGRESS), + None => None, + }; load_program(BPF_PROG_TYPE_CGROUP_SKB, &mut self.data) } From 5d228695a46ebcde0e2e351f7b8f691daa3634ea Mon Sep 17 00:00:00 2001 From: Kenjiro Nakayama Date: Fri, 20 May 2022 10:48:52 +0900 Subject: [PATCH 2/2] Use map() --- aya/src/programs/cgroup_skb.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/aya/src/programs/cgroup_skb.rs b/aya/src/programs/cgroup_skb.rs index fdde66740..3f7bda409 100644 --- a/aya/src/programs/cgroup_skb.rs +++ b/aya/src/programs/cgroup_skb.rs @@ -62,11 +62,12 @@ pub struct CgroupSkb { impl CgroupSkb { /// Loads the program inside the kernel. pub fn load(&mut self) -> Result<(), ProgramError> { - self.data.expected_attach_type = match self.expected_attach_type { - Some(CgroupSkbAttachType::Ingress) => Some(BPF_CGROUP_INET_INGRESS), - Some(CgroupSkbAttachType::Egress) => Some(BPF_CGROUP_INET_EGRESS), - None => None, - }; + self.data.expected_attach_type = + self.expected_attach_type + .map(|attach_type| match attach_type { + CgroupSkbAttachType::Ingress => BPF_CGROUP_INET_INGRESS, + CgroupSkbAttachType::Egress => BPF_CGROUP_INET_EGRESS, + }); load_program(BPF_PROG_TYPE_CGROUP_SKB, &mut self.data) }