Major Changes
- Users can now select which SKB/XDP fields to output using
--output-{skb,xdp}-metadata
#509. For example:pwru --filter-trace-xdp --output-xdp-metadata 'xdp->rxq->dev->ifindex' host 1.1.1.1 ... 1.1.1.1:0->192.168.241.133:0(icmp) bpf_prog_3b185187f1855c4c_dummy[bpf](xdp) ifindex=2
- Added support for tunnel traffic filtering and output #494. For example:
pwru --filter-func=udp_queue_rcv_skb 'port 8472' --output-tunnel --filter-tunnel-pcap-l3 'port 8080' --output-tcp-flags ... 172.18.0.5:54806->172.18.0.2:8472(udp) udp_queue_rcv_skb 52:2e:36:8d:11:23 -> ba:44:d8:6c:66:5a 10.244.1.205:36739->10.244.3.122:8080(tcp:SYN)
pwru
now accepts an SKB mark mask via--filter-mark mark[/mask]
#471. For example, you can runpwru --filter-mask 0xa00/0xf00
.- The fast
kprobe-multi
backend is now supported for tracing kernel modules #470. For example:pwru --all-kmods ... Attaching kprobes (via kprobe-multi)...
- TCP flags can now be displayed when
--output-tcp-flags
is set #466. For example:pwru --output-tcp-flags 'host 1.1.1.1' ... ... 192.168.1.165:44884->1.1.1.1:80(tcp:SYN) ip_local_out
- In addition to
amd64
, pwru is now published forarm64
in the Docker container image #569. - pwru is now tested in CI tested on both
amd64
, but alsoarm64
#576. pwru
can now run on the LoongArch architecture #337.
Full Changelog
- README: Mention that debugfs is optional by @brb in #447
- build(deps): bump golang.org/x/net from 0.28.0 to 0.30.0 by @dependabot[bot] in #443
- Dockerfile: build arm64 variants by @akerouanton in #449
- build(deps): bump golang.org/x/sync from 0.8.0 to 0.9.0 by @dependabot[bot] in #454
- build(deps): bump golang.org/x/sys from 0.26.0 to 0.27.0 by @dependabot[bot] in #456
- build(deps): bump actions/checkout from 4.2.1 to 4.2.2 by @dependabot[bot] in #446
- bpf: Remove OUTPUT_SKB&HAS_KPROBE_MULTI macros by @Asphaltt in #455
- Ensure fentry and kprobe programs share the maps by @jschwinger233 in #459
- Fix tracing tc-bpf with --filter-track-skb-by-stackid by @Asphaltt in #452
- Collect and output skb->cb when --filter-trace-tc by @jschwinger233 in #461
- Add --output-skb-cb by @brb in #465
- build(deps): bump golang.org/x/net from 0.30.0 to 0.32.0 by @dependabot[bot] in #463
- build(deps): bump actions/setup-go from 5.0.2 to 5.2.0 by @dependabot[bot] in #467
- build(deps): bump golang.org/x/sync from 0.9.0 to 0.10.0 by @dependabot[bot] in #473
- build(deps): bump actions/upload-artifact from 4.4.3 to 4.5.0 by @dependabot[bot] in #472
- Support --filter-mark mark/[/mask] by @rgo3 in #471
- build(deps): bump golang.org/x/net from 0.32.0 to 0.33.0 by @dependabot[bot] in #474
- Enable kprobe-multi for kmods by default by @rgo3 in #470
- build(deps): bump github.com/vishvananda/netns from 0.0.4 to 0.0.5 by @dependabot[bot] in #475
- build(deps): bump golang.org/x/arch from 0.11.0 to 0.13.0 by @dependabot[bot] in #478
- build(deps): bump golang.org/x/net from 0.33.0 to 0.34.0 by @dependabot[bot] in #479
- gh/workflows: Fix fetching pwru logs by @brb in #375
- gh/workflows: Bump LVH images by @brb in #440
- Bump cilium/ebpf to 0.17.1 by @brb in #481
- Events from kprobe.multi have eventTypeKprobeMulti set in .type by @jschwinger233 in #477
- gh/workflows: Add --backend=kprobe-multi test by @brb in #482
- cleanup: setting LogSize is deprecated/unused. by @tommyp1ckles in #487
- build(deps): bump github.com/cheggaaa/pb/v3 from 3.1.5 to 3.1.6 by @dependabot[bot] in #490
- Output TCP flags alongside tuple by @Asphaltt in #466
- gh/workflows: Set up traffic before running pwru by @brb in #493
- build(deps): bump github.com/cilium/ebpf from 0.17.1 to 0.17.2 by @dependabot[bot] in #495
- Fix broken --filter-trace-xdp caused by go-ebpf v0.17.1 by @Asphaltt in #484
- Add dummy --filter-track-{tc,xdp} tests by @brb in #492
- build(deps): bump github.com/spf13/pflag from 1.0.5 to 1.0.6 by @dependabot[bot] in #496
- build(deps): bump golang.org/x/sync from 0.10.0 to 0.11.0 by @dependabot[bot] in #500
- build(deps): bump golang.org/x/sys from 0.29.0 to 0.30.0 by @dependabot[bot] in #501
- build(deps): bump golang.org/x/arch from 0.13.0 to 0.14.0 by @dependabot[bot] in #504
- build(deps): bump golang.org/x/net from 0.34.0 to 0.35.0 by @dependabot[bot] in #505
- build(deps): bump github.com/cilium/ebpf from 0.17.2 to 0.17.3 by @dependabot[bot] in #506
- Add LoongArch support by @chenhengqi in #337
- CI: Fix Failures: Bump LVM action version to latest release. by @tommyp1ckles in #511
- Support outputting and filtering by vxlan/geneve tunnel data by @tommyp1ckles in #494
- deps: Bump github.com/cheggaaa/pb/v3 from 3.1.6 to 3.1.7 by @brb in #512
- Move static variables of big size to percpu array by @jschwinger233 in #503
- chore: Configure Renovate by @renovate[bot] in #515
- chore(deps): update actions/download-artifact digest to 95815c3 by @renovate[bot] in #521
- chore(deps): update actions/checkout digest to 85e6279 by @renovate[bot] in #517
- chore(deps): update actions/create-release digest to 4c11c9f - autoclosed by @renovate[bot] in #520
- renovate: Run go mod tidy by @brb in #524
- fix(deps): update github.com/cloudflare/cbpfc digest to ff978e9 by @renovate[bot] in #526
- chore(deps): update actions/setup-go digest to dca8468 by @renovate[bot] in #522
- fix(deps): update module golang.org/x/net to v0.36.0 [security] by @renovate[bot] in #516
- fix(deps): update module golang.org/x/sys to v0.31.0 by @renovate[bot] in #532
- chore(deps): update dependency go to v1.24.2 by @renovate[bot] in #528
- chore(deps): update docker.io/library/golang docker tag to v1.24.2 by @renovate[bot] in #529
- renovate: Run on Fri and group all deps by @brb in #535
- Remove dependabot.yml by @brb in #536
- Introduce two enhancements for func IP by @Asphaltt in #468
- go.mod: Bump to 1.24.1 by @brb in #538
- fix(deps): update all dependencies by @renovate[bot] in #537
- pwru: Add --output-skb-metadata and --output-xdp-metadata by @Asphaltt in #509
- fix(deps): update all dependencies by @renovate[bot] in #542
- Support output tuple for 802.1Q by @chenhengqi in #544
- fix(deps): update all dependencies by @renovate[bot] in #547
- fix(deps): update all dependencies by @renovate[bot] in #550
- Move Contributing to a separate file by @xmulligan in #510
- renovate: Try to fix go mod tidy issues by @brb in #553
- renovate: Fix syntax by @brb in #555
- Compile libpcap with --disable-protochain by @jschwinger233 in #558
- Add percpu buffer flag by @AdvH039 in #552
- chore(deps): update all dependencies by @renovate[bot] in #556
- renovate: Run go mod vendor by @brb in #561
- renovate: Fix syntax error by @brb in #563
- ci: add workflow to validate renovate config by @tklauser in #564
- renovate: Try go mod vendor/tidy for the group by @brb in #565
- renovate: Allow go.sum updates by @brb in #567
- vendor: Switch to rtnetlink@v2 by @brb in #568
- fix(deps): update all go dependencies main by @renovate[bot] in #566
- ci: release workflow improvements by @tklauser in #570
- ci: add workflow to build and push release multi-arch Docker images by @tklauser in #569
- Release Docker images only when v* tag is pushed by @brb in #572
- chore(deps): update docker/setup-buildx-action action to v3.11.1 by @renovate[bot] in #571
- gh/workflows: Build images per each PR by @brb in #573
- fix(deps): update all dependencies by @renovate[bot] in #574
- fix(deps): update all go dependencies main by @renovate[bot] in #575
- chore(deps): update cilium/little-vm-helper action to v0.0.25 by @renovate[bot] in #577
- fix(deps): update all go dependencies main by @renovate[bot] in #579
- chore(deps): update all dependencies by @renovate[bot] in #578
- fix: pwru build error on LoongArch by @vincentmli in #580
- fix(deps): update module github.com/spf13/pflag to v1.0.7 by @renovate[bot] in #582
- chore(deps): update actions/setup-go digest to 8e57b58 - autoclosed by @renovate[bot] in #581
- gh/workflow: Run tests on arm64 by @brb in #576
- chore(deps): update actions/checkout digest to 8edcb1b by @renovate[bot] in #584
- bice: update to v0.1.3 for Loongarch64 support by @vincentmli in #587
- Fix ARM build - BUILDPLATFORM arg is defined after use by @nmbradford in #585
- fix(deps): update all go dependencies main by @renovate[bot] in #589
- chore(deps): update all dependencies by @renovate[bot] in #588
- Bump clang to 19 by @brb in #591
New Contributors
- @akerouanton made their first contribution in #449
- @rgo3 made their first contribution in #471
- @tommyp1ckles made their first contribution in #487
- @chenhengqi made their first contribution in #337
- @renovate[bot] made their first contribution in #515
- @xmulligan made their first contribution in #510
- @AdvH039 made their first contribution in #552
- @vincentmli made their first contribution in #580
- @nmbradford made their first contribution in #585
Full Changelog: v1.0.9...v1.0.10