Skip to content
  • Nir Muchtar's avatar
    RDMA/cma: Add support for netlink statistics export · 753f618a
    Nir Muchtar authored
    
    
    Add callbacks and data types for statistics export of all current
    devices/ids.  The schema for RDMA CM is a series of netlink messages.
    Each one contains an rdma_cm_stat struct.  Additionally, two netlink
    attributes are created for the addresses for each message (if
    applicable).
    
    Their types used are:
    RDMA_NL_RDMA_CM_ATTR_SRC_ADDR (The source address for this ID)
    RDMA_NL_RDMA_CM_ATTR_DST_ADDR (The destination address for this ID)
    sockaddr_* structs are encapsulated within these attributes.
    
    In other words, every transaction contains a series of messages like:
    
    -------message 1-------
    struct rdma_cm_id_stats {
           __u32 qp_num;
           __u32 bound_dev_if;
           __u32 port_space;
           __s32 pid;
           __u8 cm_state;
           __u8 node_type;
           __u8 port_num;
           __u8 reserved;
    }
    RDMA_NL_RDMA_CM_ATTR_SRC_ADDR attribute - contains the source address
    RDMA_NL_RDMA_CM_ATTR_DST_ADDR attribute - contains the destination address
    -------end 1-------
    -------message 2-------
    struct rdma_cm_id_stats
    RDMA_NL_RDMA_CM_ATTR_SRC_ADDR attribute
    RDMA_NL_RDMA_CM_ATTR_DST_ADDR attribute
    -------end 2-------
    
    Signed-off-by: default avatarNir Muchtar <nirm@voltaire.com>
    Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
    753f618a