I'm very happy to see progress with XDP for the ENA driver.

On Sun, 23 Jun 2019 10:06:49 +0300 <same...@amazon.com> wrote:

> @@ -888,6 +959,15 @@ static struct sk_buff *ena_rx_skb(struct ena_ring 
> *rx_ring,
>       va = page_address(rx_info->page) + rx_info->page_offset;
>       prefetch(va + NET_IP_ALIGN);
>  
> +     if (ena_xdp_present_ring(rx_ring)) {
> +             rx_ring->xdp.data = va;
> +             rx_ring->xdp.data_meta = rx_ring->xdp.data;
> +             rx_ring->xdp.data_hard_start = rx_ring->xdp.data -
> +                     rx_info->page_offset;
> +             rx_ring->xdp.data_end = rx_ring->xdp.data + len;
> +             if (ena_xdp_execute(rx_ring, &rx_ring->xdp) != XDP_PASS)
> +                     return NULL;
> +     }

Looks like you forgot to init xdp.rxq pointer.

You can use the samples/bpf/xdp_rxq_info* to access this... and this
driver will likely crash if you use it...

-- 
Best regards,
  Jesper Dangaard Brouer
  MSc.CS, Principal Kernel Engineer at Red Hat
  LinkedIn: http://www.linkedin.com/in/brouer

Reply via email to