Download Latest Version pwru-linux-amd64.tar.gz (4.2 MB)
Email in envelope

Get an email when there's a new version of pwru

Home / v1.0.7
Name Modified Size InfoDownloads / Week
Parent folder
pwru-linux-arm64.tar.gz.sha256sum 2024-07-10 90 Bytes
pwru-linux-amd64.tar.gz.sha256sum 2024-07-10 90 Bytes
pwru-linux-arm64.tar.gz 2024-07-10 3.6 MB
pwru-linux-amd64.tar.gz 2024-07-10 4.0 MB
README.md 2024-07-10 4.4 kB
Release v1.0.7 source code.tar.gz 2024-07-10 3.9 MB
Release v1.0.7 source code.zip 2024-07-10 4.7 MB
Totals: 7 Items   16.2 MB 0

We are pleased to release the 1.0.7 version of pwru.

The major changes include:

  • pwru is now able to trace XDP programs (#339). To enable it, use the --filter-trace-xdp flag. For example:

    pwru --filter-trace-xdp --output-tuple 'tcp and port 80 and host 100.64.0.101'

    <..> SKB CPU PROCESS TUPLE FUNC 0xffff97de3826d2c0 2 ~m-agent:2825426 100.64.0.101:80->172.20.0.2:45509(tcp) cil_xdp_entry(xdp) 0xffff97ddbf541840 2 ~m-agent:2825426 100.64.0.101:80->172.20.0.2:44879(tcp) cil_xdp_entry(xdp) 0xffff97df1390b000 3 ~m-agent:2825426 100.64.0.101:80->172.20.0.2:44879(tcp) cil_xdp_entry(xdp) * The MTU, which is printed when using --output-meta, can show modifications due to route MTU, XFRM policies, etc (#388). * The new --output-skb-shared-info can be used to show skb_shared_info (#364). * Improved tracking of SKBs when --filter-track-skb is used. For example, pwru is able to trace packets after they have been handled by XDP progs attached to veth (#384, [#391], [#397]).

Functional changes:

  • cf5229b - Trace veth_convert_skb_to_xdp_buff using skb->head (@jschwinger233)
  • 5699a37 - Rename skb_addr to skb_head (@jschwinger233)
  • 7a33683 - --filter-track-skb can track skbs re-built from veth_convert_skb_to_xdp_buff (@jschwinger233)
  • b33c3bb - Collect MTU from skb->_skb_refdst (@jschwinger233)
  • 438ea99 - Rename KprobeFuncs to NewKprober (@Asphaltt)
  • 96fe764 - Track and output hard start of packet data (@Asphaltt)
  • 509efb3 - Support tracing XDP (@Asphaltt)
  • cfe9a88 - bpf: Add bpf_endian.h (@Asphaltt)
  • 9f660df - Skip trace BTF-not-annotated bpf progs (@Asphaltt)
  • 0ab0dc1 - fix: Get bpf prog entry func name from insns (@Asphaltt)
  • c857506 - build(deps): bump actions/checkout from 4.1.6 to 4.1.7
  • 3871a44 - Refactor code of attaching kprobe to non-skb funcs (@Asphaltt)
  • 2c0afa8 - Refactor code of attaching skb-tracking kprobe (@Asphaltt)
  • e064545 - Refactor code of attaching kprobe (@Asphaltt)
  • 059997a - bpf: Differentiate skb tracking reasons (@jschwinger233)
  • 7988665 - output: Print funcname with padding if caller is required (@jschwinger233)
  • 75ca355 - Implement --output-caller (@jschwinger233)
  • 8e35676 - Add --output-caller flag (@jschwinger233)
  • 0c793e9 - Use using bit fields for FilterCfg (@jschwinger233)
  • 05fe67e - Use 0 instead of 00000000 for MARK (@jschwinger233)
  • f06dd79 - Left align zero NETNS (@jschwinger233)
  • f262fd0 - ci: Adjust test cases (@jschwinger233)
  • 58b4021 - Print TUPLE with historical max length (@jschwinger233)
  • b123b02 - LEN has 5 bytes (@jschwinger233)
  • b296ec8 - MTU has 5 bytes (@jschwinger233)
  • dd37d45 - Limit PROTO column to 6 bytes (@jschwinger233)
  • db8a495 - Set 16 to IFACE column width (@jschwinger233)
  • 278ca66 - Set 8 width to MARK column (@jschwinger233)
  • 350c654 - Set 10 width to NETNS column (@jschwinger233)
  • 7c1f219 - Limit PROCESS to 16 bytes (@jschwinger233)
  • f6e8733 - Reduce CPU column width to 3 (@jschwinger233)
  • ceaeb5e - Left align (@jschwinger233)
  • e3b2c66 - Move FUNC to the last column (@jschwinger233)
  • 90d8c4c - Complete column names (@jschwinger233)
  • 8d64575 - gh/workflows: Upload pwru logs upon failure (@brb)
  • c076a4c - Add support for printing skb_shared_info (@YutaroHayakawa)

Dependency changes:

  • 063d67b - build(deps): bump actions/download-artifact from 4.1.7 to 4.1.8
  • 489330c - build(deps): bump actions/upload-artifact from 4.3.3 to 4.3.4
  • d5956c1 - build(deps): bump golang.org/x/net from 0.26.0 to 0.27.0
  • adb9cb1 - build(deps): bump golang.org/x/sys from 0.21.0 to 0.22.0
  • 7bacf08 - build(deps): bump golang.org/x/net from 0.25.0 to 0.26.0
  • 1a5a781 - build(deps): bump cilium/little-vm-helper from 0.0.17 to 0.0.18
  • 27f4cbe - build(deps): bump github.com/jsimonetti/rtnetlink from 1.4.1 to 1.4.2
  • 734d7f7 - build(deps): bump golang.org/x/net from 0.24.0 to 0.25.0
  • cfb0851 - build(deps): bump actions/checkout from 4.1.4 to 4.1.6
  • a576523 - build(deps): bump actions/setup-go from 5.0.0 to 5.0.1
  • a9236c7 - build(deps): bump golang.org/x/sys from 0.19.0 to 0.20.0
  • 836fa22 - build(deps): bump actions/checkout from 4.1.2 to 4.1.4
  • 23ced3e - build(deps): bump actions/download-artifact from 4.1.5 to 4.1.7
  • 42cfb38 - build(deps): bump github.com/tklauser/ps from 0.0.2 to 0.0.3
Source: README.md, updated 2024-07-10