aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/send.c
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2018-10-25 16:37:38 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2018-10-27 03:11:31 +0200
commita82503f55015e9fcf4fccbedcdb080c7a584c928 (patch)
tree55c16416b4f2b0f854cd6b6332fecec4aa220208 /src/send.c
parentallowedips: fix up macros and annotations (diff)
downloadwireguard-linux-compat-a82503f55015e9fcf4fccbedcdb080c7a584c928.tar.xz
wireguard-linux-compat-a82503f55015e9fcf4fccbedcdb080c7a584c928.zip
send: consider dropped stage packets to be dropped
Suggested-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'src/send.c')
-rw-r--r--src/send.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/send.c b/src/send.c
index 1e97aa1..06996f0 100644
--- a/src/send.c
+++ b/src/send.c
@@ -347,6 +347,14 @@ err:
skb_free_null_queue(first);
}
+void wg_packet_purge_staged_packets(struct wg_peer *peer)
+{
+ spin_lock_bh(&peer->staged_packet_queue.lock);
+ peer->device->dev->stats.tx_dropped += peer->staged_packet_queue.qlen;
+ __skb_queue_purge(&peer->staged_packet_queue);
+ spin_unlock_bh(&peer->staged_packet_queue.lock);
+}
+
void wg_packet_send_staged_packets(struct wg_peer *peer)
{
struct noise_symmetric_key *key;