Skip to content

Commit 7da8608

Browse files
committed
Enumerize tracepoint categories as described in libbpf#314
Signed-off-by: yogaraj.s <[email protected]>
1 parent 35f56ec commit 7da8608

File tree

4 files changed

+501
-34
lines changed

4 files changed

+501
-34
lines changed

libbpf-rs/src/lib.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ pub mod query;
9393
mod ringbuf;
9494
mod skeleton;
9595
mod tc;
96+
mod tracepoint;
9697
mod user_ringbuf;
9798
mod util;
9899
mod xdp;
@@ -151,7 +152,6 @@ pub use crate::program::ProgramAttachType;
151152
pub use crate::program::ProgramImpl;
152153
pub use crate::program::ProgramMut;
153154
pub use crate::program::ProgramType;
154-
pub use crate::program::TracepointOpts;
155155
pub use crate::program::UprobeOpts;
156156
pub use crate::program::UsdtOpts;
157157
pub use crate::ringbuf::RingBuffer;
@@ -166,6 +166,8 @@ pub use crate::tc::TC_H_INGRESS;
166166
pub use crate::tc::TC_H_MIN_EGRESS;
167167
pub use crate::tc::TC_H_MIN_INGRESS;
168168
pub use crate::tc::TC_INGRESS;
169+
pub use crate::tracepoint::TracepointCategory;
170+
pub use crate::tracepoint::TracepointOpts;
169171
pub use crate::user_ringbuf::UserRingBuffer;
170172
pub use crate::user_ringbuf::UserRingBufferSample;
171173
pub use crate::util::num_possible_cpus;

libbpf-rs/src/program.rs

Lines changed: 4 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ use crate::ErrorExt as _;
3535
use crate::Link;
3636
use crate::Mut;
3737
use crate::Result;
38+
use crate::TracepointCategory;
39+
use crate::TracepointOpts;
3840

3941
/// Options to optionally be provided when attaching to a uprobe.
4042
#[derive(Clone, Debug, Default)]
@@ -87,33 +89,6 @@ impl From<UsdtOpts> for libbpf_sys::bpf_usdt_opts {
8789
}
8890
}
8991

90-
/// Options to optionally be provided when attaching to a tracepoint.
91-
#[derive(Clone, Debug, Default)]
92-
pub struct TracepointOpts {
93-
/// Custom user-provided value accessible through `bpf_get_attach_cookie`.
94-
pub cookie: u64,
95-
#[doc(hidden)]
96-
pub _non_exhaustive: (),
97-
}
98-
99-
impl From<TracepointOpts> for libbpf_sys::bpf_tracepoint_opts {
100-
fn from(opts: TracepointOpts) -> Self {
101-
let TracepointOpts {
102-
cookie,
103-
_non_exhaustive,
104-
} = opts;
105-
106-
#[allow(clippy::needless_update)]
107-
libbpf_sys::bpf_tracepoint_opts {
108-
sz: size_of::<Self>() as _,
109-
bpf_cookie: cookie,
110-
// bpf_tracepoint_opts might have padding fields on some platform
111-
..Default::default()
112-
}
113-
}
114-
}
115-
116-
11792
/// An immutable parsed but not yet loaded BPF program.
11893
pub type OpenProgram<'obj> = OpenProgramImpl<'obj>;
11994
/// A mutable parsed but not yet loaded BPF program.
@@ -915,7 +890,7 @@ impl<'obj> ProgramMut<'obj> {
915890
/// tracepoint](https://www.kernel.org/doc/html/latest/trace/tracepoints.html).
916891
pub fn attach_tracepoint(
917892
&self,
918-
tp_category: impl AsRef<str>,
893+
tp_category: TracepointCategory,
919894
tp_name: impl AsRef<str>,
920895
) -> Result<Link> {
921896
self.attach_tracepoint_impl(tp_category.as_ref(), tp_name.as_ref(), None)
@@ -926,7 +901,7 @@ impl<'obj> ProgramMut<'obj> {
926901
/// providing additional options.
927902
pub fn attach_tracepoint_with_opts(
928903
&self,
929-
tp_category: impl AsRef<str>,
904+
tp_category: TracepointCategory,
930905
tp_name: impl AsRef<str>,
931906
tp_opts: TracepointOpts,
932907
) -> Result<Link> {

0 commit comments

Comments
 (0)