• Jason Gunthorpe's avatar
    RDMA/device: Add ib_device_get_by_netdev() · 324e227e
    Jason Gunthorpe authored
    Several drivers need to find the ib_device from a given netdev. rxe needs
    this at speed in an unsleepable context, so choose to implement the
    translation using a RCU safe hash table.
    
    The hash table can have a many to one mapping. This is intended to support
    some future case where multiple IB drivers (ie iWarp and RoCE) connect to
    the same netdevs. driver_ids will need to be different to support this.
    
    In the process this makes the struct ib_device and ib_port_data RCU safe
    by deferring their kfrees.
    Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
    324e227e
device.c 46.4 KB