Pwru Versions Save

Packet, where are you? -- eBPF-based Linux kernel networking debugger

v1.0.6

2 weeks ago

We are pleased to release the 1.0.6 version of pwru.

The major changes include:

  • pwru can track non-skb functions specified via --filter-non-skb-funcs (#355). For example, one can use pwru --filter-non-skb-funcs='xfrm_state_look_at,xfrm_state_lookup,xfrm_state_lookup_byaddr,xfrm_state_lookup_byspi' to enrich IPsec packet traces.
  • Added tracing of skb's even if they were kfree-d (#354). By specifying --filter-track-skb-by-stackid, one can trace packets if they were freed, and then rebuilt (e.g., L2 bridge traffic).
  • pwru is now able to output in JSON (#285). For example:
# pwru --output-tuple --output-meta --output-json 'host 1.1.1.1' | jq .
<..>
{
  "skb": "0xffff8fad947baf00",
  "cpu": 10,
  "process": "/usr/lib/firefox/firefox:1416291",
  "func": "kfree_skbmem",
  "iface": "0",
  "proto": 2048,
  "len": 94,
  "tuple": {
    "saddr": "1.1.1.1",
    "daddr": "192.168.1.159",
    "sport": 53,
    "dport": 34815,
    "proto": 17
  }
}
  • (De)attaching kprobes got ~1.2 times faster (#277).

Functional changes:

  • 4111cd8 - Remove skb-func from non-skb-func slice (@jschwinger233)
  • 0257005 - Remove duplicate funcs from --filter-non-skb-funcs (@jschwinger233)
  • 65d506d - Add --filter-non-skb-funcs (@jschwinger233)
  • 088a54a - bpf: kprobe_skb_by_stackid (@jschwinger233)
  • 3694303 - Implement --filter-track-skb-by-stackid (@jschwinger233)
  • a7cb537 - Print header line for once (@jschwinger233)
  • cebc409 - Avoid printing garvage skb written by previous writer (@YutaroHayakawa)
  • e4b8499 - reduce the build context sent during a docker build (@lpmi-13)
  • d10f9c4 - Output: Add json output (@darox)
  • 9ea2ba5 - Attach tracing of tc-bpf concurrently (@Asphaltt)
  • 47a823e - chore: Show detaching progress always (@Asphaltt)
  • 4ee0356 - Change license of build.go to Apache-2 (@brb)
  • 359e753 - chore: Update copyright statement of bpf_prog.go (@Asphaltt)
  • 29a7ef0 - chore: Add comment for addr of tc bpf prog (@Asphaltt)
  • 20a13ad - Reject to run --filter-trace-tc when not support fentry/fexit (@Asphaltt)
  • 8945a2b - Fix get_func_ip for --filter-trace-tc (@Asphaltt)
  • b47cfab - Fix go.mod (@Asphaltt)
  • f539556 - Flush output file (@Asphaltt)
  • 53e8f30 - Accelerate attaching/detaching kprobes (@Asphaltt)
  • 817bf7c - Add CODEOWNERS (@brb)
  • d53537a - Update .gitignore (@brb)
  • ce2d747 - Update cilium/ebpf to v0.13.0 (@brb)
  • 6258125 - gh/github: Bump LVH dependency in pwru-test (@brb)
  • 724fd83 - Revert "gh/workflows: Use the kprobe backend" (@Asphaltt)
  • f7c6303 - Do kprobe.multi on addresses instead of symbols (@Asphaltt)
  • 7b444b3 - Refactor code of getting kprobe_skb bpf prog (@Asphaltt)
  • 5a90a02 - gh/workflows: Bump LVH action depedency (@brb)
  • 1adec8b - gh/workflows: Change test kernels (@brb)
  • 8f10df1 - gh/workflows: Do not set dns-resolver (@brb)
  • 0b3d5e1 - Add actions: pwru-run, pwru-log (@jschwinger233)
  • f4087c2 - README.md: fix kernel config table rendering (@tklauser)
  • 5919ba7 - README.md: adjust kernel config table (@tklauser)
  • 860705a - Automatically fallback to kprobe backend if available_filter_functions not found (@jschwinger233)
  • 58ecef0 - Filter with available_filter_functions only for kprobe-multi (@jschwinger233)
  • af9ed1c - Remove unused relative timestamp config option (@tklauser)
  • 05cc882 - Bump Go to 1.21.5 (@tklauser)
  • fd88377 - internal/pwru: replace unmaintained mitchellh/go-ps dependency (@tklauser)

Dependency changes:

  • 133b041 - build(deps): bump actions/upload-artifact from 4.3.1 to 4.3.3
  • 5c2c5b3 - build(deps): bump github.com/cilium/ebpf from 0.14.0 to 0.15.0
  • edaa366 - build(deps): bump actions/download-artifact from 4.1.4 to 4.1.5
  • 5a9c525 - build(deps): bump golang.org/x/sync from 0.6.0 to 0.7.0
  • a591840 - build(deps): bump github.com/cilium/ebpf from 0.13.2 to 0.14.0
  • 43200e2 - build(deps): bump golang.org/x/net from 0.21.0 to 0.24.0
  • 0a9e2d1 - build(deps): bump cilium/little-vm-helper from 0.0.16 to 0.0.17
  • c825d7f - build(deps): bump actions/checkout from 4.1.1 to 4.1.2
  • 4ca5c81 - build(deps): bump golang.org/x/sys from 0.17.0 to 0.18.0
  • e2d32b2 - build(deps): bump actions/download-artifact from 4.1.3 to 4.1.4
  • 17830c3 - build(deps): bump actions/download-artifact from 4.1.2 to 4.1.3
  • 97398fc - build(deps): bump golang.org/x/sync from 0.3.0 to 0.6.0
  • fa55033 - build(deps): bump github.com/cilium/ebpf from 0.13.0 to 0.13.2
  • 18c7bdf - build(deps): bump actions/upload-artifact from 4.3.0 to 4.3.1
  • 9e40901 - build(deps): bump actions/download-artifact from 4.1.1 to 4.1.2
  • 732586d - build(deps): bump golang.org/x/net from 0.20.0 to 0.21.0
  • b8c253d - build(deps): bump github.com/cheggaaa/pb/v3 from 3.1.4 to 3.1.5
  • 5d8da3d - build(deps): bump github.com/jsimonetti/rtnetlink from 1.4.0 to 1.4.1
  • b1a5273 - build(deps): bump actions/upload-artifact from 4.0.0 to 4.3.0
  • 2172e77 - build(deps): bump actions/download-artifact from 4.1.0 to 4.1.1
  • 587aa49 - build(deps): bump golang.org/x/net from 0.19.0 to 0.20.0
  • 4aceb7f - build(deps): bump actions/upload-artifact from 3.1.3 to 4.0.0
  • 50bd586 - build(deps): bump golang.org/x/sys from 0.15.0 to 0.16.0

v1.0.5

4 months ago

We are pleased to release the 1.0.5 version of pwru.

The major changes include:

  • Fix loading on >= the 6.6 kernel when there are multiple functions with the same name (#302, #284).

Functional changes:

  • c3a9091 - gh/workflows: Use the kprobe backend (@brb)
  • 9d8ead7 - Temporarily fix loading err on >= 6.6 kernels (@brb)
  • 9b6449a - internal/pwru: Implement a proper help function (@qmonnet)
  • 9f5a386 - Makefile: Remove compiler versions for "make local-release" (@qmonnet)
  • 3307e5c - Makefile: Fix awk command in "make help" (@qmonnet)
  • a8c2661 - ci: Print artifacts with filename (@jschwinger233)
  • 1e10c19 - Update README (@brb)

Dependency changes:

  • d86733b - build(deps): bump github.com/jsimonetti/rtnetlink from 1.3.5 to 1.4.0
  • c5ae578 - build(deps): bump actions/setup-go from 4.1.0 to 5.0.0
  • 0d23d55 - build(deps): bump cilium/little-vm-helper from 0.0.12 to 0.0.13
  • 4e5205c - build(deps): bump golang.org/x/net from 0.17.0 to 0.19.0

v1.0.4

6 months ago

We are pleased to release the 1.0.4 version of pwru.

The major changes include:

  • pwru is able to show TC BPF programs execution when --filter-trace-tc is set (#271). For example:
    0xffff91d7c885f0e8      5   [curl(261789)]  cil_from_container netns=... mark=0x0 iface=11(lxc9376ae2995cc)
    
    shows execution of the Cilium's cil_from_container BPF program.
  • Fixed outputing of network interface and process name (#279, #280). The latter gives better insight which user or kernel process handles a packet. For example:
    0xffffa0fbe16e1500     15 [kworker/15:3-wg-crypt-cilium_wg0(82260)] ....
    
    shows a kernel thread handling WireGuard encryption for cilium_wg0 device.
  • The packet tracing is extended to support skb_clone() and skb_copy when --filter-trace-skb is set (#275). This is useful to trace packets which get modified and no longer match given filters (e.g., after SNAT, tunnel encapsulation, encryption, etc).

Functional changes:

  • 37227ac - Find process using pid instead of tid (@jschwinger233)
  • c2819f3 - Fix ifname output (@jschwinger233)
  • 0d4fc40 - Support tracking skb clones (@Asphaltt)
  • eedae43 - Refactor code of skb tracking (@Asphaltt)
  • 2347755 - Support tracing tc-bpf (@Asphaltt)
  • eee498c - Makefile: add pwru as default target (@darox)
  • a4850ab - Makefile: Add help target (@darox)
  • 3ecaaa0 - vendor: Bump cilium/ebpf (@brb)
  • 8f8c52f - remove instruction to build libpcap (@darox)
  • f687e34 - Readme: Improve instructions (@darox)
  • 8ff06c8 - typo: Availble -> Available (@mauriciovasquezbernal)
  • 6639252 - Remove unnecessary libraries (@Asphaltt)
  • 1ad3cce - Replace objs with collection (@Asphaltt)
  • 88ccb27 - internal/pwru: report skb->protocol in host byte order (@tklauser)
  • b110eb8 - internal/pwru: use %#x formatting verb for hex values (@tklauser)
  • 39a4ea2 - Add CI status and latest release badges (@brb)
  • 8753023 - Improve err reporting when filter-netns cannot be found (@brb)
  • 773775a - Add --filter-ifname to README.md (@brb)

Dependency changes:

  • d6d604d - build(deps): bump github.com/cilium/ebpf from 0.12.0 to 0.12.2
  • 514bedf - build(deps): bump actions/checkout from 4.1.0 to 4.1.1
  • 3abc99e - build(deps): bump golang.org/x/net from 0.15.0 to 0.17.0

v1.0.3

7 months ago

We are pleased to release the 1.0.3 version of pwru.

The major changes include:

  • Added support for L2 filters. For example, to filter ARP replies you can run pwru 'arp and arp[6:2] == 2' (https://github.com/cilium/pwru/pull/255).
  • Added --filter-ifname which allows users to select which device packets should be filtered. The option can be used with --filter-netns which was changed to accept either inode number (inode:) or a file path to a network namespace. For example, to filter only eth0 packets in the 42 pid's network namespace you can run pwru --filter-iface eth0 --filter-netns /proc/42/ns/net (https://github.com/cilium/pwru/pull/257).
  • The --output-meta was extended to print a network interface name. For example, iface=3(wlan0) (https://github.com/cilium/pwru/pull/259).

Functional changes:

  • 93ca1a5 - Output iface name when --output-meta is set (@brb)
  • e98de68 - Vendor jsimonetti/rtnetlink (@brb)
  • 0ea4a67 - Add CI test for --filter-ifname (@jschwinger233)
  • 77ad6fc - Update README (@jschwinger233)
  • 0e514b0 - Vendor vishvananda/netns (@jschwinger233)
  • 0deaf79 - Add --filter-ifname (@jschwinger233)
  • 207ae70 - Add CI test for arp filter (@jschwinger233)
  • 088110f - Reject L3 skb more efficiently (@jschwinger233)
  • 8a14820 - Allow to inject L2 filters (@jschwinger233)
  • 8f4317a - Compile and inject ebpf for both L3 and L2 skb (@jschwinger233)
  • 02f0619 - Distinguish L3 skb and L2 skb in bpf (@jschwinger233)
  • 5d66305 - Correctly calculate data_end (@jschwinger233)
  • b8dbecf - Add CI testcases (@jschwinger233)
  • f26ea48 - Add action pwru-test (@jschwinger233)
  • f87a0c4 - Define StackOffset constant vars to avoid hardcode (@jschwinger233)
  • 97ab6e2 - Use bpf2bpf to simplify libpcap ebpf injection (@jschwinger233)
  • 03e1711 - Allow example to run as script (@azzid)

Dependency changes:

  • 7849235 - build(deps): bump actions/checkout from 4.0.0 to 4.1.0 dependabot[bot]
  • df2c42a - build(deps): bump actions/upload-artifact from 3.1.2 to 3.1.3 dependabot[bot]
  • b781f31 - build(deps): bump golang.org/x/tools from 0.12.0 to 0.13.0 dependabot[bot]

v1.0.2

8 months ago

We are pleased to release the 1.0.2 version of pwru.

This release fixes the bug in the v1.0.1 pwru due to invalid byte code produced by libpcap.a when compiled with LLVM 13 (https://github.com/cilium/pwru/issues/245):

Failed to inject filter ebpf for kprobe_skb_2: register r8 used twice

Functional changes:

  • 908776a - gh/workflows: Use "make release" to build pwru for testing (@brb)
  • 50c2e2f - make: Use LLVM 15 for release builds (@brb)

Dependency changes:

  • 80d7973 - build(deps): bump actions/checkout from 3.6.0 to 4.0.0
  • cea9128 - build(deps): bump golang.org/x/sys from 0.11.0 to 0.12.0

v1.0.1

8 months ago

We are pleased to release the 1.0.1 version of pwru.

The major changes include:

  • When --filter-track-skb is used, stop tracking a packet once it hits kfree_skbmem. This significantly helps to reduce pwru output volume.

Functional changes:

  • cc9c63f - Stop tracking skb in the end of its lifetime (@jschwinger233)
  • 3f39b56 - Inject ebpf pcap filter more robustically (@jschwinger233)
  • 5e6011d - Raise rlimit nofile to 8192 (@jschwinger233)
  • a7fe035 - gh/workflows: Bump LLVM to 15.0 (@brb)
  • 9956043 - README.md: Update kubectl example (@brb)
  • dca0529 - Dockerfile: Use busybox as base image (@brb)
  • a83fa68 - Dockerfile: Fix libpcap.a compilation (@brb)
  • dc35cd5 - fix: don't compile libpcap RDMA support (@benner)
  • 67cad29 - Add bpf-next to CI (@brb)

Dependency changes:

  • bdfbfbe - build(deps): bump actions/checkout from 3.5.3 to 3.6.0
  • 44708d3 - build(deps): bump actions/setup-go from 4.0.1 to 4.1.0
  • ad4c372 - build(deps): bump golang.org/x/tools from 0.11.0 to 0.12.0
  • 8d5ffa2 - build(deps): bump cilium/little-vm-helper from 0.0.11 to 0.0.12
  • 10e84a2 - build(deps): bump cilium/little-vm-helper from 0.0.7 to 0.0.11

v1.0.0

9 months ago

We are pleased to release the 1.0.0 version of pwru. It is the first major version ever released :tada:

The major changes include:

  • Added support for libpcap-based filtering (#198 by @jschwinger233). Now it's possible to filter packets in the same way as with tcpdump. For example, to trace only TCP SYN packets to 1.1.1.1 run pwru 'host 1.1.1.1 and tcp[tcpflags] == tcp-syn'. Please refer to man 7 pcap-filter for the full filtering syntax.

  • Added --filter-track-skb to trace packets even if they were modified and no longer match given filters (#194 by @jschwinger233). Useful when tracing packets which can be (d)encapsulated, SNAT-ed, encrypted, etc.

  • Fixed pwru slow loading on Ubuntu due to the bug in pahole (https://github.com/cilium/ebpf/pull/1084 by @lmb).

  • Fixed trace loses due to perf ring buffer being full (#195 by @jschwinger233). Now traces are stored in BPF_MAP_TYPE_QUEUE instead of BPF_MAP_TYPE_PERF_EVENT_ARRAY.

  • The userspace code was re-licensed under Apache-2.0, while the BPF under BSD 2-Clause and GPL-2.0 (#190 by @brb).

Functional changes:

  • bc07418 - Update demo cast (@brb)
  • fe0c59f - Fix code not matching the comment (@mozillazg)
  • f4e7b0e - Update cilium/ebpf to v0.11.0 (@brb)
  • 8e2cf58 - release: Fix cross-compilation for arm64 (@brb)
  • e7019e2 - make: Cross-compile pwru target (@brb)
  • 0b59297 - make: Add cross-compilation of libpcap.a (@brb)
  • 8d213f7 - build: Rename arch variable (@brb)
  • 5f366c5 - Change licenses (@brb)
  • 5b80bae - Derive the L4 hdr from the L3 hdr (@jschwinger233)
  • a15be32 - make: Update libpcap.a target (@brb)
  • 1e99df0 - Use vendored libpcap.a and related headers (@brb)
  • b6e7f19 - Vendor libpcap v1.10.4 under libpcap/ (@brb)
  • de5b0e9 - Move libpcap into internal/ (@brb)
  • 7ed9082 - Minor: s/TC_ACT_OK/r0/ (@jschwinger233)
  • 24a5b42 - Delete obsolete perf output flag: --per-cpu-buffer (@jschwinger233)
  • d15f647 - gh/workflows: Use ubuntu-22.04 for running tests (@brb)
  • a3c0e90 - make: Compile bare minimal libpcap.a (@brb)
  • 55d7fb3 - make: Use absolute path for clang-13 (@brb)
  • d0360c9 - build, ci: update Go to 1.20.5 (@tklauser)
  • f7f9bdb - Drop legacy filter flags (@jschwinger233)
  • b79bd9e - Fix wrong StackOffset for converting cbpf to ebpf (@jschwinger233)
  • f470db0 - Update README (@jschwinger233)
  • 20cf22a - Update build flow (@jschwinger233)
  • c753d31 - Delete obsolete configs (@jschwinger233)
  • a877fbf - Update dependencies: add cloudflare/cbpfc (@jschwinger233)
  • d68f8f7 - Add --filter-pcap flags (@jschwinger233)
  • 7dab5f1 - Intro libpcap pkg for ebpf compilation and injection (@jschwinger233)
  • ddddb13 - bpf: delete filter_l3_and_l4, add bpf_printk as placeholder (@jschwinger233)
  • 62d0dff - main: pass -target to bpf2go (@lmb)
  • 0578811 - main: use rlimit.RemoveMemlock() (@lmb)
  • 2b720fb - Add flag --filter-track-skb to enable tracking skb by address (@jschwinger233)
  • b9dd685 - bpf: add track_skb logic in bpf program (@jschwinger233)
  • cdab14e - Replace BPF_MAP_TYPE_PERF_EVENT_ARRAY by BPF_MAP_TYPE_QUEUE (@jschwinger233)
  • d3ace5d - gh/workflows: Use 6.3 instead of 6.0 (@brb)
  • 8002526 - gh/workflows: Disable bpf-next (@brb)
  • 86a49b9 - gh/workflows: Pin LVH VM images (@brb)
  • 7d0f047 - README.md: Fix amd64 -> arm64 typo (@kdrag0n)
  • 56f1ae8 - Updated Vagrantfile to use latest Ubuntu Image (@PMaynard)
  • 0ea1175 - Add note about debugfs to requirements (@pgampe)

Dependency changes:

  • 658dbbc - build(deps): bump github.com/cheggaaa/pb/v3 from 3.1.2 to 3.1.4
  • f7c232d - build(deps): bump golang.org/x/tools from 0.10.0 to 0.11.0
  • 4554207 - build(deps): bump KyleMayes/install-llvm-action from 1.8.2 to 1.8.3
  • ef0d566 - build(deps): bump golang.org/x/sys from 0.9.0 to 0.10.0
  • 7fbf855 - build(deps): bump KyleMayes/install-llvm-action from 1.8.1 to 1.8.2
  • 5291216 - Bump cilium/little-vm-helper from 0.0.5 to 0.0.7
  • 7753fe6 - Bump golang.org/x/tools from 0.9.3 to 0.10.0
  • 45794bd - Bump actions/checkout from 3.5.2 to 3.5.3
  • b915176 - Bump golang.org/x/sys from 0.8.0 to 0.9.0
  • 8f35632 - Bump KyleMayes/install-llvm-action from 1.8.0 to 1.8.1
  • 74dc67b - Bump golang.org/x/tools from 0.9.2 to 0.9.3
  • beded6f - Bump cilium/little-vm-helper from 0.0.4 to 0.0.5
  • ce78405 - Bump golang.org/x/tools from 0.9.1 to 0.9.2
  • 3315bec - Bump cilium/little-vm-helper from 0.0.3 to 0.0.4
  • 232f2da - Bump actions/setup-go from 4.0.0 to 4.0.1
  • 3d78bb2 - Bump golang.org/x/tools from 0.9.0 to 0.9.1
  • d87353a - Bump golang.org/x/tools from 0.8.0 to 0.9.0
  • 0a08823 - Bump golang.org/x/sys from 0.7.0 to 0.8.0
  • bbc414b - Bump actions/checkout from 3.5.0 to 3.5.2
  • 347e780 - Bump golang.org/x/tools from 0.7.0 to 0.8.0
  • fadf199 - Bump golang.org/x/sys from 0.6.0 to 0.7.0
  • f699d81 - Bump KyleMayes/install-llvm-action from 1.7.0 to 1.8.0
  • 5106872 - Bump actions/checkout from 3.4.0 to 3.5.0

v0.0.9

1 year ago

We are pleased to release the 0.0.9 version of pwru.

The major changes include:

  • Fix the IPv6 filtering, in particular --filter-{src,dst}-ip and --filter-proto=icmp6 (#157 and #165).

Functional changes:

  • f6c5ddb - bpf: Fix addr filtering (@Asphaltt)
  • df2e321 - Fix icmp6 filter (@brb)
  • 8259c1b - Fix cilium/ebpf bump to v0.10.0 (@brb)
  • 45a9fdc - README.md: Add Slack info (@brb)
  • c46b015 - README.md: Move Vagrant HOWTO to separate file (@brb)
  • ae7fe1c - README.md: Update --help (@brb)
  • bfe2465 - output: add absolute time to timestamp flag (@sterchelen)
  • 00f840d - bpf: Use bpf2bpf to reduce .o file size (@Asphaltt)
  • 68882e5 - bpf: Make config as a constant (@Asphaltt)

Dependency changes:

  • c895af3 - Bump actions/checkout from 3.3.0 to 3.4.0
  • 53e2e55 - Bump actions/setup-go from 3.5.0 to 4.0.0
  • 6654c61 - Bump actions/cache from 3.3.0 to 3.3.1
  • 9e64551 - Bump actions/cache from 3.2.6 to 3.3.0
  • 84d00b7 - Bump golang.org/x/tools from 0.5.0 to 0.7.0
  • a097dfa - Bump golang.org/x/sys from 0.5.0 to 0.6.0
  • a33df81 - Bump github.com/cheggaaa/pb/v3 from 3.1.0 to 3.1.2
  • 227c9cf - Bump actions/cache from 3.2.5 to 3.2.6
  • 4b97395 - Bump cilium/ebpf to v0.10.0
  • 0cbf834 - Bump actions/cache from 3.2.4 to 3.2.5
  • a1ddc97 - Bump golang.org/x/sys from 0.4.0 to 0.5.0

v0.0.8

1 year ago

We are pleased to release the 0.0.8 version of pwru.

The major changes include:

  • New filter --filter-port to allow users to filter either source or destination L4 port (#141).
  • Print packet drop reason from kfree_skb_reason (#148). For example:
    free_skb_reason(SKB_DROP_REASON_NETFILTER_DROP) 2.2.2.2:52276->1.1.1.1:4240(tcp)
    

Functional changes:

  • 8426338 - Print drop reason from kfree_skb_reason (@brb)
  • ca21eae - Fix IPv6 source filtering (@brb)
  • 0aab051 - fix improper linguist-vendored (@ur4t)
  • 12bba89 - add .gitattributes linguist-vendored (@ur4t)
  • ad99efd - fix corrupted progress bar when attaching kprobes is interrupted (@ur4t)
  • 58a7f5f - supress git warning when staging changes in internal/pwru/ (@ur4t)
  • e85bc16 - follow upstream libbpf header path convention (@ur4t)
  • 7bdaca1 - improve readability (@ur4t)
  • 808a2c7 - use macros to add krpobes (@ur4t)
  • b0d949c - use BPF_CORE_READ macros instead of raw bpf_probe_read (@ur4t)
  • 077de72 - update libbpf to v1.1.0 (@ur4t)
  • e0f6fe2 - Add port filter option to allow filtering on either src or dst port (@msherif1234)
  • da955ee - gh/workflows: Switch to large runners (@brb)
  • 5f42ebe - Update README.md (@ur4t)
  • 4a9de52 - main: Replace reflection with interfaces (@gandro)
  • 35eef14 - tools: Add getgetter utility (@gandro)
  • ed16f16 - vendor: Add golang.org/x/tools/imports (@gandro)
  • 1c34411 - Makefile: Clean up generated files for kprobe-multi (@gandro)

Dependency changes (dependabot):

  • 1a55e48 - Bump actions/cache from 3.2.3 to 3.2.4
  • 4c5f6c1 - Bump KyleMayes/install-llvm-action from 1.6.1 to 1.7.0
  • 7fffe1f - Bump actions/cache from 3.2.2 to 3.2.3
  • 2c1d48c - Bump golang.org/x/tools from 0.4.0 to 0.5.0
  • f003c72 - Bump actions/upload-artifact from 3.1.1 to 3.1.2
  • afa3cf1 - Bump golang.org/x/sys from 0.3.0 to 0.4.0
  • 1039b26 - Bump actions/checkout from 3.2.0 to 3.3.0
  • f1790aa - Bump actions/cache from 3.2.0 to 3.2.2
  • 5b5f886 - Bump actions/cache from 3.0.11 to 3.2.0
  • 8d5ac07 - Bump cilium/little-vm-helper
  • eea1a65 - Bump actions/checkout from 3.1.0 to 3.2.0

v0.0.7

1 year ago

We are pleased to release the 0.0.7 version of pwru.

The major changes include:

  • Blazingly fast load time thanks to the multi-link kprobes #99.
  • Continuous integration tests #111.
  • Fix of the IPv6 filtering #121.

12fcaef - make: Use git safe.directory instead of mangling uid/gid (@brb) 120e969 - Add IPv6 test case (@brb) 6b118cf - Fix ipv6 filtering (@brb) fe62d2c - Small vars declaration cleanup (@brb) ee7e5e7 - Add type shim for kprobes representation in Go (@brb) 820fbb2 - Add multi-link kprobe support (@brb) feba59a - Add HaveBPFLinkKprobeMulti (@brb) 5bd118a - bpf: Add kprobe.multi (@brb) 19ca0ed - bpf: Prepare for bpf_get_func_ip() (@brb) 93cf26f - Bump actions/setup-go from 3.4.0 to 3.5.0 (dependabot) f37867b - Bump KyleMayes/install-llvm-action from 1.6.0 to 1.6.1 (dependabot) f4bb669 - Bump actions/setup-go from 3.3.1 to 3.4.0 (dependabot) 32cf9dd - Bump actions/upload-artifact from 3.1.0 to 3.1.1 (dependabot) fbdd809 - Bump cilium/little-vm-helper (dependabot) b8de3be - Bump cilium/little-vm-helper (dependabot) 3d205fe - Add CI tests (@brb) 0a23f88 - Add hidden --ready-file (@brb) 0a62618 - Add --output-file to log traces (@brb) 2692f2e - Update after renaming to main branch (@tklauser)