Commit 2e08b587 authored by Sean Hefty's avatar Sean Hefty Committed by Roland Dreier

IB/sa: Export function to pack a path record into wire format

Allow converting from struct ib_sa_path_rec to the IB defined SA path
record wire format.  This will be used to report path data from the
rdma cm into user space.
Signed-off-by: default avatarSean Hefty <sean.hefty@intel.com>
Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
parent ee7aed45
...@@ -652,6 +652,12 @@ void ib_sa_unpack_path(void *attribute, struct ib_sa_path_rec *rec) ...@@ -652,6 +652,12 @@ void ib_sa_unpack_path(void *attribute, struct ib_sa_path_rec *rec)
} }
EXPORT_SYMBOL(ib_sa_unpack_path); EXPORT_SYMBOL(ib_sa_unpack_path);
void ib_sa_pack_path(struct ib_sa_path_rec *rec, void *attribute)
{
ib_pack(path_rec_table, ARRAY_SIZE(path_rec_table), rec, attribute);
}
EXPORT_SYMBOL(ib_sa_pack_path);
static void ib_sa_path_rec_callback(struct ib_sa_query *sa_query, static void ib_sa_path_rec_callback(struct ib_sa_query *sa_query,
int status, int status,
struct ib_sa_mad *mad) struct ib_sa_mad *mad)
......
...@@ -401,6 +401,12 @@ int ib_init_ah_from_path(struct ib_device *device, u8 port_num, ...@@ -401,6 +401,12 @@ int ib_init_ah_from_path(struct ib_device *device, u8 port_num,
struct ib_sa_path_rec *rec, struct ib_sa_path_rec *rec,
struct ib_ah_attr *ah_attr); struct ib_ah_attr *ah_attr);
/**
* ib_sa_pack_path - Conert a path record from struct ib_sa_path_rec
* to IB MAD wire format.
*/
void ib_sa_pack_path(struct ib_sa_path_rec *rec, void *attribute);
/** /**
* ib_sa_unpack_path - Convert a path record from MAD format to struct * ib_sa_unpack_path - Convert a path record from MAD format to struct
* ib_sa_path_rec. * ib_sa_path_rec.
...@@ -418,4 +424,5 @@ int ib_sa_guid_info_rec_query(struct ib_sa_client *client, ...@@ -418,4 +424,5 @@ int ib_sa_guid_info_rec_query(struct ib_sa_client *client,
void *context), void *context),
void *context, void *context,
struct ib_sa_query **sa_query); struct ib_sa_query **sa_query);
#endif /* IB_SA_H */ #endif /* IB_SA_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment