]> git.proxmox.com Git - mirror_ubuntu-disco-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)
commit13a8e0c8cdb43982372bd6c65fb26839c8fd8ce9
tree824f5daec5b68663a7feaebb76ebbb2cfce5d4c0
parent38bf1953987c1735f3c9140fca762949a8cae507
bonding: don't increase rx_dropped after processing LACPDUs

Since commit 3aba891d, 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