Timo Beckers
Timo Beckers
Re-spun this a bit. We've concluded in offline discussion that this kind of API is best kept internal for now. Cilium can do its own resource tracking for higher-level objects....
It's fairly straightforward, the only issue I have is that if we parse /proc/config into a map[string]string, it consumes a non-negligible amount of memory that will remain cached for the...
> What do you mean by the "lifetime of the application"? Many long-running apps embed ebpf-go, so any package globals we populate will remain in memory until the app terminates....
Still an issue as of 2023.9.2. This is polluting my logs. Any workarounds available in the short term?
Hi, has this functionality been implemented anywhere else by now? Currently using https://github.com/iovisor/gobpf, but looking to get rid of cgo, and this project looks good! I have a functioning package...
@lmb Indeed, and since I'm bringing my own binaries anyway, that's all I need. :slightly_smiling_face: The syscalls themselves shouldn't be too difficult to test. To work around the issues you...
> What happens if you try to instrument a function that doesn't exist? Writing a non-existent (or unloaded) symbol to `/sys/kernel/debug/tracing/kprobe_events` will simply fail. > How do you make sure...
One option could be declaring POLICY_CALL_MAP as ```c struct { __uint(type, BPF_MAP_TYPE_PROG_ARRAY); __type(key, uint32_t); __type(value, uint32_t); __uint(max_entries, POLICY_PROG_MAP_SIZE); __array(values, int()); } POLICY_CALL_MAP __section(".maps") = { .values = { [TEMPLATE_HOST_EP_ID] =...
Hey @Jack-R-lantern, thanks for the interest! This one is going to be a bit tricky even for committers, but of course you're free to work on it. With the proposal...
> Your outline doesn't account for gems such as `__section_tail(CILIUM_MAP_POLICY, TEMPLATE_HOST_EP_ID)` where we rely on changing the HOST_EP_ID to update a different slot for each ELF load. Any idea how...