Chris Leech wrote:
> The following series add NPIV support for libfc/libfcoe/fcoe.
> 
> It's functioning now, but there are still several areas I need to address
> before this will be ready for inclusion.
> 
> 1) FIP interaction is wrong.  When a VN_Port is created it will currently go
> through the FIP discovery process.  It should skip to sending the encapsulated
> FDISC request.
> 
> 2) Receive demux is still a problem.  NPIV breaks the 1:1 association of
> N_Port to network device.  That means that we can't just use the protocol
> handlers to get directly to an fc_lport structure.  I don't like the way these
> patches currently handle it, potentially walking the vport list for every
> received frame.  Handling the FLOGI and FDISC responses is an added
> difficulty here, because the can't be matched by fabric ID.

For FIP, there should be just one handler for all the lports on the fabric.
Most of the FIP frames are for the main lport and its link state.  Link
state of course affects all the lports.

The demux for FLOGI/FDISC responses should be in libfcoe.  That'll
work better for fnic, which also needs to do the same thing.

For FCoE, I think we need to key on the exchange ID, using a shared exchange
manager for all the NPIV sessions, or perhaps hash on the D_ID, but I prefer
the shared EM approach.

I'm really happy to see these patches.  I haven't gone all the way through them 
yet.
I'll have more comments tomorrow or so.

        Joe



>       Chris
> 
> ---
> 
> Chris Leech (9):
>       fcoe: NPIV vport create/destroy
>       libfc, libfcoe: FDISC ELS for NPIV
>       fcoe: fcoe_netdev_config differences for VN_Ports
>       fcoe: move the host-list add/remove to keep out VN_Ports
>       fcoe: add a separate scsi transport template for NPIV vports
>       fcoe: rename scsi_transport_fcoe_sw to fcoe_transport_template
>       fcoe: NPIV VN_Port lookup in fcoe_rcv and fcoe_fip_recv
>       libfc: add VN_Port flag for NPIV ports
>       fcoe: interface changes to fcoe_if_create and fcoe_if_destroy
> 
> 
>  drivers/scsi/fcoe/fcoe.c      |  298 
> +++++++++++++++++++++++++++++++----------
>  drivers/scsi/fcoe/libfcoe.c   |    7 +
>  drivers/scsi/libfc/fc_lport.c |    8 +
>  include/scsi/fc_encode.h      |   28 ++++
>  include/scsi/libfc.h          |    1 
>  5 files changed, 267 insertions(+), 75 deletions(-)
> 

_______________________________________________
devel mailing list
[email protected]
http://www.open-fcoe.org/mailman/listinfo/devel

Reply via email to