[openib-general] Questions about SMI

Roland Dreier
Tue Oct 12 10:20:37 PDT 2004


I'm reading over the SMI implementation, and I have a few questions.

First of all, I don't see how LID-routed SMPs or PMA MADs are handled
correctly.  As far as I can tell, what ends up happening for a LR-SMP
or PMA query is:

  smi_recv_handler() gets MAD and just calls
    smi_recv_smp(), which will call
      smi_handle_smp_recv() which just returns 1
    so smi_recv_smp() goes on to call
      smi_check_forward_smp(), which just returns 1
    so smi_recv_smp() calls smi_send_smp()

etc.

Am I wrong or is this completely b0rken?

Also, it seems very confusing that PMA queries end up going through
functions named "smi_recv_handler()" and so on (since they are using
GSI, not SMI).  In the same vein, having port_priv->mad_agent and
port_priv->mad_agent2 is less than enlightening; it would make more
sense to use either more descriptive names or an array of agents.

Finally, what's the plan for handling device-specific things like
Tavor-generated MADs (to recap: when Tavor needs to send a trap to the
SM, the trap shows up as a receive on the local QP0 with source LID 0;
this MAD needs to be forwarded to the SM)?

Thanks,
  Roland



More information about the openib-general mailing list