]> git.baikalelectronics.ru Git - kernel.git/commit
IB/mlx4: Fix corruption of RoCEv2 IPv4 GIDs
authorJack Morgenstein <jackm@dev.mellanox.co.il>
Mon, 5 Mar 2018 18:09:45 +0000 (20:09 +0200)
committerJason Gunthorpe <jgg@mellanox.com>
Wed, 7 Mar 2018 03:08:38 +0000 (20:08 -0700)
commitab17306295bbce13bb0e02176344e16b2173a515
treee22ea2e5472f97b0fa9a38afb5495844ab73fb3a
parent6dd27fc23fc1f4734c2358c9b46de895aea36ce7
IB/mlx4: Fix corruption of RoCEv2 IPv4 GIDs

When using IPv4 addresses in RoCEv2, the GID format for the mapped
IPv4 address should be: ::ffff:<4-byte IPv4 address>.

In the cited commit, IPv4 mapped IPV6 addresses had the 3 upper dwords
zeroed out by memset, which resulted in deleting the ffff field.

However, since procedure ipv6_addr_v4mapped() already verifies that the
gid has format ::ffff:<ipv4 address>, no change is needed for the gid,
and the memset can simply be removed.

Fixes: 6da80ea3678c ("IB/mlx4: Add support for setting RoCEv2 gids in hardware")
Reviewed-by: Moni Shoua <monis@mellanox.com>
Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/mlx4/main.c