[SCSI] libfcoe: FIP Keep-Alive messages for VPorts are sent with incorrect port_id...
authorKaladhar Musunuru <kmusunuru@juniper.net>
Fri, 7 May 2010 22:18:57 +0000 (15:18 -0700)
committerJames Bottomley <James.Bottomley@suse.de>
Mon, 17 May 2010 02:22:38 +0000 (22:22 -0400)
All VNports are sending FIP Keep-Alive messages with port_id and wwpn of the parent host instead of it's own port_id and wwpn. Standard FIP descriptor type 11 indicates to send own port_id and port_name.

Signed-off-by: Kaladhar Musunuru <kmusunuru@juniper.net>
Acked-by: Joe Eykholt <jeykholt@cisco.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/fcoe/libfcoe.c

index 080e4ec..50aaa4b 100644 (file)
@@ -374,8 +374,8 @@ static void fcoe_ctlr_send_keep_alive(struct fcoe_ctlr *fip,
                vn->fd_desc.fip_dtype = FIP_DT_VN_ID;
                vn->fd_desc.fip_dlen = sizeof(*vn) / FIP_BPW;
                memcpy(vn->fd_mac, fip->get_src_addr(lport), ETH_ALEN);
-               hton24(vn->fd_fc_id, lp->port_id);
-               put_unaligned_be64(lp->wwpn, &vn->fd_wwpn);
+               hton24(vn->fd_fc_id, lport->port_id);
+               put_unaligned_be64(lport->wwpn, &vn->fd_wwpn);
        }
        skb_put(skb, len);
        skb->protocol = htons(ETH_P_FIP);