diff options
Diffstat (limited to 'drivers/net/tun.c')
| -rw-r--r-- | drivers/net/tun.c | 7 | 
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 060135ceaf0e..e244f5d7512a 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c @@ -1536,6 +1536,7 @@ static void tun_rx_batched(struct tun_struct *tun, struct tun_file *tfile,  	if (!rx_batched || (!more && skb_queue_empty(queue))) {  		local_bh_disable(); +		skb_record_rx_queue(skb, tfile->queue_index);  		netif_receive_skb(skb);  		local_bh_enable();  		return; @@ -1555,8 +1556,11 @@ static void tun_rx_batched(struct tun_struct *tun, struct tun_file *tfile,  		struct sk_buff *nskb;  		local_bh_disable(); -		while ((nskb = __skb_dequeue(&process_queue))) +		while ((nskb = __skb_dequeue(&process_queue))) { +			skb_record_rx_queue(nskb, tfile->queue_index);  			netif_receive_skb(nskb); +		} +		skb_record_rx_queue(skb, tfile->queue_index);  		netif_receive_skb(skb);  		local_bh_enable();  	} @@ -2451,6 +2455,7 @@ build:  	if (!rcu_dereference(tun->steering_prog))  		rxhash = __skb_get_hash_symmetric(skb); +	skb_record_rx_queue(skb, tfile->queue_index);  	netif_receive_skb(skb);  	stats = get_cpu_ptr(tun->pcpu_stats);  | 
