From patchwork Fri Jan 18 12:30:20 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nikolay Aleksandrov X-Patchwork-Id: 1027300 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=cumulusnetworks.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=cumulusnetworks.com header.i=@cumulusnetworks.com header.b="YpbfGWAR"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43h0g65dx6z9sDn for ; Fri, 18 Jan 2019 23:31:30 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727519AbfARMb3 (ORCPT ); Fri, 18 Jan 2019 07:31:29 -0500 Received: from mail-wm1-f65.google.com ([209.85.128.65]:33237 "EHLO mail-wm1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727343AbfARMb1 (ORCPT ); Fri, 18 Jan 2019 07:31:27 -0500 Received: by mail-wm1-f65.google.com with SMTP id r24so892975wmh.0 for ; Fri, 18 Jan 2019 04:31:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cumulusnetworks.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=YHzMPTreViMmDqmHkxja2zGmHXwAPHFU2N0tQzlt6qY=; b=YpbfGWAR40iHjOmbVpn5lhHOj8SD6DW//6JX0G+doQsFVxzyamMN0x04CoH61vDcBe KZ3vq7Lkpe/+FVg242jDOGsC6yOvWauEdYrHfw+p/BQvPrm7Fv+zP9yz3vZh4Gm1JKgu INDyw/t0PfTLViiRMBSfx4AnKdgo85Ouey38o= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=YHzMPTreViMmDqmHkxja2zGmHXwAPHFU2N0tQzlt6qY=; b=fR0OU45rPzPEOdQWpnwdV4ad6zFLeOlUZg3xrACbQwSUb7PBI1h6rkISY+8fP+CRRl pzAFgkzugB4BurkqQXDz/x0M/x4q3vhqgCx2zfbL5Fv2FJu5CwvrNdq1K9hCKchtQK9u CMxSfUM7z9KLhnd+2NkACEFUiM/g2TDCJ9jHDx/GAiUpMZT2LtgrzK3AhkeEdj/K6Oon hWR0HvkCSv+4qqpFtip3JlP86sKi5N0Hio/vYAOB+TOR0OSyaz8Hw1mJ3gdk3+vEbXOB n1Q4S70P7J8QBym+ShTbx9c8kcMH4V6HR2SOIcOicTDUHF9A4iyvH7CYB4ikNy07gmjZ PavA== X-Gm-Message-State: AJcUukdiDd5262TgY/pEaprIu/7sGdEEU8KnTa2aay6lSlBOC2jqH+yz QOjAzA5BWdouEJp+snjiM61lOyDnTBc= X-Google-Smtp-Source: ALg8bN6gBBrEBRvjcwUk+pp8+JD4dt7nnX5IrFZTgdyPaPxVFpRJiZqbrPn/BFjF/1ioH//zU4fCrw== X-Received: by 2002:a1c:2501:: with SMTP id l1mr16172611wml.102.1547814684728; Fri, 18 Jan 2019 04:31:24 -0800 (PST) Received: from localhost.localdomain ([93.152.141.58]) by smtp.gmail.com with ESMTPSA id w16sm90904482wrp.1.2019.01.18.04.31.23 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 18 Jan 2019 04:31:24 -0800 (PST) From: Nikolay Aleksandrov To: netdev@vger.kernel.org Cc: roopa@cumulusnetworks.com, j.vosburgh@gmail.com, vfalico@gmail.com, andy@greyhouse.net, davem@davemloft.net, Nikolay Aleksandrov Subject: [PATCH net-next 1/4] bonding: adjust style of bond_3ad_rx_indication Date: Fri, 18 Jan 2019 14:30:20 +0200 Message-Id: <20190118123023.17614-2-nikolay@cumulusnetworks.com> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190118123023.17614-1-nikolay@cumulusnetworks.com> References: <20190118123023.17614-1-nikolay@cumulusnetworks.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org No functional changes, adjust the style of bond_3ad_rx_indication to prepare it for the stats changes: - reduce indentation by returning early on wrong length - remove extra new lines between switch cases - add marker local variable and use it to reduce line length - rearrange local variables in reverse xmas tree - separate final return Signed-off-by: Nikolay Aleksandrov --- drivers/net/bonding/bond_3ad.c | 85 ++++++++++++++++------------------ 1 file changed, 41 insertions(+), 44 deletions(-) diff --git a/drivers/net/bonding/bond_3ad.c b/drivers/net/bonding/bond_3ad.c index 7c46d9f4fefd..cdc43eebef9d 100644 --- a/drivers/net/bonding/bond_3ad.c +++ b/drivers/net/bonding/bond_3ad.c @@ -2357,57 +2357,54 @@ void bond_3ad_state_machine_handler(struct work_struct *work) static int bond_3ad_rx_indication(struct lacpdu *lacpdu, struct slave *slave, u16 length) { - struct port *port; int ret = RX_HANDLER_ANOTHER; + struct bond_marker *marker; + struct port *port; - if (length >= sizeof(struct lacpdu)) { - - port = &(SLAVE_AD_INFO(slave)->port); + if (length < sizeof(struct lacpdu)) + return ret; - if (!port->slave) { - net_warn_ratelimited("%s: Warning: port of slave %s is uninitialized\n", - slave->dev->name, slave->bond->dev->name); - return ret; - } + port = &(SLAVE_AD_INFO(slave)->port); + if (!port->slave) { + net_warn_ratelimited("%s: Warning: port of slave %s is uninitialized\n", + slave->dev->name, slave->bond->dev->name); + return ret; + } - switch (lacpdu->subtype) { - case AD_TYPE_LACPDU: - ret = RX_HANDLER_CONSUMED; - netdev_dbg(slave->bond->dev, - "Received LACPDU on port %d slave %s\n", - port->actor_port_number, - slave->dev->name); - /* Protect against concurrent state machines */ - spin_lock(&slave->bond->mode_lock); - ad_rx_machine(lacpdu, port); - spin_unlock(&slave->bond->mode_lock); + switch (lacpdu->subtype) { + case AD_TYPE_LACPDU: + ret = RX_HANDLER_CONSUMED; + netdev_dbg(slave->bond->dev, + "Received LACPDU on port %d slave %s\n", + port->actor_port_number, slave->dev->name); + /* Protect against concurrent state machines */ + spin_lock(&slave->bond->mode_lock); + ad_rx_machine(lacpdu, port); + spin_unlock(&slave->bond->mode_lock); + break; + case AD_TYPE_MARKER: + ret = RX_HANDLER_CONSUMED; + /* No need to convert fields to Little Endian since we + * don't use the marker's fields. + */ + marker = (struct bond_marker *)lacpdu; + switch (marker->tlv_type) { + case AD_MARKER_INFORMATION_SUBTYPE: + netdev_dbg(slave->bond->dev, "Received Marker Information on port %d\n", + port->actor_port_number); + ad_marker_info_received(marker, port); break; - - case AD_TYPE_MARKER: - ret = RX_HANDLER_CONSUMED; - /* No need to convert fields to Little Endian since we - * don't use the marker's fields. - */ - - switch (((struct bond_marker *)lacpdu)->tlv_type) { - case AD_MARKER_INFORMATION_SUBTYPE: - netdev_dbg(slave->bond->dev, "Received Marker Information on port %d\n", - port->actor_port_number); - ad_marker_info_received((struct bond_marker *)lacpdu, port); - break; - - case AD_MARKER_RESPONSE_SUBTYPE: - netdev_dbg(slave->bond->dev, "Received Marker Response on port %d\n", - port->actor_port_number); - ad_marker_response_received((struct bond_marker *)lacpdu, port); - break; - - default: - netdev_dbg(slave->bond->dev, "Received an unknown Marker subtype on slot %d\n", - port->actor_port_number); - } + case AD_MARKER_RESPONSE_SUBTYPE: + netdev_dbg(slave->bond->dev, "Received Marker Response on port %d\n", + port->actor_port_number); + ad_marker_response_received(marker, port); + break; + default: + netdev_dbg(slave->bond->dev, "Received an unknown Marker subtype on slot %d\n", + port->actor_port_number); } } + return ret; }