Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ce117ffa authored by Sean Hefty's avatar Sean Hefty Committed by Roland Dreier
Browse files

RDMA/cma: Export AF_IB statistics



Report AF_IB source and destination addresses through netlink
interface.

Signed-off-by: default avatarSean Hefty <sean.hefty@intel.com>
Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
parent 5bc2b7b3
Loading
Loading
Loading
Loading
+10 −27
Original line number Diff line number Diff line
@@ -3586,33 +3586,16 @@ static int cma_get_id_stats(struct sk_buff *skb, struct netlink_callback *cb)
			id_stats->bound_dev_if =
				id->route.addr.dev_addr.bound_dev_if;

			if (cma_family(id_priv) == AF_INET) {
			if (ibnl_put_attr(skb, nlh,
						  sizeof(struct sockaddr_in),
					  rdma_addr_size(cma_src_addr(id_priv)),
					  cma_src_addr(id_priv),
						  RDMA_NL_RDMA_CM_ATTR_SRC_ADDR)) {
					  RDMA_NL_RDMA_CM_ATTR_SRC_ADDR))
				goto out;
				}
			if (ibnl_put_attr(skb, nlh,
						  sizeof(struct sockaddr_in),
					  rdma_addr_size(cma_src_addr(id_priv)),
					  cma_dst_addr(id_priv),
						  RDMA_NL_RDMA_CM_ATTR_DST_ADDR)) {
					goto out;
				}
			} else if (cma_family(id_priv) == AF_INET6) {
				if (ibnl_put_attr(skb, nlh,
						  sizeof(struct sockaddr_in6),
						  cma_src_addr(id_priv),
						  RDMA_NL_RDMA_CM_ATTR_SRC_ADDR)) {
					  RDMA_NL_RDMA_CM_ATTR_DST_ADDR))
				goto out;
				}
				if (ibnl_put_attr(skb, nlh,
						  sizeof(struct sockaddr_in6),
						  cma_dst_addr(id_priv),
						  RDMA_NL_RDMA_CM_ATTR_DST_ADDR)) {
					goto out;
				}
			}

			id_stats->pid		= id_priv->owner;
			id_stats->port_space	= id->ps;