aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/cxgbi/cxgb3i
diff options
context:
space:
mode:
authorkxie@chelsio.com <kxie@chelsio.com>2011-01-10 19:45:07 -0500
committerJames Bottomley <James.Bottomley@suse.de>2011-01-24 12:45:17 -0500
commit716163ff908be72f6b74752ad0796cc7c00b047a (patch)
tree5f28e6934fbe8f8d5d60bfbadc039ab1e1b458cf /drivers/scsi/cxgbi/cxgb3i
parentd38e19d00fe8c3591591e140d80dea785af5f1fe (diff)
[SCSI] cxgb3i: fixed connection problem with iscsi private ip
fixed the connection problem when the private iscsi ipv4 address is provisioned on the interface. Signed-off-by: Karen Xie <kxie@chelsio.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/cxgbi/cxgb3i')
-rw-r--r--drivers/scsi/cxgbi/cxgb3i/cxgb3i.h19
1 files changed, 15 insertions, 4 deletions
diff --git a/drivers/scsi/cxgbi/cxgb3i/cxgb3i.h b/drivers/scsi/cxgbi/cxgb3i/cxgb3i.h
index 5f5e3394b594..20593fd69d8f 100644
--- a/drivers/scsi/cxgbi/cxgb3i/cxgb3i.h
+++ b/drivers/scsi/cxgbi/cxgb3i/cxgb3i.h
@@ -24,10 +24,21 @@
24 24
25extern cxgb3_cpl_handler_func cxgb3i_cpl_handlers[NUM_CPL_CMDS]; 25extern cxgb3_cpl_handler_func cxgb3i_cpl_handlers[NUM_CPL_CMDS];
26 26
27#define cxgb3i_get_private_ipv4addr(ndev) \ 27static inline unsigned int cxgb3i_get_private_ipv4addr(struct net_device *ndev)
28 (((struct port_info *)(netdev_priv(ndev)))->iscsi_ipv4addr) 28{
29#define cxgb3i_set_private_ipv4addr(ndev, addr) \ 29 return ((struct port_info *)(netdev_priv(ndev)))->iscsi_ipv4addr;
30 (((struct port_info *)(netdev_priv(ndev)))->iscsi_ipv4addr) = addr 30}
31
32static inline void cxgb3i_set_private_ipv4addr(struct net_device *ndev,
33 unsigned int addr)
34{
35 struct port_info *pi = (struct port_info *)netdev_priv(ndev);
36
37 pi->iscsic.flags = addr ? 1 : 0;
38 pi->iscsi_ipv4addr = addr;
39 if (addr)
40 memcpy(pi->iscsic.mac_addr, ndev->dev_addr, ETH_ALEN);
41}
31 42
32struct cpl_iscsi_hdr_norss { 43struct cpl_iscsi_hdr_norss {
33 union opcode_tid ot; 44 union opcode_tid ot;