Tom Tucker wrote:
This patch is for CMA changes to support iWARP and is relative to the
trunk. It includes the latest ib_addr generalizations that allowed for
some simplification in the rdma_resolve_addr implementation. This patch
needs the include file patch to compile.
Thanks - I would prefer hold off committing these changes for a few days until
we can submit a patch to merge the existing rdma_cm and ib_addr upstream.
Only a couple of minor nits below.
+static int cma_iw_handler(struct iw_cm_id* iw_id, struct iw_cm_event* event)
+{
+ struct rdma_id_private *id_priv = iw_id->context;
+ enum rdma_cm_event_type event_type = 0;
+ int ret = 0;
+
+ atomic_inc(&id_priv->dev_remove);
+
+ switch (event->event) {
+ case IW_CM_EVENT_LLP_DISCONNECT:
+ case IW_CM_EVENT_LLP_RESET:
+ case IW_CM_EVENT_LLP_TIMEOUT:
+ case IW_CM_EVENT_CLOSE:
+ event_type = RDMA_CM_EVENT_DISCONNECTED;
+ break;
+
+ case IW_CM_EVENT_CONNECT_REQUEST:
+ BUG_ON(1);
+ break;
Maybe move the BUG_ON to a default case?
+static int cma_iw_listen(struct rdma_id_private *id_priv)
+{
+ int ret;
+ struct sockaddr_in* sin;
+
+ id_priv->cm_id.iw = iw_create_cm_id(id_priv->id.device,
+ iw_conn_req_handler,
+ id_priv);
+ if (IS_ERR(id_priv->cm_id.iw))
+ return PTR_ERR(id_priv->cm_id.iw);
+
+ sin = (struct sockaddr_in*)&id_priv->id.route.addr.src_addr;
+ id_priv->cm_id.iw->local_addr = *sin;
+
+ ret = iw_cm_listen(id_priv->cm_id.iw, 10 /* backlog */);
rdma_listen() has a backlog parameter that can be used here.
- Sean
_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general