[SCSI] bnx2fc: Introduce interface structure for each vlan interface
commitaea71a024914e8b5b8bed31256dae42195a0a207
authorBhanu Prakash Gollapudi <bprakash@broadcom.com>
Tue, 26 Jul 2011 21:51:39 +0000 (26 14:51 -0700)
committerJames Bottomley <JBottomley@Parallels.com>
Wed, 27 Jul 2011 11:37:31 +0000 (27 15:37 +0400)
treed3d155d7323966a56425ad68837b924816719c89
parentf6e76055ba778c56716ba79e106db28297775e87
[SCSI] bnx2fc: Introduce interface structure for each vlan interface

Currently, bnx2fc has a hba structure that can work with only a single vlan
interface.  When there is a change in vlan id, it does not have the capability
to switch to different vlan interface. To solve this problem, a new structure
called 'interface' has been introduced, and each hba can now have multiple
interfaces, one per vlan id.

Most of the patch is a moving the interface specific fields from hba to the
interface structure, and appropriately modifying the dereferences. A list of
interfaces (if_list) is maintained along with adapter list. During a create
call, the interface structure is allocated and added to if_list and deleted &
freed on a destroy call.  Link events are propagated to all interfaces
belonging to the hba.

Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/bnx2fc/bnx2fc.h
drivers/scsi/bnx2fc/bnx2fc_els.c
drivers/scsi/bnx2fc/bnx2fc_fcoe.c
drivers/scsi/bnx2fc/bnx2fc_hwi.c
drivers/scsi/bnx2fc/bnx2fc_io.c
drivers/scsi/bnx2fc/bnx2fc_tgt.c