diff options
author | Sean Hefty <sean.hefty@intel.com> | 2013-05-29 13:09:34 -0400 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2013-06-21 02:35:45 -0400 |
commit | ce117ffac2e933344d0ea01b1cb3b56627fcb6e7 (patch) | |
tree | cbb7bdda002cecd292b2882abfdb09cdfe3aa000 /drivers/infiniband/core/cma.c | |
parent | 5bc2b7b397b02026a0596a7807443a18422733fa (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.c | 37 |
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; |