[SCSI] cxgb3i: fix connection error when vlan is enabled
There is a bug when VLAN is configured on the cxgb3 interface, the iscsi conn. would be denied with message "cxgb3i: NOT going through cxgbi device." This patch adds code to get the real egress net_device when vlan is configured. Signed-off-by: Karen Xie <kxie@chelsio.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:
Родитель
39562e7839
Коммит
a222ad1a4b
|
@ -13,6 +13,7 @@
|
|||
|
||||
#include <linux/inet.h>
|
||||
#include <linux/crypto.h>
|
||||
#include <linux/if_vlan.h>
|
||||
#include <net/dst.h>
|
||||
#include <net/tcp.h>
|
||||
#include <scsi/scsi_cmnd.h>
|
||||
|
@ -184,6 +185,9 @@ static struct cxgb3i_hba *cxgb3i_hba_find_by_netdev(struct net_device *ndev)
|
|||
struct cxgb3i_adapter *snic;
|
||||
int i;
|
||||
|
||||
if (ndev->priv_flags & IFF_802_1Q_VLAN)
|
||||
ndev = vlan_dev_real_dev(ndev);
|
||||
|
||||
read_lock(&cxgb3i_snic_rwlock);
|
||||
list_for_each_entry(snic, &cxgb3i_snic_list, list_head) {
|
||||
for (i = 0; i < snic->hba_cnt; i++) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче