[Openib-windows] GMP handling

Yossi Leybovich sleybo at mellanox.co.il
Tue Jul 25 03:59:46 PDT 2006


Fab
 
al_smi.c assume that PERF class is always routing as local mad, so any
get_resp mad will be rout to the HW and probaly will be dropped.
I create patch that fix the problem but it only address the immediate
problem of PERF class and I think we should review the handling of all
the GMP mads
 
few comments: (some of them cosmetics, but willl help to understand the
routing algorithm)
 
- There is no reference to the ADM and DM classes ( I guess that those
classes always use the DISPATCH route but it will be more clear if we
will write them at the switch)
- function route_recv_gmp should handle all GMP classes as her name
state but actually it handle BM and VENDOR SPECIFIC
- on function route_recv_gmp the code assume that class_port_info should
always route to the HW, but I dont think the SPEC require the HCA to
answer all class port info.
 
 
My suggestion is to have the AL query the low level driver which classes
the HW support and only those classes should be forward down to the HW.
all GMP packets should be pass through route_recv_gmp.
Classes that not supported by HW (like DM ,BM and ADM ) should be rout
as dispatch.
Classes that do supported by HW should be routed according to the method
(get/set to the HW get_resp dispatch.
 
Attached is the patch I add to support PERF class.
We need to address at list the PERF class issue because our IBADM tools
depends on that 
 
10x
Yossi 
 
 
Index: al_smi.c
===================================================================
--- al_smi.c (revision 1541)
+++ al_smi.c (working copy)
@@ -2265,7 +2265,17 @@
    break;
 
   case IB_MCLASS_PERF:
-   route = ROUTE_LOCAL;
+   /* Process the received GMP. */
+   switch( p_mad_element->p_mad_buf->method )
+   {
+   case IB_MAD_METHOD_GET:
+   case IB_MAD_METHOD_SET:
+     route = ROUTE_LOCAL;
+    break;
+   default:
+    route = ROUTE_DISPATCHER;
+    break;
+   }
    break;
 
   case IB_MCLASS_BM:

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20060725/cb90e680/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: perf_counters.patch
Type: application/octet-stream
Size: 530 bytes
Desc: perf_counters.patch
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20060725/cb90e680/attachment.obj>


More information about the ofw mailing list