]> git.openfabrics.org - ~shefty/ibacm.git/commitdiff
ibacm: Join only the base multicast group if using SA path resolution
authorSean Hefty <sean.hefty@intel.com>
Fri, 1 Apr 2011 22:58:19 +0000 (15:58 -0700)
committerSean Hefty <sean.hefty@intel.com>
Sat, 2 Apr 2011 00:52:17 +0000 (17:52 -0700)
If the ACM service is configured to use the SA to resolve path
record data, then only join the base multicast group.  We only
need to join other groups if we're creating path records based
on multicast data, using the acm route protocol.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
src/acm.c

index 3df996bb095cb55ee516c3598c0c03598ce31aa5..fe42498586167a2a3d7ab9ca5bb1f0fcca22ce13 100644 (file)
--- a/src/acm.c
+++ b/src/acm.c
@@ -1556,7 +1556,8 @@ static void acm_port_join(struct acm_port *port)
                if ((ep->state = ep->mc_dest[0].state) != ACM_READY)
                        continue;
 
-               if (port->rate != min_rate || port->mtu != min_mtu)
+               if ((route_prot == ACM_ROUTE_PROT_ACM) &&
+                   (port->rate != min_rate || port->mtu != min_mtu))
                        acm_join_group(ep, &port_gid, 0, 0, 0, port->rate, port->mtu);
        }
        acm_log(1, "joins for device %s port %d complete\n", dev->verbs->device->name,