From patchwork Wed Dec 17 21:28:34 2008 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: holger@eitzenberger.org X-Patchwork-Id: 14566 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by ozlabs.org (Postfix) with ESMTP id 390B1DDF2A for ; Thu, 18 Dec 2008 08:31:16 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752862AbYLQVaq (ORCPT ); Wed, 17 Dec 2008 16:30:46 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752148AbYLQVaZ (ORCPT ); Wed, 17 Dec 2008 16:30:25 -0500 Received: from moutng.kundenserver.de ([212.227.126.186]:59374 "EHLO moutng.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751844AbYLQVaT (ORCPT ); Wed, 17 Dec 2008 16:30:19 -0500 Received: from kruemel.eitzenberger.org (p54AD36A6.dip0.t-ipconnect.de [84.173.54.166]) by mrelayeu.kundenserver.de (node=mrelayeu0) with ESMTP (Nemesis) id 0MKwh2-1LD3yD1dxc-0007SD; Wed, 17 Dec 2008 22:30:17 +0100 Received: from [192.168.11.10] (helo=jonathan.eitzenberger.org ident=holger) by kruemel.eitzenberger.org with smtp (Exim 4.50) id 1LD3yB-00057J-Pc; Wed, 17 Dec 2008 22:30:16 +0100 Received: by jonathan.eitzenberger.org (sSMTP sendmail emulation); Wed, 17 Dec 2008 22:30:15 +0100 Message-Id: <20081217213015.269486347@jonathan.eitzenberger.org> References: <20081217212827.080073908@jonathan.eitzenberger.org> User-Agent: quilt/0.46-1 Date: Wed, 17 Dec 2008 22:28:34 +0100 From: Holger Eitzenberger To: Jay Vosburgh Cc: davem@davemloft.net, netdev@vger.kernel.org Subject: [patch 7/9] bonding: use port_params in __update_selected() Content-Disposition: inline; filename=bonding-3ad-__update-selected-use-port_params.diff X-Provags-ID: V01U2FsdGVkX1/lWizG9Rc2HTuTmQwDuUundozUWrSJB2ovEiW XWQUfezqK9YLLBaIyUp9RJhBN9PvSnsU+m0jkpYEOs0pg70aH+ CBvWi3bY6KbokOZucRpeKXBwPTUGc5pKcwEvPqLILA= Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Signed-off-by: Holger Eitzenberger Index: bonding-2.6/drivers/net/bonding/bond_3ad.c =================================================================== --- bonding-2.6.orig/drivers/net/bonding/bond_3ad.c +++ bonding-2.6/drivers/net/bonding/bond_3ad.c @@ -513,16 +513,16 @@ static void __record_default(struct port */ static void __update_selected(struct lacpdu *lacpdu, struct port *port) { - // validate lacpdu and port if (lacpdu && port) { + const struct port_params *partner = &port->partner_oper; + // check if any parameter is different - if ((ntohs(lacpdu->actor_port) != port->partner_oper.port_number) || - (ntohs(lacpdu->actor_port_priority) != port->partner_oper.port_priority) || - MAC_ADDRESS_COMPARE(&(lacpdu->actor_system), &(port->partner_oper.system)) || - (ntohs(lacpdu->actor_system_priority) != port->partner_oper.system_priority) || - (ntohs(lacpdu->actor_key) != port->partner_oper.key) || - ((lacpdu->actor_state & AD_STATE_AGGREGATION) != (port->partner_oper.port_state & AD_STATE_AGGREGATION)) - ) { + if (ntohs(lacpdu->actor_port) != partner->port_number + || ntohs(lacpdu->actor_port_priority) != partner->port_priority + || MAC_ADDRESS_COMPARE(&lacpdu->actor_system, &partner->system) + || ntohs(lacpdu->actor_system_priority) != partner->system_priority + || ntohs(lacpdu->actor_key) != partner->key + || (lacpdu->actor_state & AD_STATE_AGGREGATION) != (partner->port_state & AD_STATE_AGGREGATION)) { // update the state machine Selected variable port->sm_vars &= ~AD_PORT_SELECTED; }