OSDN Git Service

gve: Add XDP REDIRECT support for GQI-QPL format
authorPraveen Kaligineedi <pkaligineedi@google.com>
Wed, 15 Mar 2023 23:33:11 +0000 (16:33 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 17 Mar 2023 08:29:21 +0000 (08:29 +0000)
commit39a7f4aa3e4a7947614cf1d5c27abba3300adb1e
tree09044310dc36097407d318cd1c6275e919d3ba40
parent75eaae158b1b7d8d5bde2bafc0bcf778423071d3
gve: Add XDP REDIRECT support for GQI-QPL format

This patch contains the following changes:
1) Support for XDP REDIRECT action on rx
2) ndo_xdp_xmit callback support

In GQI-QPL queue format, the driver needs to allocate a fixed size
memory, the size specified by vNIC device, for RX/TX and register this
memory as a bounce buffer with the vNIC device when a queue is created.
The number of pages in the bounce buffer is limited and the pages need to
be made available to the vNIC by copying the RX data out to prevent
head-of-line blocking. The XDP_REDIRECT packets are therefore immediately
copied to a newly allocated page.

Signed-off-by: Praveen Kaligineedi <pkaligineedi@google.com>
Reviewed-by: Jeroen de Borst <jeroendb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/google/gve/gve.h
drivers/net/ethernet/google/gve/gve_ethtool.c
drivers/net/ethernet/google/gve/gve_main.c
drivers/net/ethernet/google/gve/gve_rx.c
drivers/net/ethernet/google/gve/gve_tx.c