-
Notifications
You must be signed in to change notification settings - Fork 37
Open
Description
I am trying to deploy an XDP program to GCP with gVNIC that uses bpf_xdp_adjust_head. This currently fails in mysterious ways and after some debugging and reading the source code, I think I have figured out why:
The driver only provides us with two bytes of headroom:
compute-virtual-ethernet-linux/google/gve/gve_rx.c
Lines 858 to 860 in d5ad781
| xdp_prepare_buff(&xdp, page_info->page_address + | |
| page_info->page_offset, GVE_RX_PAD, | |
| len, false); |
The constant passed here, GVE_RX_PAD is defined as 2:
| #define GVE_RX_PAD 2 |
That is unusually low.
The Linux kernel itself defines the headroom as 256:
Would it be possible to adjust this? If I compile the driver myself (which this constant changed), are things "just" going to work or are there more things that need to be changed?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels