IB/mlx4: Use the VF base-port when demuxing mad from wire
authorOr Gerlitz <ogerlitz@mellanox.com>
Sun, 6 Dec 2015 16:07:42 +0000 (18:07 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 7 Dec 2015 03:40:45 +0000 (22:40 -0500)
commitf1b4e12a9ab6cc08b1a047bf021d90c7e07b1517
treea04dcf20ba101fc2326e11a7109e3e1d2c95550a
parent5f61385d2ebc2bd62bc389c7da0d8d2f263be1eb
IB/mlx4: Use the VF base-port when demuxing mad from wire

Under HA mode, it's possible that the VF registered its GID
(and expects to get mads through the PV scheme) on a port which is
different from the one this mad arrived on, due to HA fail over.

Therefore, if the gid is not matched on the port that the packet arrived
on, check for a match on the other port if HA mode is active -- and if a
match is found on the other port, continue processing the mad using that
other port.

Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Reviewed-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/infiniband/hw/mlx4/mad.c