gve: refactor DQO TX methods to be more generic for XDP
This patch performs various minor DQO TX datapath refactors in preparation for adding XDP_TX and XDP_REDIRECT support. The following refactors are performed: 1) gve_tx_fill_pkt_desc_dqo() relies on a SKB pointer to get whether checksum offloading should be enabled. This won't work for the XDP case, which does not have a SKB. This patch updates the method to use a boolean representing whether checksum offloading should be enabled directly. 2) gve_maybe_stop_dqo() contains some synchronization between the true TX head and the cached value, a synchronization which is common for XDP queues and normal netdev queues. However, that method is reserved for netdev TX queues. To avoid duplicate code, this logic is factored out into a new method, gve_has_tx_slots_available(). 3) gve_tx_update_tail() is added to update the TX tail, a functionality that will be common between normal TX and XDP TX codepaths. Reviewed-by:Willem de Bruijn <willemb@google.com> Signed-off-by:
Joshua Washington <joshwash@google.com> Signed-off-by:
Praveen Kaligineedi <pkaligineedi@google.com> Signed-off-by:
Harshitha Ramamurthy <hramamurthy@google.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
Loading
Please sign in to comment