From patchwork Sun Jun 25 20:15:49 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Nicholas A. Bellinger" X-Patchwork-Id: 9808355 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 86A81603F3 for ; Sun, 25 Jun 2017 20:15:57 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 65F5128583 for ; Sun, 25 Jun 2017 20:15:57 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5A5972859F; Sun, 25 Jun 2017 20:15:57 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 43E6C28593 for ; Sun, 25 Jun 2017 20:15:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751358AbdFYUPy (ORCPT ); Sun, 25 Jun 2017 16:15:54 -0400 Received: from mail.linux-iscsi.org ([67.23.28.174]:44321 "EHLO linux-iscsi.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751395AbdFYUPv (ORCPT ); Sun, 25 Jun 2017 16:15:51 -0400 Received: from [172.16.2.183] (unknown [50.225.59.10]) (using SSLv3 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: nab) by linux-iscsi.org (Postfix) with ESMTPSA id D7FD0174108; Sun, 25 Jun 2017 20:19:54 +0000 (UTC) Message-ID: <1498421749.26123.35.camel@haakon3.risingtidesystems.com> Subject: Re: 281e36cbaf causes FlexBoot iSCSI errors From: "Nicholas A. Bellinger" To: Robert LeBlanc Cc: target-devel@vger.kernel.org, Or Gerlitz , Arun Easi Date: Sun, 25 Jun 2017 13:15:49 -0700 In-Reply-To: References: X-Mailer: Evolution 3.4.4-1 Mime-Version: 1.0 Sender: target-devel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: target-devel@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Hi Robert, Adding Or Gerlitz CC', as he can direct this to the relevant Mellanox folks responsible for Flexboot. Also adding Arun from Cavium CC', to ensure any additional change don't break the QLogic/MSFT iscsi environment we addressed by dropping the legacy work-around. On Fri, 2017-06-16 at 14:14 -0600, Robert LeBlanc wrote: > 281e36cbaf : iscsi-target: Drop work-around for legacy GlobalSAN initiator > For reference, here is the email thread: http://www.spinics.net/lists/target-devel/msg14938.html > Causes "No response for proposed key "FirstBurstLength"." when the > target is running 4.9.32. We tested both FlexBoot 3.5.109 and 3.5.110. > If we revert 281e36cbaf then FlexBoot 3.5.109 boots fine, but FlexBoot > 3.5.110 fails with messages "cmd exceeds last lba 64 (lba 64, sectors > 1)". > > It seems that FlexBoot has relied upon the workaround that now has been removed. > Ok, so it looks like Flexboot is not proposing nor responding to FirstBurstLength.. Robert, please send along a packet capture to verify this is the only key not being proposed. Mellanox folks, can you confirm Flexboot is not proposing nor responding to FirstBurstLength. > We have had to revert the patch and downgrade the firmware to get > things working again. > > # flint -d /dev/mst/mt4115_pciconf0 q > Image type: FS3 > FW Version: 12.18.1000 > FW Release Date: 25.1.2017 > Product Version: rel-12_18_1000 > Rom Info: type=PXE version=3.5.109 devid=4115 > Description: UID GuidsNumber > Base GUID: 248a0703001e7cc8 4 > Base MAC: 0000248a071e7cc8 4 > Image VSD: > Device VSD: > PSID: MT_2150110033 > So the Qlogic/MSFT environment was not proposing the DefaultTime2Wait + DefaultTime2Retain keys, which triggered the original work-around which proposed the keys but did not wait for a response before transitioning to full feature phase. Note the original work-around did this for DefaultTime2Wait, DefaultTime2Retain, FirstBurstLength, and MaxBurstLength. However, the original work-around to propose the missing keys but not wait for the response was in retrospect, not the right approach per RFC-3720. That said, we've got two options to consider: 1) Get the Mellanox/Flexboot folks to fix their ROM to propose, and/or respond to FirstBurstLength to follow RFC-3720. 2) Re-add a similar iscsi-target work-around for FirstBurstLength. So #1 should really be fixed, as not proposing nor responding to FirstBurstLength seems like a broken initiator to me, and would likely run into problems with other targets as well. For #2, since the work-around is not RFC I'm reluctant to re-add it. However, since Qlogic/MFST was tripping over DefaultTime2Wait + DefaultTime2Retain and not FirstBurstLength, in practice a work-around for FirstBurstLength only would probably allow FlexBoot to 'just work', and not break Qlogic/MFST or any other host environments. That said, here's a quick patch to do that. Robert, please verify on your end with Flexboot. Arun, from looking at the original QLogic/MSFT packet captures FirstBurstLength is being proposed, so I don't think re-adding this work-around would have any effect on your end. Please verify. --- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/target/iscsi/iscsi_target_parameters.c b/drivers/target/iscsi/iscsi_targ index fce6276..52b1d44 100644 --- a/drivers/target/iscsi/iscsi_target_parameters.c +++ b/drivers/target/iscsi/iscsi_target_parameters.c @@ -786,6 +786,11 @@ static void iscsi_check_proposer_for_optional_reply(struct iscsi_param * */ if (!strcmp(param->name, MAXCONNECTIONS)) SET_PSTATE_REPLY_OPTIONAL(param); + /* + * Required for Mellanox Flexboot iscsi ROM + */ + if (!strcmp(param->name, FIRSTBURSTLENGTH)) + SET_PSTATE_REPLY_OPTIONAL(param); } else if (IS_PHASE_DECLARATIVE(param)) SET_PSTATE_REPLY_OPTIONAL(param); }