[SCSI] fnic: Add FIP support to the fnic driver
authorJoe Eykholt <jeykholt@cisco.com>
Tue, 3 Nov 2009 19:49:22 +0000 (11:49 -0800)
committerJames Bottomley <James.Bottomley@suse.de>
Fri, 4 Dec 2009 18:01:19 +0000 (12:01 -0600)
commit78112e5558064cb4d2e355aed87b2036fcdfe3dd
treedf34a54d3dcfb503621e3cdd64b22dc173a6722e
parent386309ce927a308d7742a6fb24a536d3383fbd49
[SCSI] fnic: Add FIP support to the fnic driver

Use libfcoe as a common FIP implementation with fcoe.
FIP or non-FIP mode is fully automatic if the firmware
supports and enables it.

Even if FIP is not supported, this uses libfcoe for the non-FIP
handling of FLOGI and its response.

Use the new lport_set_port_id() notification to capture
successful FLOGI responses and port_id resets.

While transitioning between Ethernet and FC mode, all rx and
tx FC frames are queued.  In Ethernet mode, all frames are
passed to the exchange manager to capture FLOGI responses.

Change to set data_src_addr to the ctl_src_addr whenever it
would have previously been zero because we're not logged in.
This seems safer so we'll never send a frame with a 0 source MAC.
This also eliminates a special case for sending FLOGI frames.

Signed-off-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/Kconfig
drivers/scsi/fnic/fnic.h
drivers/scsi/fnic/fnic_fcs.c
drivers/scsi/fnic/fnic_main.c
drivers/scsi/fnic/fnic_res.c
drivers/scsi/fnic/fnic_res.h
drivers/scsi/fnic/fnic_scsi.c
drivers/scsi/fnic/vnic_scsi.h