-
Notifications
You must be signed in to change notification settings - Fork 333
Open
Description
Hello team!
I have tried to rbpf for testing an XDP program.
I use EbpfVmMbuff and providing xdp_md to my program using mbuff
The problem is that xdp_md uses u32 memory references , e.g. data and data_end
bpf.h#L6476
struct xdp_md {
__u32 data;
__u32 data_end;
__u32 data_meta;
/* Below access go through struct xdp_rxq_info */
__u32 ingress_ifindex; /* rxq->dev->ifindex */
__u32 rx_queue_index; /* rxq->queue_index */
__u32 egress_ifindex; /* txq->dev->ifindex */
};
As I understand in the real kernel those references will be translated to 64 bit references by kernel's verifier when we run in x64. It doesn't happen when I run EbpfVmMbuff so the XDP program has wrong references to the memory. I use an interpreter mode.
Is there a feature in rbpf which I wasn't able to find or XDP programs are not supported?
Please ping me if we need a test example I will try to set it up.
Thanks in advance for the help!
Metadata
Metadata
Assignees
Labels
No labels