]> git.karo-electronics.de Git - karo-tx-linux.git/commit
IB/mlx4: Add multicast group (MCG) paravirtualization for SR-IOV
authorOren Duer <oren@mellanox.co.il>
Fri, 3 Aug 2012 08:40:46 +0000 (08:40 +0000)
committerRoland Dreier <roland@purestorage.com>
Sun, 23 Sep 2012 16:26:53 +0000 (09:26 -0700)
commit9eb8f72b0ba627cac707c109f97254c92184eaf7
tree153ab244e3c48c271b4011d9512c5fc28324db57
parent0cafd52f72d9c80d5d85dce144346384fee11568
IB/mlx4: Add multicast group (MCG) paravirtualization for SR-IOV

MCG paravirtualization support includes:
- Creating multicast groups by VFs, and keeping accounting of them
- Leaving multicast groups by VFs
- Updating SM only with real changes in the overall picture of MCGs status
- Creation of MGID=0 groups (let SM choose MGID)

Note that the MCG module maintains its own internal MCG object
reference counts.  The reason for this is that the IB core is used to
track only the multicast groups joins generated by the PF it runs
over.  The PF IB core layer is unaware of slaves, so it cannot be used
to keep track of MCG joins they generate.

Signed-off-by: Oren Duer <oren@mellanox.co.il>
Signed-off-by: Eli Cohen <eli@mellanox.com>
Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/hw/mlx4/Makefile
drivers/infiniband/hw/mlx4/mad.c
drivers/infiniband/hw/mlx4/main.c
drivers/infiniband/hw/mlx4/mcg.c [new file with mode: 0644]
drivers/infiniband/hw/mlx4/mlx4_ib.h