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 showskb_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