[ofw][patch] mcast garbage collector

Fab Tillier ftillier at windows.microsoft.com
Thu Jun 12 10:52:42 PDT 2008


@@ -271,8 +274,14 @@
            sa_mad_data.p_attr = &h_mcast->member_rec;

            ref_al_obj( &h_mcast->obj );
-           status = al_send_sa_req(
-                       &h_mcast->sa_dereg_req, h_mcast->port_guid, 500, 0, &sa_mad_data, 0 );
+          status =
+#if defined( CL_KERNEL )
+                      al_send_sa_req(
+                      &h_mcast->sa_dereg_req, h_mcast->port_guid, g_mc_destr_retr_timeout, g_mc_dest_retr_count, &sa_mad_data, 0 );
+#else
+          al_send_sa_req(
+          &h_mcast->sa_dereg_req, h_mcast->port_guid, 500, 0, &sa_mad_data, 0 );
+#endif

This is separate from this patch, but can someone explain this part to me?  The only way joining multicast groups can work is if it's done in a single location, like the kernel.  Does al_send_sa_req() drop to the kernel and get filtered?

It drops to the kernel alright, but there is no filtering in IBAL.  If multiple clients register for the same multicast group, that group will get destroyed when the first client deregisters.  Makes it very hard to have multiple QPs on the same port in the same multicast group.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20080612/a35fe2ac/attachment.html>


More information about the ofw mailing list