ahsifer / goxdp

This repository includes the source code of GoXDP firewall
MIT License
15 stars 3 forks source link

Cannot attach XDP to interfaceX #1

Open aaronchn opened 2 weeks ago

aaronchn commented 2 weeks ago

Hi Safar

If anyone is not familiar with ebpf and would like to quickly try out the ebpf-based package handling features, your code would be very helpful. Thanks for your contribution!

An error is encountered when trying to execute the following command execution:

# ./goxdp client --action=load --interfaces=eno2 --mode=skb
Cannot attach XDP to eno2 XDP might be already loaded to the interface  -> create link: invalid argument
# ./goxdp client --action=load --interfaces=eno2 --mode=skb --dstIP=127.0.0.1 --dstPort=8090
Cannot attach XDP to eno2 XDP might be already loaded to the interface  -> create link: invalid argument

The server's log

ERROR   handlers.go:77: Cannot attach XDP to eno2 XDP might be already loaded to the interface  -> create link: invalid argument
"POST http://127.0.0.1:8090/load HTTP/1.1" from 127.0.0.1:49347 - 400 138B in 1.446057ms

I tried looking at the interface using commands like ip link list dev eno2 and did not find anything like xdp. Also, the environment I'm trying is redhat 7.6 with kernel 4.19.0.

It's confusing to determine if it's a problem with the environment's support for goxdp or a other error. Please know.

ahsifer commented 1 week ago

Hi @aaronchn, Thank you for your feedback, I think the issue is related to the environment because Redhat 7.6 uses XDP only for tracing purposes as explained here. Also, I am unsure even if it is supported in version 7.