-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
update #3
Comments
Hey, are you using the correct version of LibBPF that I used with this project? You should have the following commit checked out under https://github.com/libbpf/libbpf/tree/97ada10bd834950b1856c7f9efacc9ee83f824cf In regards to porting this project to the latest version of LibBPF, I might do that in the future, but I'm not sure when I'll have the time. |
yes, libbpf correct version.
|
Hey,any news? |
Hi, I've pushed an update to the project that should work with the latest version of LibBPF. I wasn't able to test the TC program's functionality itself since I no longer run this in production, but confirmed attaching/detaching from the TC egress filter works. # TC filter egress programs loaded.
christian@dev-debian12:~$ sudo tc filter show dev enp1s0 egress
filter protocol all pref 49152 bpf chain 0
filter protocol all pref 49152 bpf chain 0 handle 0x1 tc_egress:[399] direct-action not_in_hw id 399 name tc_egress tag 245416d498d264d0 jited
# Ensuring mac_map is populated meaning new map pinning works.
christian@dev-debian12:~$ sudo bpftool map dump name mac_map
[{
"key": 0,
"value": 156300082273574
}
]
Please let me know how it goes and ensure you update LibBPF to the latest version when pulling the new changes. |
Cloning into 'IPIPDirect-TC'...
make[1]: Leaving directory '/root/IPIPDirect-TC/src/include/libbpf/src' I can't compile
|
I'll look into this later. It likely works on my VM because I've installed xdp-tools on the system. You could try installing that along with LibBPF to see if it corrects the error you're getting in the meantime. |
uname -a apt-get install xdp-tools -- make same. |
Hey,still need help. |
Hey, please pull the latest changes and try again. The program builds successfully on a new stock Debian 12 VM I created after installing the following packages via apt. sudo apt install -y build-essential make libelf-dev clang gcc-multilib |
compile successfully,but root@vultr:~/IPIPDirect-TC# /usr/bin/IPIPDirect_loader enp1s0
|
Ah, I had to mount BPF and create the sudo mount -t bpf bpf /sys/fs/bpf
sudo mkdir -p /sys/fs/bpf/tc/globals Outputs showing it works as expected. christian@dev-debian12:~/IPIPDirect-TC$ sudo IPIPDirect_loader enp1s0
libbpf: Kernel error message: Exclusivity flag on, cannot modify
Starting IPIP Direct TC egress program. christian@dev-debian12:~$ sudo tc filter show dev enp1s0 egress
filter protocol all pref 49152 bpf chain 0
filter protocol all pref 49152 bpf chain 0 handle 0x1 tc_egress:[197] direct-action not_in_hw id 197 name tc_egress tag 245416d498d264d0 jited The functionality should work, but I haven't tested the program after my recent commits. As long as the map pinning works as expected, there shouldn't be any issues. Also, you don't need |
Thank you, I'll reinstall OS on game servers to Debian 12 and let u know. |
uname -a
6.1.0-20-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.85-1 (2024-04-11) x86_64 GNU/Linux
lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm
/usr/bin/IPIPDirect_loader eth0
libbpf: elf: legacy map definitions in 'maps' section are not supported by libbpf v1.0+
ERROR: opening BPF object file failed
Unable to load program
Error attaching TC egress filter. TC cannot attach to filter. Command => tc filter add dev eth0 egress prio 1 handle 1 bpf da obj /etc/IPIPDirect/IPIPDirect_filter.o sec egress and Return Error Number => 1.
https://github.com/libbpf/libbpf/wiki/Libbpf:-the-road-to-v1.0#drop-support-for-legacy-bpf-map-declaration-syntax
can you help recompile on newest OS?
The text was updated successfully, but these errors were encountered: