<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:st1="urn:schemas-microsoft-com:office:smarttags" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="PersonName"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 77.95pt 72.0pt 77.95pt;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Hi Fab,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Please read the answers below<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>-----Original Message-----<br>
From: Fab Tillier [mailto:ftillier@windows.microsoft.com] <br>
Sent: Monday, June 30, 2008 7:48 PM<br>
To: <st1:PersonName w:st="on">Slava Strebkov</st1:PersonName>; ofw@lists.openfabrics.org<br>
Subject: RE: [owf][patch] user multicast offload support</span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Hi Slava,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>>Please review the code that adds support for user mode component<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>>performing multicast offload for applications.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>>The idea is to allow host to issue IGMP messages through IPoIB. No
data<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>>flow on IPoIB since there is no ATTACH in case of using user mcast<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>>offload. This prevents data duplicating on receive path.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>>IB leave will send always if issued from user mode application, and
when<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>>reference count reaches 0 if leave has been requested from IPoIB.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Is there anything in the WinOF SVN that will use this capability?<o:p></o:p></span></font></p>

<p class=MsoPlainText style='text-indent:36.0pt'><b><i><font size=2
face="Courier New"><span style='font-size:10.0pt;font-weight:bold;font-style:
italic'>There is nothing in SVN and probably will not be.<o:p></o:p></span></font></i></b></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Are you going to solve the issue where the first client to leave a MC
group will tell the SA to remove the port from the MC group so that other
clients using the MC group will not get 'disconnected'?  I would think this
would be an important first step.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>      <b><i><span style='font-weight:bold;font-style:italic'>SA will
remove the port from MC group when the last user of this group leaves it. Reference
count is used for that purpose in </span></i></b></span></font><b><i><font
face=Arial><span style='font-family:Arial;font-weight:bold;font-style:italic'>al_igmp_list_remove_record</span></font><o:p></o:p></i></b></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Maybe it's just that I don't understand how the applications work.  Do
they create their own UD QPs, and attach them to the MC group?  Who issues the
MC join/leave to the SA?  Who issues the attach/detach of the user-mode UD QPs
to the HCA, and how?<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'> <b><i><span style='font-weight:bold;font-style:italic'>New LSP for
multicast offloading will create QPs from user mode and issue attach/detach
upon application request (e.g. from SetSockOptions()). Together with IB socket provider,
original (TCP / IPoIB) service provider will be called in order to use IGMP
functionality in windows protocol stack. This is essential for issuing IGMP
messages to Ethernet routers that may be in a data way connected to IB host
through IPR.<o:p></o:p></span></i></b></span></font></p>

<p class=MsoPlainText><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt;color:black'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Once I understand the above better I'll be able to provide meaningful
comments on the patch.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Thanks,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>-Fab<o:p></o:p></span></font></p>

</div>

</body>

</html>