// SPDX-License-Identifier: GPL-2.0 | |
#include <linux/bpf.h> | |
#include <bpf/bpf_helpers.h> | |
SEC("xdp") | |
int xdp_context(struct xdp_md *xdp) | |
{ | |
void *data = (void *)(long)xdp->data; | |
__u32 *metadata = (void *)(long)xdp->data_meta; | |
__u32 ret; | |
if (metadata + 1 > data) | |
return XDP_ABORTED; | |
ret = *metadata; | |
if (bpf_xdp_adjust_meta(xdp, 4)) | |
return XDP_ABORTED; | |
return ret; | |
} | |
char _license[] SEC("license") = "GPL"; |