On 2/13/2013 6:21 PM, Ira Weiny wrote:
> On Wed, 13 Feb 2013 18:16:18 -0500
> Hal Rosenstock <[email protected]> wrote:
> 
>> On 2/13/2013 5:21 PM, Ira Weiny wrote:
>>> Due to the fact there is no corresponding patch to the diags I assume this 
>>> is something you want to support other uses of libibmad?
>>
>> It's in out of tree apps.
>>
>>> As this changes the API could you update libibmad.ver as well.
>>
>> I thought that this is done once right before the new release is cut.
>> Otherwise, there is the possibility of too many version updates.
> 
> I would rather do it on the first change then all builds with this lib are 
> versioned correctly.  Also, if you do it just before release you have to 
> review all the patches to see if/how they affect the api.

I'll do this if that's what you want but:

http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html

states:

Here are a set of rules to help you update your library version
information:

Update the version information only immediately before a public release
of your software. More frequent updates are unnecessary, and only
guarantee that the current interface number gets larger faster.

-- Hal

> Ira
> 
>>
>> -- Hal
>>
>>> Ira
>>>
>>> On Thu, 31 Jan 2013 01:43:42 -0500
>>> Hal Rosenstock <[email protected]> wrote:
>>>
>>>> Add ib_node_query_via routine similar to ib_path_query_via
>>>>
>>>> Signed-off-by: Hal Rosenstock <[email protected]>
>>>> ---
>>>> diff --git a/include/infiniband/mad.h b/include/infiniband/mad.h
>>>> index 0694dc4..02b2353 100644
>>>> --- a/include/infiniband/mad.h
>>>> +++ b/include/infiniband/mad.h
>>>> @@ -65,6 +65,7 @@ BEGIN_C_DECLS
>>>>  #define IB_PC_DATA_SZ             (IB_MAD_SIZE - IB_PC_DATA_OFFS)
>>>>  #define IB_SA_MCM_RECSZ           53
>>>>  #define IB_SA_PR_RECSZ            64
>>>> +#define IB_SA_NR_RECSZ            108
>>>>  #define IB_SA_GIR_RECSZ           72
>>>>  #define IB_BM_DATA_OFFS           64
>>>>  #define IB_BM_DATA_SZ             (IB_MAD_SIZE - IB_BM_DATA_OFFS)
>>>> @@ -1519,6 +1542,9 @@ MAD_EXPORT int ib_path_query_via(const struct 
>>>> ibmad_port *srcport,
>>>>                             ibmad_gid_t srcgid, ibmad_gid_t destgid,
>>>>                             ib_portid_t * sm_id, void *buf);
>>>>    /* returns lid */
>>>> +MAD_EXPORT int ib_node_query_via(const struct ibmad_port *srcport,
>>>> +                           uint64_t guid, ib_portid_t * sm_id,
>>>> +                           void *buf);
>>>>  
>>>>  /* resolve.c */
>>>>  MAD_EXPORT int ib_resolve_smlid(ib_portid_t * sm_id, int timeout) 
>>>> DEPRECATED;
>>>> diff --git a/src/libibmad.map b/src/libibmad.map
>>>> index a4d4418..3f92885 100644
>>>> --- a/src/libibmad.map
>>>> +++ b/src/libibmad.map
>>>> @@ -148,5 +148,6 @@ IBMAD_1.3 {
>>>>            cc_config_status_via;
>>>>            smp_mkey_get;
>>>>            smp_mkey_set;
>>>> +          ib_node_query_via;
>>>>    local: *;
>>>>  };
>>>> diff --git a/src/sa.c b/src/sa.c
>>>> index a9a93cc..352ed9f 100644
>>>> --- a/src/sa.c
>>>> +++ b/src/sa.c
>>>> @@ -145,3 +145,47 @@ int ib_path_query(ibmad_gid_t srcgid, ibmad_gid_t 
>>>> destgid, ib_portid_t * sm_id,
>>>>  {
>>>>    return ib_path_query_via(ibmp, srcgid, destgid, sm_id, buf);
>>>>  }
>>>> +
>>>> +/* NodeRecord */
>>>> +#define IB_NR_COMPMASK_LID                                (1ull<<0)
>>>> +#define IB_NR_COMPMASK_RESERVED1                  (1ull<<1)
>>>> +#define IB_NR_COMPMASK_BASEVERSION                        (1ull<<2)
>>>> +#define IB_NR_COMPMASK_CLASSVERSION                       (1ull<<3)
>>>> +#define IB_NR_COMPMASK_NODETYPE                           (1ull<<4)
>>>> +#define IB_NR_COMPMASK_NUMPORTS                           (1ull<<5)
>>>> +#define IB_NR_COMPMASK_SYSIMAGEGUID                       (1ull<<6)
>>>> +#define IB_NR_COMPMASK_NODEGUID                           (1ull<<7)
>>>> +#define IB_NR_COMPMASK_PORTGUID                           (1ull<<8)
>>>> +#define IB_NR_COMPMASK_PARTCAP                            (1ull<<9)
>>>> +#define IB_NR_COMPMASK_DEVID                              (1ull<<10)
>>>> +#define IB_NR_COMPMASK_REV                                (1ull<<11)
>>>> +#define IB_NR_COMPMASK_PORTNUM                            (1ull<<12)
>>>> +#define IB_NR_COMPMASK_VENDID                             (1ull<<13)
>>>> +#define IB_NR_COMPMASK_NODEDESC                           (1ull<<14)
>>>> +
>>>> +#define IB_NR_DEF_MASK IB_NR_COMPMASK_PORTGUID
>>>> +
>>>> +int ib_node_query_via(const struct ibmad_port *srcport, uint64_t guid,
>>>> +                ib_portid_t * sm_id, void *buf)
>>>> +{
>>>> +  ib_sa_call_t sa = { 0 };
>>>> +  uint8_t *p;
>>>> +
>>>> +  memset(&sa, 0, sizeof sa);
>>>> +  sa.method = IB_MAD_METHOD_GET;
>>>> +  sa.attrid = IB_SA_ATTR_NODERECORD;
>>>> +  sa.mask = IB_NR_DEF_MASK;
>>>> +  sa.trid = mad_trid();
>>>> +
>>>> +  memset(buf, 0, IB_SA_NR_RECSZ);
>>>> +
>>>> +  mad_encode_field(buf, IB_SA_NR_PORT_GUID_F, &guid);
>>>> +
>>>> +  p = sa_rpc_call(srcport, buf, sm_id, &sa, 0);
>>>> +  if (!p) {
>>>> +          IBWARN("sa call node_query failed");
>>>> +          return -1;
>>>> +  }
>>>> +
>>>> +  return 0;
>>>> +}
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
>>>> the body of a message to [email protected]
>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>
>>>
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
>> the body of a message to [email protected]
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to