[PATCH] iseries_veth: Add a per-connection ack timer
authorMichael Ellerman <michael@ellerman.id.au>
Thu, 1 Sep 2005 01:29:17 +0000 (11:29 +1000)
committerJeff Garzik <jgarzik@pobox.com>
Thu, 1 Sep 2005 02:42:45 +0000 (22:42 -0400)
commit24562ffa8bdf3a111278a8b93ab92837b9ec9113
treefd61f42ecad239577edf680efe3f93ac95b70a26
parent48683d72f8146dfb896e05c90d3544bbad63778c
[PATCH] iseries_veth: Add a per-connection ack timer

Currently the iseries_veth driver contravenes the specification in
Documentation/networking/driver.txt, in that if packets are not acked by
the other LPAR they will sit around forever.

This patch adds a per-connection timer which fires if we've had no acks for
five seconds. This is superior to the generic TX timer because it catches
the case of a small number of packets being sent and never acked.

This fixes a bug we were seeing on real systems, where some IPv6 neighbour
discovery packets would not be acked and then prevent the module from being
removed, due to skbs lying around.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
drivers/net/iseries_veth.c