]> 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)
commit8c0902a51d3a6715cf4b466e08b9471ff7089217
tree824f5daec5b68663a7feaebb76ebbb2cfce5d4c0
parent5f4f1076c803765d7312a35f06add6911bb2be2d
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