I can't do that. Mucking in the kernel stuff is a non-starter for me. -----Original Message----- From: David Woodhouse [mailto:dwmw2@xxxxxxxxxxxxx] Sent: Saturday, April 13, 2019 6:02 AM To: Phillips, Tony Cc: Nikos Mavrogiannopoulos; Daniel Lenski; openconnect-devel@xxxxxxxxxxxxxxxxxxx Subject: Re: [EXTERNAL] Re: What throughput is reasonable? Please also try this patch to the kernel tun driver. --- /usr/src/debug/kernel-5.0.fc29/linux-5.0.5-200.fc29.x86_64/drivers/net/tun.c 2019-03-03 23:21:29.000000000 +0000 +++ /home/fedora/tun/tun.c 2019-04-11 09:11:20.781683956 +0000 @@ -1118,8 +1118,14 @@ static netdev_tx_t tun_net_xmit(struct s nf_reset(skb); - if (ptr_ring_produce(&tfile->tx_ring, skb)) + if (ptr_ring_produce(&tfile->tx_ring, skb)) { + netif_stop_subqueue(tun->dev, txq); goto drop; + } + + if (ptr_ring_full(&tfile->tx_ring)) { + netif_stop_subqueue(tun->dev, txq); + } /* Notify and wake up reader process */ if (tfile->flags & TUN_FASYNC) @@ -2229,6 +2235,8 @@ static ssize_t tun_do_read(struct tun_st consume_skb(skb); } + netif_wake_subqueue(tun->dev, tfile->queue_index); + return ret; } _______________________________________________ openconnect-devel mailing list openconnect-devel@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/openconnect-devel