diff options
Diffstat (limited to 'drivers/infiniband/hw/nes/nes_cm.h')
-rw-r--r-- | drivers/infiniband/hw/nes/nes_cm.h | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/drivers/infiniband/hw/nes/nes_cm.h b/drivers/infiniband/hw/nes/nes_cm.h index 7717cb2ab500..367b3d290140 100644 --- a/drivers/infiniband/hw/nes/nes_cm.h +++ b/drivers/infiniband/hw/nes/nes_cm.h | |||
@@ -83,6 +83,8 @@ enum nes_timer_type { | |||
83 | #define SET_FIN 4 | 83 | #define SET_FIN 4 |
84 | #define SET_RST 8 | 84 | #define SET_RST 8 |
85 | 85 | ||
86 | #define TCP_OPTIONS_PADDING 3 | ||
87 | |||
86 | struct option_base { | 88 | struct option_base { |
87 | u8 optionnum; | 89 | u8 optionnum; |
88 | u8 length; | 90 | u8 length; |
@@ -177,6 +179,7 @@ enum nes_cm_node_state { | |||
177 | NES_CM_STATE_ESTABLISHED, | 179 | NES_CM_STATE_ESTABLISHED, |
178 | NES_CM_STATE_ACCEPTING, | 180 | NES_CM_STATE_ACCEPTING, |
179 | NES_CM_STATE_MPAREQ_SENT, | 181 | NES_CM_STATE_MPAREQ_SENT, |
182 | NES_CM_STATE_MPAREQ_RCVD, | ||
180 | NES_CM_STATE_TSA, | 183 | NES_CM_STATE_TSA, |
181 | NES_CM_STATE_FIN_WAIT1, | 184 | NES_CM_STATE_FIN_WAIT1, |
182 | NES_CM_STATE_FIN_WAIT2, | 185 | NES_CM_STATE_FIN_WAIT2, |
@@ -187,6 +190,16 @@ enum nes_cm_node_state { | |||
187 | NES_CM_STATE_CLOSED | 190 | NES_CM_STATE_CLOSED |
188 | }; | 191 | }; |
189 | 192 | ||
193 | enum nes_tcpip_pkt_type { | ||
194 | NES_PKT_TYPE_UNKNOWN, | ||
195 | NES_PKT_TYPE_SYN, | ||
196 | NES_PKT_TYPE_SYNACK, | ||
197 | NES_PKT_TYPE_ACK, | ||
198 | NES_PKT_TYPE_FIN, | ||
199 | NES_PKT_TYPE_RST | ||
200 | }; | ||
201 | |||
202 | |||
190 | /* type of nes connection */ | 203 | /* type of nes connection */ |
191 | enum nes_cm_conn_type { | 204 | enum nes_cm_conn_type { |
192 | NES_CM_IWARP_CONN_TYPE, | 205 | NES_CM_IWARP_CONN_TYPE, |
@@ -257,7 +270,9 @@ struct nes_cm_node { | |||
257 | struct net_device *netdev; | 270 | struct net_device *netdev; |
258 | 271 | ||
259 | struct nes_cm_node *loopbackpartner; | 272 | struct nes_cm_node *loopbackpartner; |
260 | struct list_head retrans_list; | 273 | |
274 | struct nes_timer_entry *send_entry; | ||
275 | |||
261 | spinlock_t retrans_list_lock; | 276 | spinlock_t retrans_list_lock; |
262 | struct list_head recv_list; | 277 | struct list_head recv_list; |
263 | spinlock_t recv_list_lock; | 278 | spinlock_t recv_list_lock; |
@@ -276,6 +291,8 @@ struct nes_cm_node { | |||
276 | struct nes_vnic *nesvnic; | 291 | struct nes_vnic *nesvnic; |
277 | int apbvt_set; | 292 | int apbvt_set; |
278 | int accept_pend; | 293 | int accept_pend; |
294 | int freed; | ||
295 | struct nes_qp *nesqp; | ||
279 | }; | 296 | }; |
280 | 297 | ||
281 | /* structure for client or CM to fill when making CM api calls. */ | 298 | /* structure for client or CM to fill when making CM api calls. */ |
@@ -366,14 +383,14 @@ struct nes_cm_ops { | |||
366 | struct nes_cm_info *); | 383 | struct nes_cm_info *); |
367 | int (*stop_listener)(struct nes_cm_core *, struct nes_cm_listener *); | 384 | int (*stop_listener)(struct nes_cm_core *, struct nes_cm_listener *); |
368 | struct nes_cm_node * (*connect)(struct nes_cm_core *, | 385 | struct nes_cm_node * (*connect)(struct nes_cm_core *, |
369 | struct nes_vnic *, struct ietf_mpa_frame *, | 386 | struct nes_vnic *, u16, void *, |
370 | struct nes_cm_info *); | 387 | struct nes_cm_info *); |
371 | int (*close)(struct nes_cm_core *, struct nes_cm_node *); | 388 | int (*close)(struct nes_cm_core *, struct nes_cm_node *); |
372 | int (*accept)(struct nes_cm_core *, struct ietf_mpa_frame *, | 389 | int (*accept)(struct nes_cm_core *, struct ietf_mpa_frame *, |
373 | struct nes_cm_node *); | 390 | struct nes_cm_node *); |
374 | int (*reject)(struct nes_cm_core *, struct ietf_mpa_frame *, | 391 | int (*reject)(struct nes_cm_core *, struct ietf_mpa_frame *, |
375 | struct nes_cm_node *); | 392 | struct nes_cm_node *); |
376 | int (*recv_pkt)(struct nes_cm_core *, struct nes_vnic *, | 393 | void (*recv_pkt)(struct nes_cm_core *, struct nes_vnic *, |
377 | struct sk_buff *); | 394 | struct sk_buff *); |
378 | int (*destroy_cm_core)(struct nes_cm_core *); | 395 | int (*destroy_cm_core)(struct nes_cm_core *); |
379 | int (*get)(struct nes_cm_core *); | 396 | int (*get)(struct nes_cm_core *); |