<!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>User Level Events - request for support</TITLE>
</HEAD>
<BODY>
<P ALIGN=LEFT><FONT COLOR="#0000FF" FACE="Palatino Linotype">I would like to propose for gen2 stack to have a user level API supporting</FONT> <FONT COLOR="#0000FF" FACE="Palatino Linotype">registration</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype"> for notifications on</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype"></FONT> <FONT COLOR="#0000FF" FACE="Palatino Linotype">unaffiliated asynchronous events</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype">.</FONT></P>
<P ALIGN=LEFT><FONT COLOR="#0000FF" FACE="Palatino Linotype">As an example</FONT> <FONT COLOR="#0000FF" FACE="Palatino Linotype">i</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype">n case</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype">s</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype"> whe</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype">n</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype"></FONT> <FONT COLOR="#0000FF" FACE="Palatino Linotype">the</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype"> local IB port link goes down</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype"> an SM that runs on top of this</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype"></FONT> <FONT COLOR="#0000FF" FACE="Palatino Linotype">port</FONT> <FONT COLOR="#0000FF" FACE="Palatino Linotype">needs to be notified and start a sweep when the port is back up. Missing such event</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype">,</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype"> in user</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype"></FONT> <FONT COLOR="#0000FF" FACE="Palatino Linotype">land</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype">,</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype"> prevent</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype">s</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype"></FONT> <FONT COLOR="#0000FF" FACE="Palatino Linotype">the SM from knowing about the change. </FONT></P>
<P ALIGN=LEFT><FONT COLOR="#0000FF" FACE="Palatino Linotype">Currently gen1 and gen2 OpenSM is not registered to get these events. The SM will then fail to</FONT> <FONT COLOR="#0000FF" FACE="Palatino Linotype">reconfigure</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype"> the subnet in</FONT> <FONT COLOR="#0000FF" FACE="Palatino Linotype">cases like:</FONT></P>
<P><FONT COLOR="#0000FF" FACE="Palatino Linotype">1. </FONT> <FONT COLOR="#0000FF" FACE="Palatino Linotype">T</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype">he</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype"> SM cable connects to a switch and the user changes the switch port</FONT> <FONT COLOR="#0000FF" FACE="Palatino Linotype">the</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype"> SM is connected to. In this case the SM might be in</FONT> <FONT COLOR="#0000FF" FACE="Palatino Linotype">the</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype"> middle of a sweep and do not even notice (due to</FONT> <FONT COLOR="#0000FF" FACE="Palatino Linotype">the</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype"> short time the change takes) that there was a change.</FONT> <FONT COLOR="#0000FF" FACE="Palatino Linotype">Traps</FONT> <FONT COLOR="#0000FF" FACE="Palatino Linotype">coming</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype"> from the switch are forwarded to the old port the SM was connected to and are dropped (as the port is down). As</FONT> <FONT COLOR="#0000FF" FACE="Palatino Linotype">Open</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype">SM does not know there was any change in the subnet topology, it will not</FONT> <FONT COLOR="#0000FF" FACE="Palatino Linotype">perform a heavy sweep. </FONT></P>
<P><FONT COLOR="#0000FF" FACE="Palatino Linotype">2. </FONT> <FONT COLOR="#0000FF" FACE="Palatino Linotype">The switch connected to the SM is rebooted. If the reboot happens so fast that it falls between two light sweeps, OpenSM will not be able to know the switch was reset (as all SMPs are DR).</FONT> </P>
<P ALIGN=LEFT><FONT COLOR="#0000FF" FACE="Palatino Linotype">Although one can write special case code to ha</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype">nd</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype">le these</FONT> <FONT COLOR="#0000FF" FACE="Palatino Linotype">cases, due to</FONT> <FONT COLOR="#0000FF" FACE="Palatino Linotype">the</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype"> asynchronous nature of thing</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype">s</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype"> there are many races that can not be resolved without a simple</FONT> <FONT COLOR="#0000FF" FACE="Palatino Linotype">"</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype">port up/down</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype">"</FONT><FONT COLOR="#0000FF" FACE="Palatino Linotype"> event that the SM should register to.</FONT></P>
<P ALIGN=LEFT><FONT COLOR="#0000FF" FACE="Palatino Linotype">Hope this provides enough reason behind my request for a user-level event notification mechanism.</FONT></P>
<P ALIGN=LEFT><FONT COLOR="#0000FF" FACE="Palatino Linotype">Eitan</FONT> </P>
<P ALIGN=LEFT><A NAME="_MailAutoSig"></A></P>
<P ALIGN=LEFT></P>
</BODY>
</HTML>