IB/mlx4: Make sure GID index 0 is always occupied
authorMoni Shoua <monis@mellanox.co.il>
Wed, 5 Feb 2014 13:12:58 +0000 (15:12 +0200)
committerRoland Dreier <roland@purestorage.com>
Thu, 13 Feb 2014 22:31:08 +0000 (14:31 -0800)
commitacc4fccf4eff5b29e545995b75de77e60ea44aae
tree283b2120f5b192f4d59eab283ff83b0b73ed67bb
parent4196670be786d529ab7f6c18f5077141ce1b787e
IB/mlx4: Make sure GID index 0 is always occupied

Make sure that for Ethernet ports, the port GID table index 0 is always
occupied with a default GID of the relevant IPv6 link-local adderss.

This provides better user experience for legacy applications that don't use
the RDMA CM and were working on index 0 prior to the IP addressing change.

Also, as GIDs are generated from IP addresses of the network devices that
are associated with the port, it's basically possible that the GID table
will be empty if no IP address was assigned.  This doesn't comply with the
IB spec section 4.1.1 "GID usage and properties".

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