fix xdp test c form test

Signed-off-by: varun-r-mallya <varunrmallya@gmail.com>
This commit is contained in:
2025-11-30 05:51:06 +05:30
parent 0616a2fccb
commit 77901accf2
3 changed files with 16 additions and 17 deletions

View File

@ -1,5 +1,5 @@
from vmlinux import struct_request, struct_pt_regs from vmlinux import struct_request, struct_pt_regs
from pythonbpf import bpf, section, bpfglobal, compile_to_ir, compile, map from pythonbpf import bpf, section, bpfglobal, compile, map
from pythonbpf.helper import ktime from pythonbpf.helper import ktime
from pythonbpf.maps import HashMap from pythonbpf.maps import HashMap
from ctypes import c_int64, c_uint64, c_int32 from ctypes import c_int64, c_uint64, c_int32
@ -54,4 +54,5 @@ def trace_start(ctx1: struct_pt_regs) -> c_int32:
def LICENSE() -> str: def LICENSE() -> str:
return "GPL" return "GPL"
compile() compile()

View File

@ -1,5 +1,5 @@
BPF_CLANG := clang BPF_CLANG := clang
CFLAGS := -emit-llvm -target bpf -c CFLAGS := -emit-llvm -target bpf -c -D__TARGET_ARCH_x86
SRC := $(wildcard *.bpf.c) SRC := $(wildcard *.bpf.c)
LL := $(SRC:.bpf.c=.bpf.ll) LL := $(SRC:.bpf.c=.bpf.ll)
@ -10,7 +10,7 @@ LL0 := $(SRC:.bpf.c=.bpf.o0.ll)
all: $(LL) $(OBJ) $(LL0) all: $(LL) $(OBJ) $(LL0)
%.bpf.o: %.bpf.c %.bpf.o: %.bpf.c
$(BPF_CLANG) -O2 -g -target bpf -c $< -o $@ $(BPF_CLANG) -O2 -D__TARGET_ARCH_x86 -g -target bpf -c $< -o $@
%.bpf.ll: %.bpf.c %.bpf.ll: %.bpf.c
$(BPF_CLANG) $(CFLAGS) -O2 -g -S $< -o $@ $(BPF_CLANG) $(CFLAGS) -O2 -g -S $< -o $@

View File

@ -1,18 +1,16 @@
#include <linux/bpf.h> #include "vmlinux.h"
#include <linux/if_ether.h>
#include <linux/ip.h>
#include <bpf/bpf_helpers.h> #include <bpf/bpf_helpers.h>
struct fake_iphdr { struct fake_iphdr {
unsigned short useless; unsigned short useless;
unsigned short tot_len; unsigned short tot_len;
unsigned short id; unsigned short id;
unsigned short frag_off; unsigned short frag_off;
unsigned char ttl; unsigned char ttl;
unsigned char protocol; unsigned char protocol;
unsigned short check; unsigned short check;
unsigned int saddr; unsigned int saddr;
unsigned int daddr; unsigned int daddr;
}; };
SEC("xdp") SEC("xdp")
@ -25,9 +23,9 @@ int xdp_prog(struct xdp_md *ctx) {
} }
struct fake_iphdr *iph = (void *)data + sizeof(struct ethhdr); struct fake_iphdr *iph = (void *)data + sizeof(struct ethhdr);
bpf_printk("%d", iph->saddr); bpf_printk("%d", iph->saddr);
return XDP_PASS; return XDP_PASS;
} }
char _license[] SEC("license") = "GPL"; char _license[] SEC("license") = "GPL";