Releases: cilium/pwru
Release v0.0.8
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:kfree_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
Release v0.0.7
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)
Release v0.0.6
We are pleased to release the 0.0.6 version of pwru
.
The major changes include:
- Fix for a failure when running on the 6.0.8 kernel.
286623e - Bump cilium/ebpf to latest (@brb)
7afe5d8 - Simplify README wrt to debugfs mount (@brb)
9b0acba - Add flag to attach to all available kernel modules (@varunkumare99)
ccdcad9 - Update docker/Kubernetes deployment instructions in README (@anubhabMajumdar)
d7e5de9 - Bump actions/setup-go from 3.3.0 to 3.3.1 (dependabot)
e35c400 - Bump KyleMayes/install-llvm-action from 1.5.5 to 1.6.0 (dependabot)
4dca6ab - [StepSecurity] ci: Harden GitHub Actions (StepSecurity Bot)
4451809 - Bump actions/cache from 3.0.10 to 3.0.11 (dependabot)
43d5841 - Bump github.com/cilium/ebpf from 0.9.2 to 0.9.3 (dependabot)
3a5c32e - Bump actions/cache from 3.0.9 to 3.0.10 (dependabot)
ff8c2d0 - Bump actions/cache from 3.0.8 to 3.0.9 (dependabot)
63c5838 - Filter out non-available_filter_functions (@brb)
4c42375 - Add example how to run on K8s (@brb)
e8ce718 - Update Dockerfile to use llvm 14 and Go 1.19.1 (@jauderho)
5ded771 - Bump cilium/ebpf to v0.9.2 (@brb)
634b700 - Bump KyleMayes/install-llvm-action from 1.5.4 to 1.5.5 (dependabot)
84f82d5 - gh/workflows: Remove slack notification (@brb)
Release v0.0.5
We are pleased to release the 0.0.5 version of pwru
.
The major changes include:
pwru
is published in a Docker image, and can be run with
docker run --privileged --rm -t --pid=host cilium/pwru [args]
.- Changes to the output format (added CPU, made Timestamp optional).
- Fix function offsets to handle
endbr64
in the kernel code.
f9c08d7 - Update README.md (@brb)
93fee0a - Make timestamp optional (@brb)
5c28bfc - Add CPU ID to output (@brb)
f166870 - Try to fix endbr64 kprobe mess (@brb)
73eaf6e - Bump 8398a7/action-slack from 3.13.1 to 3.13.2 (dependabot)
d01a490 - Bump actions/cache from 3.0.7 to 3.0.8 (dependabot)
fb370b6 - Bump 8398a7/action-slack from 3.13.0 to 3.13.1 (dependabot)
8a36dc0 - add multi-stage builds to minimize docker image size (@voldemorte)
bb24e94 - Bump actions/cache from 3.0.6 to 3.0.7 (dependabot)
c4aea7d - Bump actions/cache from 3.0.5 to 3.0.6 (dependabot)
Release v0.0.4
We are pleased to release the 0.0.4 version of pwru
.
The major changes include:
Full changelog:
- 2625e36 - Bump KyleMayes/install-llvm-action from 1.5.3 to 1.5.4 (dependabot)
- 4a04b90 - Bump actions/cache from 3.0.4 to 3.0.5 (dependabot)
- 61a3d0a - Bump github.com/cheggaaa/pb/v3 from 3.0.8 to 3.1.0 (dependabot)
- 13ed259 - Update README.md (@brb)
- bed215a - Add --kmods (@brb)
- 3e2aa32 - Update cilium/ebpf (@brb)
- c8620f9 - Run with specified kernel BTF file (@Asphaltt)
- 4044993 - make: run release build as regular user (@tklauser)
- 7396d9d - .gitignore: ignore release directory (@tklauser)
- 3e7141c - Update Go to 1.18.3, alpine to 3.16 (@tklauser)
- db7466b - Silence clang build warnings complaining address-of-packed-member (@chendotjs)
- c18ec7b - Makefile: fix release target (@chendotjs)
- 482c349 - Fix again min kernel vsn in README.md (@brb)
- 4a066b0 - Bump actions/cache from 3.0.3 to 3.0.4 (dependabot)
- c9fba89 - Bump actions/cache from 3.0.2 to 3.0.3 (dependabot)
- ebaab02 - go.mod, vendor: update github.com/cilium/ebpf to v0.9.0 (@tklauser)
- c8f45af - Bump KyleMayes/install-llvm-action from 1.4.1 to 1.5.3 (dependabot)
- 91a539a - .github: un-ignore cilium/ebpf in dependabot config (@tklauser)
- 8a2bb78 - go.mod: update to Go 1.18 (@tklauser)
- 932cd15 - .github/workflows: build release with Go 1.18 (@tklauser)
- f81d64e - Switch to gh/cilium/ebpf (@brb)
- 20c3741 - Bump actions/checkout from 2 to 3 (dependabot)
- 5ec925b - Bump actions/setup-go from 2 to 3 (dependabot)
- 0abfd13 - .github: fix label for dependabot PRs (@tklauser)
- e51fbd1 - Bump actions/cache from 2.1.6 to 3.0.2 (dependabot)
- 1d42d3f - make: allow running git status during release build (@tklauser)
- 17c6410 - Update Go to 1.18.2 (@tklauser)
- 077fd49 - .github: add dependabot configuration (@tklauser)
- 4c25bb1 - Better defaults for per-cpu-buffer (@dezmodue)
- 0597bc4 - Add argument per-cpu-buffer and fix Vagrant setup (@dezmodue)
- f9f48c0 - Bump cilium/bpf dependency (@brb)
- fb02554 - doc: Add a known issue doc with OOM issue description (@YutaroHayakawa)
- 45d5182 - install make to build binary inside VM (@Shikugawa)
Release v0.0.3
We are pleased to release the 0.0.3 version of pwru.
The major changes include:
- ARM64 support (@tklauser)
- Various improvements to output such as limiting output size (@Asphaltt)
- Filtering network namespace (@Asphaltt)
- Automating release process (@tklauser)
Full changelog:
- ad9a560 - Makefile: fix arm64 cross release build @tklauser
- d3da8d9 - Dockerfile, README.md: consistently use make to build pwru @tklauser
- 18e1063 - Makefile: set CGO_ENABLED=0 to build statically linked binaries @tklauser
- a799086 - Drop dependency on github.com/cilium/cilium @tklauser
- 722d306 - .github/workflows: check Go module vendoring @tklauser
- d672722 - Revert "support output cpu" @brb
- 8c3ac7f - Makefile: fix release target @tklauser
- b59d564 - RELEASE.md: document release process @tklauser
- cfce136 - .github/workflows: add release workflow @tklauser
- eb02934 - README.md: use
make
in build instructions @tklauser - ce9cb04 - Add minimal Makefile @tklauser
- 6ae255d - Add --version flag to report pwru version @tklauser
- ea2dca0 - internal/pwru: Match entire string for --filter-func @ypl-coffee
- ec75700 - internal/pwru: fix printing of function names on arm64 @tklauser
- 9f9e33b - bpf/headers: add separate vmlinux.h for arm64 @tklauser
- 303ea8d - Include bpf_tracing.h for PT_REGS_* macros @tklauser
- d4006b5 - go.mod, vendor: update cilium to v1.11.0 @tklauser
- 12b7ed8 - tools: add dummy package for bpf2go vendoring @tklauser
- a992490 - bpf/headers: add script to update headers from libbpf @tklauser
- 015a734 - support output cpu (8 weeks ago) @Asphaltt
- 35f8017 - add option --output-limit-lines (8 weeks ago) @Asphaltt
- 534118d - Update README.md (9 weeks ago) @szuecs
- e9dda50 - add option --filter-netns (9 weeks ago) @Asphaltt
pwru v0.0.2
We are pleased to release the 0.0.2 version of pwru
.
The major changes include:
- The new filter param
--filter-func
which selects to which functionspwru
should attach the BPF tracing programs. It accepts regexp syntax (RE2). This can be used to drastically reduce the load time (@duanjiong). - IPv6 support both in filtering and outputting tuples (@duanjiong).
- Optimize the configuration retrieval in the BPF programs (@duanjiong).
The pwru
asset includes the statically linked binary for x86_64 arch (amd64) which includes the eBPF bytecode.
Contributors:
pwru v0.0.1
We are pleased to release the very first version of pwru
.
The first version includes the basic filtering based on the following filters:
--filter-mark
(skb mark)--filter-proto
(L4 protocol;udp
,tcp
,icmp
)--filter-{src,dst}-ip
(IPv4 addr)--filter-{src,dst}-port
(TCP/UDP port)
The output can be enhanced by the following options:
--output-tuple
(prints L3/L4 tuple)--output-skb
(prints skb with BTF)--output-meta
(prints some skb's metadata)--output-relative-timestamp
(prints relative timestamp; useful for identifying performance issues)
The pwru
asset includes the statically linked binary for x86_64 arch (amd64
) which includes the eBPF bytecode.
Contributors: