336faf553e 
								
							
								 
							
						 
						
							
							
								
								clippy: Fix latest nightly lints  
							
							... 
							
							
							
							Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								323170aa3f 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #331  from joshiste/fix/compat-pre-5.5  
							
							... 
							
							
							
							aya-bpf: use bpf_read_probe for reading pt_regs 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								2d79f22b40 
								
							
								 
							
						 
						
							
							
								
								aya-bpf: use bpf_read_probe for reading pt_regs  
							
							... 
							
							
							
							Linux Kernels < 5.5 don't support bpf_probe_read_kernel. Therefore
bpf_probe_read must be used for compatibility reasons. 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								f2fb211634 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #330  from aya-rs/dependabot/cargo/object-0.29  
							
							... 
							
							
							
							build(deps): update object requirement from 0.28 to 0.29 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								78e58b8960 
								
							
								 
							
						 
						
							
							
								
								bpf(helpers): Add *_str_bytes helpers  
							
							... 
							
							
							
							This change adds two new helpers:
* bpf_probe_read_user_str_bytes
* bpf_probe_read_kernel_str_bytes
Those new helpers are returning a bytes slice (`&[u8]`) with a length
equal to the length of probed, null-terminated string. When using those
helpers, users don't have to manually check for length and create such
slices themselves. They also make converting to `str` way more
convenient, for example:
```rust
let my_str = unsafe {
    core::str::from_utf8_unchecked(
        bpf_probe_read_user_str_bytes(user_ptr, &mut buf)?
    )
};
```
This change also deprecates the old helpers, since their names are
confusing (they have nothing to do with Rust `str`) and using them
requires writing boilerplate code (for checking the length and making
eBPF verifier happy):
* bpf_probe_read_user_str
* bpf_probe_read_kernel_str
Tested on:
516b29af68 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								661a21570f 
								
									
								
							
								 
							
						 
						
							
							
								
								build(deps): update object requirement from 0.28 to 0.29  
							
							... 
							
							
							
							Updates the requirements on [object](https://github.com/gimli-rs/object ) to permit the latest version.
- [Release notes](https://github.com/gimli-rs/object/releases )
- [Changelog](https://github.com/gimli-rs/object/blob/master/CHANGELOG.md )
- [Commits](https://github.com/gimli-rs/object/compare/0.28.0...0.29.0 )
---
updated-dependencies:
- dependency-name: object
  dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com> 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								a301a56316 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #328  from drewkett/map-update-no-key  
							
							... 
							
							
							
							Have bpf_map_update_elem take Option<&K> for key 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								e5f455f238 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #282  from dave-tucker/bpfd  
							
							... 
							
							
							
							Add atomic replacement of XDP progs and multihoming of Extension progs 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								004f3dd664 
								
							
								 
							
						 
						
							
							
								
								aya: Improve Extension Docs  
							
							... 
							
							
							
							Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								9e85b92323 
								
							
								 
							
						 
						
							
							
								
								aya: Add Extension::attach_to_program()  
							
							... 
							
							
							
							This allows for Extension programs already loaded to the kernel to be
attached to another program that is BTF-compatible with the one provided
at `load()` time
Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								b4413322e3 
								
							
								 
							
						 
						
							
							
								
								aya: Replace ProgramFd trait with struct  
							
							... 
							
							
							
							This removes the ProgramFd trait with a struct that wraps a RawFd.
Program::fd() has been implemented as well as fd() for each Program
Type. This allows for a better API than requiring the use of the
ProgramFd trait.
Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								fd52bfeadc 
								
							
								 
							
						 
						
							
							
								
								aya: Implement attach_to_link for XDP  
							
							... 
							
							
							
							Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								ccb189784f 
								
							
								 
							
						 
						
							
							
								
								aya: Add support for bpf_link_update  
							
							... 
							
							
							
							Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								36edf09254 
								
							
								 
							
						 
						
							
							
								
								Have bpf_map_update_elem take Option<&K> for key  
							
							... 
							
							
							
							bpf_map_update_elem is used in lieu of bpf_map_push_elem to maintain support for kernel version < 4.20. The kernel expects a null pointer for the key for this use case. With this change, if you pass None as key to `bpf_map_update_elem`, it will pass null as key. 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								150dc1b610 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #326  from NoneTirex/fix-map-delete-return-value  
							
							... 
							
							
							
							Change condititon for some bpf helpers 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								caa66cabac 
								
							
								 
							
						 
						
							
							
								
								Add missing inline macro to xdp methods  
							
							
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								741c35f555 
								
							
								 
							
						 
						
							
							
								
								Restore previous check for bpf_get_stackid  
							
							
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								42c4d5c3af 
								
							
								 
							
						 
						
							
							
								
								Temporary change return value condition to avoid problems with possibly (not aware) cast from int to long  
							
							
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								5b1a3ed866 
								
							
								 
							
						 
						
							
							
								
								Fix return value for map removing/deleting  
							
							
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								623579a47f 
								
							
								 
							
						 
						
							
							
								
								aya: Add Map::fd() function to return a MapFd  
							
							... 
							
							
							
							Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								24597b15b7 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #321  from davibe/fix-linting-issues  
							
							... 
							
							
							
							Fix linting issues 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								7f33d67e8c 
								
							
								 
							
						 
						
							
							
								
								xtask: fix linting warnings on docs()  
							
							
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								2680693783 
								
							
								 
							
						 
						
							
							
								
								xtask: fix lint errors due to clap changes  
							
							
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								cbf520934a 
								
							
								 
							
						 
						
							
							
								
								aya-gen: fix lint errors  
							
							
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								ed3b690a6d 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #320  from dave-tucker/moar-crabby-docs  
							
							... 
							
							
							
							Fix development docs build 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								2b98259be7 
								
							
								 
							
						 
						
							
							
								
								readme: Add crabby, sync with aya/README.md  
							
							... 
							
							
							
							Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								67951cd2d7 
								
							
								 
							
						 
						
							
							
								
								xtask: Fix docs generation  
							
							... 
							
							
							
							Publish user/kernel space docs seperately.
Add an index.html at the root for navigation.
Ensure that search engines don't index these pages.
Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								713cd4e858 
								
							
								 
							
						 
						
							
							
								
								docs: Add crabby logo  
							
							... 
							
							
							
							Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								4f13576594 
								
									
								
							
								 
							
						 
						
							
							
								
								aya-gen: allow passing custom --ctypes-prefix to bindgen ( #312 )  
							
							... 
							
							
							
							Allows users to pass a custom --ctypes-prefix to bindgen #186  
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								7549eb979c 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #315  from dave-tucker/sock  
							
							... 
							
							
							
							Add support for BPF_PROG_TYPE_CGROUP_SOCK 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								0786afa9ca 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #319  from dave-tucker/moar-regs  
							
							... 
							
							
							
							bpf: bpf_probe_read_kernel fields in pt_regs 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								cf3c8f355e 
								
							
								 
							
						 
						
							
							
								
								ci: test aya-bpf-macros on nightly  
							
							... 
							
							
							
							Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								05c1586202 
								
							
								 
							
						 
						
							
							
								
								bpf: bpf_probe_read_kernel fields in pt_regs  
							
							... 
							
							
							
							As it turns out, the verifier gets upset if you try to read the values
directly without using bpf_probe_read.
Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								f3574b0e70 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #318  from ishitatsuyuki/patch-1  
							
							... 
							
							
							
							bpf: Remove unnecessary Sync bound on PerCpuArray<T> 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								5e24cf7a29 
								
									
								
							
								 
							
						 
						
							
							
								
								bpf: Remove unnecessary Sync bound on PerCpuArray<T>  
							
							
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								82cd3e695a 
								
							
								 
							
						 
						
							
							
								
								ebpf: PerCpuArray: remove get_mut() and add get_ptr() and get_ptr_mut()  
							
							... 
							
							
							
							get_mut() wasn't sound as it allowed creating multiple mutable
references. 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								1eb9ef5488 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #290  from ishitatsuyuki/immut-self  
							
							... 
							
							
							
							bpf: Replace map types to use &self, remove HashMap::get_mut 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								7b21a2d17e 
								
							
								 
							
						 
						
							
							
								
								aya: Implement BPF_PROG_TYPE_CGROUP_SOCK  
							
							... 
							
							
							
							Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								6f51b616e1 
								
							
								 
							
						 
						
							
							
								
								bpf: Implement BPF_PROG_TYPE_CGROUP_SOCK  
							
							... 
							
							
							
							Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								3f6b2507b6 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #314  from dave-tucker/sockops  
							
							... 
							
							
							
							bpf: Add accessors to SockOpsContext 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								9d18a48c3c 
								
							
								 
							
						 
						
							
							
								
								bpf: Add accessors to SockOpsContext  
							
							... 
							
							
							
							Allow getting family, remote/local v4/v6 addresses and the remote and
local ports.
Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								52eb6bd1ef 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #313  from aya-rs/add-code-of-conduct  
							
							... 
							
							
							
							Add a Code of Conduct 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								e752ffb3be 
								
									
								
							
								 
							
						 
						
							
							
								
								Add a Code of Conduct  
							
							... 
							
							
							
							Adapted from the contributor covenant template 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								cffff273a1 
								
							
								 
							
						 
						
							
							
								
								aya-gen: fix lint  👀  
							
							
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								e675e51bd9 
								
							
								 
							
						 
						
							
							
								
								aya-gen: re-export generate::{InputFile, generate}  
							
							
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								bbb5d7124a 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #310  from dave-tucker/cross-ci  
							
							... 
							
							
							
							Enable CI for all supported architectures 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								c725e72796 
								
							
								 
							
						 
						
							
							
								
								bpf: re-reun build.rs if env changed  
							
							... 
							
							
							
							Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								e3c8c659a1 
								
							
								 
							
						 
						
							
							
								
								bpf: arm fix pt_regs handling  
							
							... 
							
							
							
							Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								88834c497d 
								
							
								 
							
						 
						
							
							
								
								ci: Skip riscv64 for bpf  
							
							... 
							
							
							
							There is a missing pt_regs implementation in args.rs
Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							3 years ago  
				
					
						
							
							
								 
						
							
							
								e852f7e0cc 
								
							
								 
							
						 
						
							
							
								
								test: Update to use non-mut map types  
							
							
							
						 
						
							3 years ago