I'm sure there will be more discussion on the general approach, but some comments on a few implementation details below.
> +EXPORT_SYMBOL(cma_get_stats_size); All other exported calls use the prefix 'rdma_cm'. Same comment for cma_get_stats > diff --git a/include/rdma/rdma_cm.h b/include/rdma/rdma_cm.h > index 4fae903..a3cd1c7 100644 > --- a/include/rdma/rdma_cm.h > +++ b/include/rdma/rdma_cm.h > @@ -133,6 +133,28 @@ struct rdma_cm_id { > u8 port_num; > }; > > +struct rdma_cm_id_stats { > + enum rdma_node_type nt; > + int port_num; > + int bound_dev_if; > + struct sockaddr local_addr; > + struct sockaddr remote_addr; need to use sockaddr_storage > + enum rdma_port_space ps; > + int cma_state; The enum cma_state should probably be moved from cma.c to a header file if it will be accessed external to the rdma_cm. > + int qp_num; u32 or be32? > + pid_t pid; > +}; - Sean -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html