Browse Source

bpf: fix loading socket filters from obj files

Alessandro Decina 4 năm trước cách đây
mục cha
commit
b75efc8efe
2 tập tin đã thay đổi với 6 bổ sung1 xóa
  1. 3 0
      src/bpf.rs
  2. 3 1
      src/obj/mod.rs

+ 3 - 0
src/bpf.rs

@@ -85,6 +85,9 @@ impl Bpf {
                     crate::obj::ProgramKind::KProbe => Program::KProbe(KProbe { data }),
                     crate::obj::ProgramKind::UProbe => Program::UProbe(UProbe { data }),
                     crate::obj::ProgramKind::TracePoint => Program::TracePoint(TracePoint { data }),
+                    crate::obj::ProgramKind::SocketFilter => {
+                        Program::SocketFilter(SocketFilter { data })
+                    }
                     crate::obj::ProgramKind::Xdp => Program::Xdp(Xdp { data }),
                 };
 

+ 3 - 1
src/obj/mod.rs

@@ -56,8 +56,9 @@ pub(crate) struct Program {
 pub enum ProgramKind {
     KProbe,
     UProbe,
-    Xdp,
     TracePoint,
+    SocketFilter,
+    Xdp,
 }
 
 impl FromStr for ProgramKind {
@@ -70,6 +71,7 @@ impl FromStr for ProgramKind {
             "uprobe" => UProbe,
             "xdp" => Xdp,
             "trace_point" => TracePoint,
+            "socket_filter" => SocketFilter,
             _ => {
                 return Err(ParseError::InvalidProgramKind {
                     kind: kind.to_string(),