aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/core/cma.c
diff options
context:
space:
mode:
authorSean Hefty <sean.hefty@intel.com>2013-05-29 13:09:34 -0400
committerRoland Dreier <roland@purestorage.com>2013-06-21 02:35:45 -0400
commitce117ffac2e933344d0ea01b1cb3b56627fcb6e7 (patch)
treecbb7bdda002cecd292b2882abfdb09cdfe3aa000 /drivers/infiniband/core/cma.c
parent5bc2b7b397b02026a0596a7807443a18422733fa (diff)
RDMA/cma: Export AF_IB statistics
Report AF_IB source and destination addresses through netlink interface. Signed-off-by: Sean Hefty <sean.hefty@intel.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband/core/cma.c')
-rw-r--r--drivers/infiniband/core/cma.c37
1 files changed, 10 insertions, 27 deletions
diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
index 3d30c388e043..f1c279fabe64 100644
--- a/drivers/infiniband/core/cma.c
+++ b/drivers/infiniband/core/cma.c
@@ -3586,33 +3586,16 @@ static int cma_get_id_stats(struct sk_buff *skb, struct netlink_callback *cb)
3586 id_stats->bound_dev_if = 3586 id_stats->bound_dev_if =
3587 id->route.addr.dev_addr.bound_dev_if; 3587 id->route.addr.dev_addr.bound_dev_if;
3588 3588
3589 if (cma_family(id_priv) == AF_INET) { 3589 if (ibnl_put_attr(skb, nlh,
3590 if (ibnl_put_attr(skb, nlh, 3590 rdma_addr_size(cma_src_addr(id_priv)),
3591 sizeof(struct sockaddr_in), 3591 cma_src_addr(id_priv),
3592 cma_src_addr(id_priv), 3592 RDMA_NL_RDMA_CM_ATTR_SRC_ADDR))
3593 RDMA_NL_RDMA_CM_ATTR_SRC_ADDR)) { 3593 goto out;
3594 goto out; 3594 if (ibnl_put_attr(skb, nlh,
3595 } 3595 rdma_addr_size(cma_src_addr(id_priv)),
3596 if (ibnl_put_attr(skb, nlh, 3596 cma_dst_addr(id_priv),
3597 sizeof(struct sockaddr_in), 3597 RDMA_NL_RDMA_CM_ATTR_DST_ADDR))
3598 cma_dst_addr(id_priv), 3598 goto out;
3599 RDMA_NL_RDMA_CM_ATTR_DST_ADDR)) {
3600 goto out;
3601 }
3602 } else if (cma_family(id_priv) == AF_INET6) {
3603 if (ibnl_put_attr(skb, nlh,
3604 sizeof(struct sockaddr_in6),
3605 cma_src_addr(id_priv),
3606 RDMA_NL_RDMA_CM_ATTR_SRC_ADDR)) {
3607 goto out;
3608 }
3609 if (ibnl_put_attr(skb, nlh,
3610 sizeof(struct sockaddr_in6),
3611 cma_dst_addr(id_priv),
3612 RDMA_NL_RDMA_CM_ATTR_DST_ADDR)) {
3613 goto out;
3614 }
3615 }
3616 3599
3617 id_stats->pid = id_priv->owner; 3600 id_stats->pid = id_priv->owner;
3618 id_stats->port_space = id->ps; 3601 id_stats->port_space = id->ps;