]> git.baikalelectronics.ru Git - kernel.git/commit
bonding: don't increase rx_dropped after processing LACPDUs
authorJiri Bohac <jbohac@suse.cz>
Wed, 9 May 2012 01:01:40 +0000 (01:01 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 11 May 2012 03:30:01 +0000 (23:30 -0400)
commitca6179f5b03e14fb33301bdd465886e1e5495817
tree824f5daec5b68663a7feaebb76ebbb2cfce5d4c0
parentecf381387624f5823cc84c0dbdc42ba8795f57f1
bonding: don't increase rx_dropped after processing LACPDUs

Since commit 3f9fc093, bonding processes LACP frames (802.3ad
mode) with bond_handle_frame(). Currently a copy of the skb is
made and the original is left to be processed by other
rx_handlers and the rest of the network stack by returning
RX_HANDLER_ANOTHER.  As there is no protocol handler for
PKT_TYPE_LACPDU, the frame is dropped and dev->rx_dropped
increased.

Fix this by making bond_handle_frame() return RX_HANDLER_CONSUMED
if bonding has processed the LACP frame.

Signed-off-by: Jiri Bohac <jbohac@suse.cz>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_3ad.c
drivers/net/bonding/bond_3ad.h
drivers/net/bonding/bond_main.c