• Parav Pandit's avatar
    RDMA/cma: Consider scope_id while binding to ipv6 ll address · 5d7ed2f2
    Parav Pandit authored
    When two netdev have same link local addresses (such as vlan and non
    vlan), two rdma cm listen id should be able to bind to following different
    addresses.
    
    listener-1: addr=lla, scope_id=A, port=X
    listener-2: addr=lla, scope_id=B, port=X
    
    However while comparing the addresses only addr and port are considered,
    due to which 2nd listener fails to listen.
    
    In below example of two listeners, 2nd listener is failing with address in
    use error.
    
    $ rping -sv -a fe80::268a:7ff:feb3:d113%ens2f1 -p 4545&
    
    $ rping -sv -a fe80::268a:7ff:feb3:d113%ens2f1.200 -p 4545
    rdma_bind_addr: Address already in use
    
    To overcome this, consider the scope_ids as well which forms the accurate
    IPv6 link local address.
    Signed-off-by: default avatarParav Pandit <parav@mellanox.com>
    Reviewed-by: default avatarDaniel Jurgens <danielj@mellanox.com>
    Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
    Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
    5d7ed2f2
cma.c 123 KB