]> xenbits.xensource.com Git - pvdrivers/win/xenvif.git/commit
Add a Pause flag to the XENVIF_RECEIVER_QUEUE_PACKET callback parameters
authorPaul Durrant <pdurrant@amazon.com>
Tue, 14 Jun 2022 09:04:07 +0000 (10:04 +0100)
committerPaul Durrant <pdurrant@amazon.com>
Tue, 14 Jun 2022 14:22:19 +0000 (15:22 +0100)
commitca7e944c63db66d87b09857d8c56d97120230c93
tree1a2dbf69ec41a93599ad41bfeb80c76995f51b0c
parent859f3827a883d94ab2c3e1dfac095935f866380a
Add a Pause flag to the XENVIF_RECEIVER_QUEUE_PACKET callback parameters

The flag is used by the client driver to ask XENVIF to stop queueing packets
for a short period i.e. the current DPC invocation. Another DPC is scheduled
to process the remainder before any more packets are removed from the
descriptor ring (hence back-pressuring the network backend).

This patch involves bumping XENVIF_VIF_INTERFACE up to version 10. Code
is also added to set the Pause flag on behalf of older client drivers if
more than 1024 packets have been queued by a single DPC invocation.

This code is based on original patches [1] and [2] by Martin Harvey at Citrix.

[1] https://lists.xenproject.org/archives/html/win-pv-devel/2022-05/msg00043.html
[2] https://lists.xenproject.org/archives/html/win-pv-devel/2022-05/msg00042.html

Signed-off-by: Paul Durrant <pdurrant@amazon.com>
include/revision.h
include/vif_interface.h
src/xenvif/receiver.c
src/xenvif/vif.c
src/xenvif/vif.h