[ofa-general] [RFC] OpenSM vendor layer

Sasha Khapyorsky sashak at voltaire.com
Thu Feb 12 12:00:25 PST 2009


Hi Hal,

On 07:41 Thu 12 Feb     , Hal Rosenstock wrote:
> 
> That's what I originally thought too but I'm not so sure looking at
> the other vendor layers. For example, osm_vendor_al.c (which I think
> is used in Windows currently) has the following code in
> osm_vendor_get_all_port_attr (and other vendor layers except umad are
> similar):
> 
>                         for (port_num = 0; port_num < num_ports; port_num++) {
>                                 p_attr_array[port_count] =
>                                     *__osm_ca_info_get_port_attr_ptr(p_ca_info,
>                                                                      port_num);
>                                 port_count++;
>                         }
> 
> and
> 
> static ib_port_attr_t *__osm_ca_info_get_port_attr_ptr(IN const osm_ca_info_t *
>                                                        const p_ca_info,
>                                                        IN const uint8_t index)
> {
>         return (&p_ca_info->p_attr->p_port_attr[index]);
> }
> 
> so I'm thinking the tables need to be supplied by the underlying
> vendor library (al, umad, ...). Do you concur ?

It is already supplied by libibumad - by umad_get_ca()
(ca.ports[i]->pkeys). I think you just need to copy this to
ib_port_attr_t structure.

Sasha



More information about the general mailing list