summaryrefslogtreecommitdiff
path: root/tools/testing
diff options
context:
space:
mode:
authorMagnus Karlsson <magnus.karlsson@intel.com>2020-12-18 14:45:25 +0100
committerDaniel Borkmann <daniel@iogearbox.net>2020-12-18 16:10:21 +0100
commitb1b95cb5c0a9694d47d5f845ba97e226cfda957d (patch)
tree254b6dc6aed11912cc16e0552762b67cfebe0739 /tools/testing
parentf09ced4053bc0a2094a12b60b646114c966ef4c6 (diff)
xsk: Rollback reservation at NETDEV_TX_BUSY
Rollback the reservation in the completion ring when we get a NETDEV_TX_BUSY. When this error is received from the driver, we are supposed to let the user application retry the transmit again. And in order to do this, we need to roll back the failed send so it can be retried. Unfortunately, we did not cancel the reservation we had made in the completion ring. By not doing this, we actually make the completion ring one entry smaller per NETDEV_TX_BUSY error we get, and after enough of these errors the completion ring will be of size zero and transmit will stop working. Fix this by cancelling the reservation when we get a NETDEV_TX_BUSY error. Fixes: 642e450b6b59 ("xsk: Do not discard packet when NETDEV_TX_BUSY") Reported-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Björn Töpel <bjorn.topel@intel.com> Link: https://lore.kernel.org/bpf/20201218134525.13119-3-magnus.karlsson@gmail.com
Diffstat (limited to 'tools/testing')
0 files changed, 0 insertions, 0 deletions