aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/cxgb3/adapter.h
diff options
context:
space:
mode:
authorKaren Xie <kxie@chelsio.com>2009-10-08 05:11:05 -0400
committerDavid S. Miller <davem@davemloft.net>2009-10-13 06:44:06 -0400
commitf14d42f314cb45a080bf84ecadf8b9b1eebbe9fd (patch)
treefb89056f265802233d87db2a41d3d35646665878 /drivers/net/cxgb3/adapter.h
parentbcd5149ded6b2edbf3732fa1483600a716b1cba6 (diff)
cxgb3: Added private MAC address and provisioning packet handler for iSCSI
This patch added support of private MAC address per port and provisioning packet handler for iSCSI traffic only. The above changes are isolated to the cxgb3 driver, independent of any scsi or iscsi driver changes. Acked-by: Karen Xie <kxie@chelsio.com> Acked-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Rakesh Ranjan <rakesh@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/cxgb3/adapter.h')
-rw-r--r--drivers/net/cxgb3/adapter.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/net/cxgb3/adapter.h b/drivers/net/cxgb3/adapter.h
index 2b1aea6aa558..3e8618b4efbc 100644
--- a/drivers/net/cxgb3/adapter.h
+++ b/drivers/net/cxgb3/adapter.h
@@ -48,12 +48,27 @@
48struct vlan_group; 48struct vlan_group;
49struct adapter; 49struct adapter;
50struct sge_qset; 50struct sge_qset;
51struct port_info;
51 52
52enum { /* rx_offload flags */ 53enum { /* rx_offload flags */
53 T3_RX_CSUM = 1 << 0, 54 T3_RX_CSUM = 1 << 0,
54 T3_LRO = 1 << 1, 55 T3_LRO = 1 << 1,
55}; 56};
56 57
58enum mac_idx_types {
59 LAN_MAC_IDX = 0,
60 SAN_MAC_IDX,
61
62 MAX_MAC_IDX
63};
64
65struct iscsi_config {
66 __u8 mac_addr[ETH_ALEN];
67 __u32 flags;
68 int (*send)(struct port_info *pi, struct sk_buff **skb);
69 int (*recv)(struct port_info *pi, struct sk_buff *skb);
70};
71
57struct port_info { 72struct port_info {
58 struct adapter *adapter; 73 struct adapter *adapter;
59 struct vlan_group *vlan_grp; 74 struct vlan_group *vlan_grp;
@@ -68,6 +83,7 @@ struct port_info {
68 struct net_device_stats netstats; 83 struct net_device_stats netstats;
69 int activity; 84 int activity;
70 __be32 iscsi_ipv4addr; 85 __be32 iscsi_ipv4addr;
86 struct iscsi_config iscsic;
71 87
72 int link_fault; /* link fault was detected */ 88 int link_fault; /* link fault was detected */
73}; 89};