]> git.baikalelectronics.ru Git - kernel.git/commit
tipc: purge backlog queue counters when broadcast link is reset
authorJon Paul Maloy <jon.maloy@ericsson.com>
Sun, 28 Jun 2015 13:44:44 +0000 (09:44 -0400)
committerDavid S. Miller <davem@davemloft.net>
Sun, 28 Jun 2015 23:43:02 +0000 (16:43 -0700)
commitf1ca7ca1d8ed2faa2a7da1803b1a1e4ae673b7b6
treed6edc29ed8d4d0d4314e7249486a48b4f2ae5267
parent0f4a0ffe4dc4287abbc1085220505bba77efc9fe
tipc: purge backlog queue counters when broadcast link is reset

In commit 4584dd1d01ed4305856ae6ff68682d847c3a6891
("tipc: introduce starvation free send algorithm")
we introduced a counter per priority level for buffers
in the link backlog queue. We also introduced a new
function tipc_link_purge_backlog(), to reset these
counters to zero when the link is reset.

Unfortunately, we missed to call this function when
the broadcast link is reset, with the result that the
values of these counters might be permanently skewed
when new nodes are attached. This may in the worst case
lead to permananent, but spurious, broadcast link
congestion, where no broadcast packets can be sent at
all.

We fix this bug with this commit.

Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tipc/bcast.c
net/tipc/link.c
net/tipc/link.h