IB/mlx4: Handle well-known-gid in mad_demux processing
authorJack Morgenstein <jackm@dev.mellanox.co.il>
Thu, 10 Nov 2016 09:30:57 +0000 (11:30 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 26 Jan 2017 07:24:35 +0000 (08:24 +0100)
commit1039b7f5c7ef027279a2f554e31bcb529163d335
tree71cd499d8b4e0a2168d7e8b8caea90c0d94aa3e7
parent618d14b01a45cb0fbfe5ad1177699e4a49dec237
IB/mlx4: Handle well-known-gid in mad_demux processing

commit befcabcd530e4ffb6f016638f693b7d94986d2ba upstream.

If OpenSM runs over a ConnectX-3, and there are ConnectX-4 or Connect-IB
VFs active on the network, the OpenSM will receive QP1 packets containing
a GRH where the destination GID is the "Well-Known GID" -- which is not a
GID in the HCA Port's GID Table.

This GID must be tested-for separately -- and packets which contain
this destination GID should be routed to slave 0 (the PF).

Fixes: 37bfc7c1e83f ('IB/mlx4: SR-IOV multiplex and demultiplex MADs')
Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Daniel Jurgens <danielj@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/infiniband/hw/mlx4/mad.c