<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2654.45">
<TITLE>RE: User Level Events - request for support</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2>To isolate the implementation of OpenSM from the specific access layer implementation the thread etc would be in the vendor layer. The code in OpenSM core will use a simpler API: provide a callback and context.</FONT></P>

<P><FONT SIZE=2>Eitan Zahavi</FONT>
<BR><FONT SIZE=2>Design Technology Director</FONT>
<BR><FONT SIZE=2>Mellanox Technologies LTD</FONT>
<BR><FONT SIZE=2>Tel:+972-4-9097208</FONT>
<BR><FONT SIZE=2>Fax:+972-4-9593245</FONT>
<BR><FONT SIZE=2>P.O. Box 586 Yokneam 20692 ISRAEL</FONT>
</P>
<BR>

<P><FONT SIZE=2>> -----Original Message-----</FONT>
<BR><FONT SIZE=2>> From: Michael S. Tsirkin [<A HREF="mailto:mst@mellanox.co.il">mailto:mst@mellanox.co.il</A>]</FONT>
<BR><FONT SIZE=2>> Sent: Wednesday, May 18, 2005 1:39 AM</FONT>
<BR><FONT SIZE=2>> To: Eitan Zahavi</FONT>
<BR><FONT SIZE=2>> Cc: 'Hal Rosenstock'; Liran Sorani; Yael Kalka; openib-general@openib.org</FONT>
<BR><FONT SIZE=2>> Subject: Re: User Level Events - request for support</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> Quoting r. Eitan Zahavi <eitan@mellanox.co.il>:</FONT>
<BR><FONT SIZE=2>> > Subject: RE: User Level Events - request for support</FONT>
<BR><FONT SIZE=2>> ></FONT>
<BR><FONT SIZE=2>> > > Hal Wrote:</FONT>
<BR><FONT SIZE=2>> > > The OpenSM vendor layer should be enhanced with an additional API for a</FONT>
<BR><FONT SIZE=2>> > > local port state changed event (and take a flag for port down and port</FONT>
<BR><FONT SIZE=2>> > > up).</FONT>
<BR><FONT SIZE=2>> > ></FONT>
<BR><FONT SIZE=2>> > > OpenSM could then take this event and handle it generically. This could</FONT>
<BR><FONT SIZE=2>> > > be implemented for gen2 (OpenIB) and gen1 if the events can be generated</FONT>
<BR><FONT SIZE=2>> > > from VAPI or whatever.</FONT>
<BR><FONT SIZE=2>> > ></FONT>
<BR><FONT SIZE=2>> ></FONT>
<BR><FONT SIZE=2>> > Yes. I agree. We should have osm_vendor_api.h define some callback registration</FONT>
<BR><FONT SIZE=2>> > function for the local port up/down event. I will implement the OpenSM code for</FONT>
<BR><FONT SIZE=2>> > firing a sweep one the port is up.</FONT>
<BR><FONT SIZE=2>> ></FONT>
<BR><FONT SIZE=2>> > EZ</FONT>
<BR><FONT SIZE=2>> ></FONT>
<BR><FONT SIZE=2>> > Eitan Zahavi</FONT>
<BR><FONT SIZE=2>> > Design Technology Director</FONT>
<BR><FONT SIZE=2>> > Mellanox Technologies LTD</FONT>
<BR><FONT SIZE=2>> > Tel:+972-4-9097208</FONT>
<BR><FONT SIZE=2>> > Fax:+972-4-9593245</FONT>
<BR><FONT SIZE=2>> > P.O. Box 586 Yokneam 20692 ISRAEL</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> IMHO a function that blocks till there's an event would be a saner API</FONT>
<BR><FONT SIZE=2>> since it matches what kernel can provide.</FONT>
<BR><FONT SIZE=2>> opensm can always create a thread if it wants to get a callback</FONT>
<BR><FONT SIZE=2>> asynchronously.</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> --</FONT>
<BR><FONT SIZE=2>> MST - Michael S. Tsirkin</FONT>
</P>

</BODY>
</HTML>