• Leon Romanovsky's avatar
    RDMA/netlink: Add netlink device definitions to UAPI · 1a6e7c31
    Leon Romanovsky authored
    Introduce new defines to rdma_netlink.h, so the RDMA configuration tool
    will be able to communicate with RDMA subsystem by using the shared defines.
    
    The addition of new client (NLDEV) revealed the fact that we exposed by
    mistake the RDMA_NL_I40IW define which is not backed by any RDMA netlink
    by now and it won't be exposed in the future too. So this patch reuses
    the value and deletes the old defines.
    
    The NLDEV operates with objects. The struct ib_device has two straightforward
    objects: device itself and ports of that device.
    
    This brings us to propose the following commands to work on those objects:
     * RDMA_NLDEV_CMD_{GET,SET,NEW,DEL} - works on ib_device itself
     * RDMA_NLDEV_CMD_PORT_{GET,SET,NEW,DEL} - works on ports of specific ib_device
    
    Those commands receive/return the device index (RDMA_NLDEV_ATTR_DEV_INDEX)
    and port index (RDMA_NLDEV_ATTR_PORT_INDEX). For device object accesses,
    the RDMA_NLDEV_ATTR_PORT_INDEX will return the maximum number of ports
    for specific ib_device and for port access the actual port index.
    
    The port index starts from 1 to follow RDMA/core internal semantics and
    the sysfs exposed knobs.
    Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
    Reviewed-by: default avatarSteve Wise <swise@opengridcomputing.com>
    1a6e7c31
netlink.c 7.48 KB