From: Tommy Christensen <tommy.christensen@xxxxxxxxx>
But as stated in bonding.txt, the ARP monitor requires the underlying
driver to update dev->trans_start and dev->last_rx.
The patch below adds the required functionality to the TUN/TAP driver.
Please test if this helps in your case.
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---
25-akpm/drivers/net/tun.c | 2 ++
1 files changed, 2 insertions(+)
diff -puN drivers/net/tun.c~tun-tan-arp-monitor-support drivers/net/tun.c
--- 25/drivers/net/tun.c~tun-tan-arp-monitor-support 2005-01-24
18:55:47.450083328 -0800
+++ 25-akpm/drivers/net/tun.c 2005-01-24 18:55:47.454082720 -0800
@@ -113,6 +113,7 @@ static int tun_net_xmit(struct sk_buff *
/* Queue packet */
skb_queue_tail(&tun->readq, skb);
+ dev->trans_start = jiffies;
/* Notify and wake up reader process */
if (tun->flags & TUN_FASYNC)
@@ -259,6 +260,7 @@ static __inline__ ssize_t tun_get_user(s
skb->ip_summed = CHECKSUM_UNNECESSARY;
netif_rx_ni(skb);
+ tun->dev->last_rx = jiffies;
tun->stats.rx_packets++;
tun->stats.rx_bytes += len;
_
|