IB/mlx4: Use IBoE (RoCE) IP based GIDs in the port GID table
authorMoni Shoua <monis@mellanox.com>
Thu, 12 Dec 2013 16:03:13 +0000 (18:03 +0200)
committerRoland Dreier <roland@purestorage.com>
Sat, 18 Jan 2014 22:12:52 +0000 (14:12 -0800)
commitd487ee77740ccf79d7dc1935d4daa77887283028
tree375490229b2140526ac3c8793e9433591e19bd79
parent7b85627b9f02f9b0fb2ef5f021807f4251135857
IB/mlx4: Use IBoE (RoCE) IP based GIDs in the port GID table

Currently, the mlx4 driver set IBoE (RoCE) gids to encode related
Ethernet netdevice interface MAC address and possibly VLAN id.

Change this scheme such that gids encode interface IP addresses (both
IP4 and IPv6).

This requires learning the IP addresses which are of use by a
netdevice associated with the HCA port, formatting them to gids and
adding them to the port gid table.  Furthermore, events of add and
delete address are caught to maintain the gid table accordingly.

Associated IP addresses may belong to a master of an Ethernet
netdevice on top of that port so this should be considered when
building and maintaining the gid table.

Signed-off-by: Moni Shoua <monis@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/hw/mlx4/main.c
drivers/infiniband/hw/mlx4/mlx4_ib.h