github cilium/pwru v1.0.10
Release v1.0.10

22 days ago

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 run pwru --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 for arm64 in the Docker container image #569.
  • pwru is now tested in CI tested on both amd64, but also arm64 #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

Full Changelog: v1.0.9...v1.0.10

Don't miss a new pwru release

NewReleases is sending notifications on new releases.