diff options
authorJason A. Donenfeld <Jason@zx2c4.com>2016-06-29 22:42:43 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2016-06-29 22:46:45 +0200
commit530ee2b2906af4d635d4d5bbabda5250b4a2b33e (patch)
parentKconfig patching: do not match on NETFILTER (diff)
device: remove updating of trans_start
Per http://lists.openwall.net/netdev/2016/05/03/87 dev->trans_start has been removed, and updates are now supposed to be handled with netif_trans_update, which now updates the particular txqueue's trans_start instead. However, netdev_start_xmit already updates this member after calling ndo_start_xmit, so the new netif_trans_update function smartly makes the comment that for drivers that don't use LLTX, it's not neccessary to call netif_trans_update. Except we do use LLTX, so it would seem again that we do need to be calling netif_trans_update. However, glancing at drivers like vxlan and other similar virtual tunnels, this doesn't seem to be the case. I suspect the reason is that we both also set IFF_NO_QUEUE, so we aren't even using a txqueue for updating. Thus, this patch removes updating of trans_start all together. I believe this should be okay for older kernels too.
1 files changed, 0 insertions, 2 deletions
diff --git a/src/device.c b/src/device.c
index 4076e58..31fae5b 100644
--- a/src/device.c
+++ b/src/device.c
@@ -109,8 +109,6 @@ static netdev_tx_t xmit(struct sk_buff *skb, struct net_device *dev)
return -ELOOP;
- dev->trans_start = jiffies;
peer = routing_table_lookup_dst(&wg->peer_routing_table, skb);
if (unlikely(!peer)) {
skb_unsendable(skb, dev);