Releases: cilium/pwru
Release v1.0.9
We are pleased to release the 1.0.9 version of pwru
.
The major changes include:
- Fixed libpcap filtering for tracing XDP programs (
--filter-trace-xdp
) #439. - Added drop reasons when
sk_skb_reason_drop()
is called #430.
Functional changes:
- aebb893 - README.md: Update Clang/LLVM dependency to 12 (@joestringer)
- 1c354fa - bpf: Fix broken filter with --filter-trace-xdp (@jschwinger233)
- 195950a - Skip kprobing bpf progs for --filter-track-bpf-helpers (@Asphaltt)
- 5455e74 - Fix verifier error to run --filter-trace-tc + --filter-track-bpf-helpers (@Asphaltt)
- bde4f64 - gh/workflows: Use ubuntu-latest (@brb)
- 2ed349d - Print drop reason from sk_skb_reason_drop (@DanPartelly)
- 0dc9829 - Fix a minor code logic issue of xdp tracing (@Asphaltt)
- 1de15ff - Fix broken --filter-trace-xdp (@Asphaltt)
- 759fc7a - Fix broken --filter-trace-tc (@Asphaltt)
Dependency changes:
Release v1.0.8
We are pleased to release the 1.0.8 version of pwru
.
The major changes include:
pwru
is now able to trace BPF helpers (#390). To enable it, set--filter-track-bpf-helpers
. In addition, when it is set together with--output-caller
, it can be used to roughly trace BPF tailcalls. For example:
# pwru --output-caller --output-tuple --filter-track-bpf-helpers
...
10.244.1.141:45000->10.244.3.20:8080(tcp) bpf_map_lookup_elem bpf_prog_5fd02288bd4a682e_tail_ipv4_ct_egress[bpf]
10.244.1.141:45000->10.244.3.20:8080(tcp) array_map_update_elem bpf_prog_5fd02288bd4a682e_tail_ipv4_ct_egress[bpf]
10.244.1.141:45000->10.244.3.20:8080(tcp) trie_lookup_elem bpf_prog_4f62c9416e340c61_tail_handle_ipv4_cont[bpf]
10.244.1.141:45000->10.244.3.20:8080(tcp) percpu_array_map_lookup_elem bpf_prog_4f62c9416e340c61_tail_handle_ipv4_cont[bpf]
10.244.1.141:45000->10.244.3.20:8080(tcp) __htab_map_lookup_elem bpf_prog_4f62c9416e340c61_tail_handle_ipv4_cont[bpf]
...
- Fix tracking of
sk_buff
built fromxdp_md
when--filter-track-skb
is used (#410).
Functional changes:
- 81b7b62 - Enable --output-tuple and --output-meta by default (@brb)
- ca38cef - Do not open kcore in init() (@brb)
- 4a5c234 - Fix Dockerfile (@brb)
- db68c01 - Bump Go version to 1.23.1 (@brb)
- 3bf9d91 - Abort if runtime.GOARCH is not amd64 (@jschwinger233)
- 18838c4 - Update vendor (@jschwinger233)
- 7deb4a0 - Add --filter-track-bpf-helpers (@jschwinger233)
- fc7e097 - Add GetBpfHelpers() API (@jschwinger233)
- 2893168 - Track xdp_md built from skb (@jschwinger233)
- 2f09d77 - Track skb built from xdp_md (@jschwinger233)
- 3824944 - bpf: Use &skb for --filter-track-skb again (@jschwinger233)
- ce21b83 - bpf: Use percpu array to replace __sync_fetch_and_add (@jschwinger233)
- 57280a7 - Update README.md (@Huweicai)
- 0aa10ab - Update README.md (@brb)
Dependency changes:
- 5b08f7c - build(deps): bump golang.org/x/net from 0.27.0 to 0.28.0
- 332cff1 - build(deps): bump actions/upload-artifact from 4.3.5 to 4.3.6
- 325cab1 - build(deps): bump golang.org/x/sync from 0.7.0 to 0.8.0
- d7cc422 - build(deps): bump actions/upload-artifact from 4.3.4 to 4.3.5
- e510628 - build(deps): bump golang.org/x/sys from 0.22.0 to 0.23.0
- c0806cf - build(deps): bump github.com/cilium/ebpf from 0.15.0 to 0.16.0
- 6d10c6f - build(deps): bump golang.org/x/sys from 0.23.0 to 0.24.0
- ce305f0 - build(deps): bump actions/setup-go from 5.0.1 to 5.0.2
- f23574b - build(deps): bump cilium/little-vm-helper from 0.0.18 to 0.0.19
Release v1.0.7
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
Release v1.0.6
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 usepwru --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
Release v1.0.5
We are pleased to release the 1.0.5 version of pwru
.
The major changes include:
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:
Release v1.0.4
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:shows execution of the Cilium's cil_from_container BPF program.0xffff91d7c885f0e8 5 [curl(261789)] cil_from_container netns=... mark=0x0 iface=11(lxc9376ae2995cc)
- 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:
shows a kernel thread handling WireGuard encryption for
0xffffa0fbe16e1500 15 [kworker/15:3-wg-crypt-cilium_wg0(82260)] ....
cilium_wg0
device. - The packet tracing is extended to support
skb_clone()
andskb_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:
Release v1.0.3
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'
(#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 onlyeth0
packets in the42
pid's network namespace you can runpwru --filter-iface eth0 --filter-netns /proc/42/ns/net
(#257). - The
--output-meta
was extended to print a network interface name. For example,iface=3(wlan0)
(#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:
Release v1.0.2
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 (#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:
Release v1.0.1
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 hitskfree_skbmem
. This significantly helps to reducepwru
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
Release v1.0.0
We are pleased to release the 1.0.0 version of pwru
. It is the first major version ever released 🎉
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 inpahole
(cilium/ebpf#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 ofBPF_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