-
Notifications
You must be signed in to change notification settings - Fork 100
Open
Description
libbpf: prog 'target': failed to attach to xdp: Invalid argument
failed to attach xdp on device lo to program target: invalid argument
os version: ubuntu20.04-server
kernel version: 5.4.0-162-generic
#include "vmlinux.h"
#include <bpf/bpf_helpers.h>
#include <bpf/bpf_tracing.h>
#ifdef asm_inline
#undef asm_inline
#define asm_inline asm
#endif
SEC("xdp")
int target(struct xdp_md *ctx) {
// Reserve space on the ringbuffer for the sample
return XDP_PASS;
}
char LICENSE[] SEC("license") = "GPL";package main
import "C"
import (
"fmt"
"os"
bpf "github.com/aquasecurity/libbpfgo"
)
const (
deviceName = "lo"
)
func main() {
bpfModule, err := bpf.NewModuleFromFile("main.bpf.o")
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(-1)
}
defer bpfModule.Close()
err = bpfModule.BPFLoadObject()
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(-1)
}
defer bpfModule.Close()
err = bpfModule.BPFLoadObject()
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(-1)
}
xdpProg, err := bpfModule.GetProgram("target")
if xdpProg == nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(-1)
}
xdpProg, err := bpfModule.GetProgram("target")
if xdpProg == nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(-1)
}
_, err = xdpProg.AttachXDP(deviceName)
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(-1)
}
select{}
}Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels