blogic / ubpf

2 stars 1 forks source link

libbpf erros #1

Open PolynomialDivision opened 3 years ago

PolynomialDivision commented 3 years ago

Interestingly, this also happens with xdp-tools if u do not use x86:

root@OpenWrt:~# xdpload -i wlan0 -u xdp-prog
libbpf: Attribute of type 0x2a found multiple times in message, previous attribute is being ignored.
blogic commented 3 years ago

what ARCH are you on ? i want to reproduce it. I tested arm and aarch64

PolynomialDivision commented 3 years ago

what ARCH are you on ? i want to reproduce it. I tested arm and aarch64

ath79/mips_24kc TP-Link TL-WDR4300 v1

PolynomialDivision commented 3 years ago

It is a libbpf error... I think it has nothing to do with your loader.

blogic commented 3 years ago

kk, will spin mips in the next few days, I am deep under with santa stuff and the fork() so give me a few days ...

blogic commented 3 years ago

even if it is libbpf, I would like to see it fixed. on arm, aarch64 and x86 it works well could you describe your use cases ? I am talking to various ppl and would like to get a better picture of what ppl are trying to achieve. the idea is that we have generic ebpf txt blocks and py based code gen that will render out a final ebpf for clang compliage based on some yaml input.

PolynomialDivision commented 3 years ago

could you describe your use cases ?

First thing is that I want to add/remove certain IPv6 header, if it matches some IPv6 Prefix. :) I would like to give that via a map from the userspace to the kernel programm.

Could u maybe say how to use your uxdp programm with map? I will cross compile and then load it. and then I can use uxdp, or?

Thanks for having a look! :)

PolynomialDivision commented 3 years ago

Today, I added a commit to xdp-tools to cross compile with clang. https://github.com/xdp-project/xdp-tools/commit/c13776649638105145600ee472a1bd5ee078a34b

But still I have several issues with the tool. :/ Your loader directly works for me. :)

blogic commented 3 years ago

I will need a few days, I am into xmas time already as I had my last vacation summer '19. I plan to invest a substantial amount of time into ebpf early '21 I am currently compiling the ebpf with clang -O2 -g -Wall -target bpf -c -o xdp.o xdp.c -I /usr/include/x86_64-linux-gnu/ there is a ebpf in the src/ folder that will work with ubpf

PolynomialDivision commented 3 years ago

I will need a few days, I am into xmas time already as I had my last vacation summer '19

Then I wish you a nice vacation. :)

Thanks for uploading your sources!

PolynomialDivision commented 3 years ago

clang -O2 -g -Wall -target bpf -c -o xdp.o xdp.c -I /usr/include/x86_64-linux-gnu/

No idea why, but I can not use my own header libs. I have to use the clang -g -Wall -target bpf -c -o xdp.o xdp.c -I/home/nick/openwrt/staging_dir/target-mips_24kc_musl/usr/include Openwrt ones. ^^

/usr/include/linux does not work. I have issues with

/usr/include/stdio.h:678:8: error: unknown type name 'size_t'; did you mean 'ssize_t'?
extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,