On 2/14/2012 5:34 PM, Vasu Dev wrote:
Currently fc_host mfs is not getting updated in
case its changed during FLOGI and that leaves fc_host
to show its initial old value in sysfs, so instead
have fc_host mfs updated along with updating lport mfs
during FLOGI.

Also in case of bad mfs during flogi, error out
instead of continuing with flogi.

Signed-off-by: Vasu Dev<vasu....@intel.com>
Tested-by: Ross Brattain<ross.b.bratt...@intel.com>
---

  drivers/scsi/libfc/fc_lport.c |    9 ++++++++-
  1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/drivers/scsi/libfc/fc_lport.c b/drivers/scsi/libfc/fc_lport.c
index 9a0b2a9..a992692 100644
--- a/drivers/scsi/libfc/fc_lport.c
+++ b/drivers/scsi/libfc/fc_lport.c
@@ -1743,8 +1743,15 @@ void fc_lport_flogi_resp(struct fc_seq *sp, struct 
fc_frame *fp,
        mfs = ntohs(flp->fl_csp.sp_bb_data)&
                FC_SP_BB_DATA_MASK;
        if (mfs>= FC_SP_MIN_MAX_PAYLOAD&&
-           mfs<  lport->mfs)
+           mfs<  lport->mfs) {
                lport->mfs = mfs;
+               fc_host_maxframe_size(lport->host) = mfs;
+       } else {
+               FC_LPORT_DBG(lport, "FLOGI bad mfs:%hu response\n", mfs);
+               fc_lport_error(lport, fp);
+               goto err;
+       }
+

Vasu, sorry for not getting back to you on this earlier, but I found that this check does not allow the FLOGI to succeed on Broadcom devices. We have max frame size set to 2048 even if FLOGI resp indicates 2112. Even for fcoe driver, with default MTU of 1500, FLOGI is not going to succeed. Probably if we want to retry, we should check only for MIN_MAX_PAYLOAD.

thanks,
Bhanu
        csp_flags = ntohs(flp->fl_csp.sp_features);
        r_a_tov = ntohl(flp->fl_csp.sp_r_a_tov);
        e_d_tov = ntohl(flp->fl_csp.sp_e_d_tov);

_______________________________________________
devel mailing list
devel@open-fcoe.org
https://lists.open-fcoe.org/mailman/listinfo/devel



_______________________________________________
devel mailing list
devel@open-fcoe.org
https://lists.open-fcoe.org/mailman/listinfo/devel

Reply via email to