Skip to content

Commit c4b80f2

Browse files
committed
Add --filter-trace-only-bpf
Signed-off-by: Sachin Tiptur <[email protected]>
1 parent df81d04 commit c4b80f2

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

internal/pwru/types.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ type Flags struct {
3333
FilterTrackSkbByStackid bool
3434
FilterTraceTc bool
3535
FilterTraceXdp bool
36+
FilterTraceOnlyBpf bool
3637
FilterTrackBpfHelpers bool
3738
FilterIfname string
3839
FilterPcap string
@@ -72,6 +73,7 @@ func (f *Flags) SetFlags() {
7273
flag.BoolVar(&f.FilterTrackSkbByStackid, "filter-track-skb-by-stackid", false, "trace a packet even after it is kfreed (e.g., traffic going through bridge)")
7374
flag.BoolVar(&f.FilterTraceTc, "filter-trace-tc", false, "trace TC bpf progs")
7475
flag.BoolVar(&f.FilterTraceXdp, "filter-trace-xdp", false, "trace XDP bpf progs")
76+
flag.BoolVar(&f.FilterTraceOnlyBpf, "filter-trace-only-bpf", false, "trace only TC and XDP bpf progs")
7577
flag.BoolVar(&f.FilterTrackBpfHelpers, "filter-track-bpf-helpers", false, "trace BPF helper functions")
7678
flag.StringVar(&f.FilterIfname, "filter-ifname", "", "filter skb ifname in --filter-netns (if not specified, use current netns)")
7779
flag.UintVar(&f.FilterKprobeBatch, "filter-kprobe-batch", 10, "batch size for kprobe attaching/detaching")

main.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,11 @@ func main() {
9898
useKprobeMulti = true
9999
}
100100

101+
// If --filter-trace-only-bpf is set, then trace only TC and XDP
102+
if flags.FilterTraceOnlyBpf {
103+
flags.FilterTraceTc = true
104+
flags.FilterTraceXdp = true
105+
}
101106
funcs, err := pwru.GetFuncs(flags.FilterFunc, btfSpec, flags.KMods, useKprobeMulti)
102107
if err != nil {
103108
log.Fatalf("Failed to get skb-accepting functions: %s", err)

0 commit comments

Comments
 (0)