• Ilan Tayari's avatar
    net/mlx5: Add reserved-gids support · 52ec462e
    Ilan Tayari authored
    Reserved GIDs are entries in the GID table in use by the mlx5_core
    and its submodules (e.g. FPGA, SRIOV, E-Swtich, netdev).
    The entries are reserved at the high indexes of the GID table.
    
    A mlx5 submodule may reserve a certain amount of GIDs for its own use
    during the load sequence by calling mlx5_core_reserve_gids, and must
    also take care to un-reserve these GIDs when it closes.
    Reservation is only allowed during the load sequence and before any
    interfaces (e.g. mlx5_ib or mlx5_en) are up.
    
    After reservation, a submodule may call mlx5_core_reserved_gid_alloc/
    free to allocate entries from the reserved GIDs pool.
    
    Reserve a GID table entry for every supported FPGA QP.
    
    A later patch in the patchset will remove them from being reported to
    IB core.
    Another such patch will make use of these for FPGA QPs in Innova NIC.
    
    Added lib/mlx5.h to serve as a library for mlx5 submodlues, and to
    expose only public mlx5 API, more mlx5 library files will be added in
    future submissions.
    Signed-off-by: default avatarIlan Tayari <ilant@mellanox.com>
    Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
    52ec462e
Makefile 716 Bytes