* [PATCH opensm] osm_sa_path_record.c: path_sl may return SL different from requested SL
@ 2013-12-11 18:36 Hal Rosenstock
[not found] ` <52A8B0A4.9040402-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
0 siblings, 1 reply; 2+ messages in thread
From: Hal Rosenstock @ 2013-12-11 18:36 UTC (permalink / raw)
To: linux-rdma (linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org)
Cc: Vladimir Koushnir
From: Vladimir Koushnir <vladimirk-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Signed-off-by: Vladimir Koushnir <vladimirk-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Signed-off-by: Hal Rosenstock <hal-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
---
opensm/osm_sa_path_record.c | 20 +++++++++++++++++++-
1 files changed, 19 insertions(+), 1 deletions(-)
diff --git a/opensm/osm_sa_path_record.c b/opensm/osm_sa_path_record.c
index d2ff93b..8384ece 100644
--- a/opensm/osm_sa_path_record.c
+++ b/opensm/osm_sa_path_record.c
@@ -839,10 +839,28 @@ static ib_api_status_t pr_rcv_get_path_parms(IN osm_sa_t * sa,
* send the currently computed SL value as a hint and let the routing
* engine override it.
*/
- if (p_re && p_re->path_sl)
+ if (p_re && p_re->path_sl) {
+ uint8_t pr_sl;
+ pr_sl = sl;
+
sl = p_re->path_sl(p_re->context, sl,
cl_hton16(src_lid_ho), cl_hton16(dest_lid_ho));
+ if ((comp_mask & IB_PR_COMPMASK_SL) && (sl != pr_sl)) {
+ OSM_LOG(sa->p_log, OSM_LOG_ERROR, "ERR 1F2A: "
+ "Requested SL (%u) doesn't match SL calculated"
+ "by routing engine (%u) "
+ "[%s port %d <-> %s port %d]\n",
+ pr_sl,
+ sl,
+ p_src_alias_guid->p_base_port->p_node->print_desc,
+ p_src_alias_guid->p_base_port->p_physp->port_num,
+ p_dest_alias_guid->p_base_port->p_node->print_desc,
+ p_dest_alias_guid->p_base_port->p_physp->port_num);
+ status = IB_NOT_FOUND;
+ goto Exit;
+ }
+ }
/* reset pkey when raw traffic */
if (comp_mask & IB_PR_COMPMASK_RAWTRAFFIC &&
cl_ntoh32(p_pr->hop_flow_raw) & (1 << 31))
--
1.7.8.2
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [EXTERNAL] [PATCH opensm] osm_sa_path_record.c: path_sl may return SL different from requested SL
[not found] ` <52A8B0A4.9040402-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
@ 2013-12-11 19:29 ` Jim Schutt
0 siblings, 0 replies; 2+ messages in thread
From: Jim Schutt @ 2013-12-11 19:29 UTC (permalink / raw)
To: Hal Rosenstock
Cc: linux-rdma (linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org),
Vladimir Koushnir
On 12/11/2013 11:36 AM, Hal Rosenstock wrote:
> From: Vladimir Koushnir <vladimirk-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Nice catch!
Acked-by: Jim Schutt <jaschut-4OHPYypu0djtX7QSmKvirg@public.gmane.org>
>
> Signed-off-by: Vladimir Koushnir <vladimirk-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
> Signed-off-by: Hal Rosenstock <hal-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
> ---
> opensm/osm_sa_path_record.c | 20 +++++++++++++++++++-
> 1 files changed, 19 insertions(+), 1 deletions(-)
>
> diff --git a/opensm/osm_sa_path_record.c b/opensm/osm_sa_path_record.c
> index d2ff93b..8384ece 100644
> --- a/opensm/osm_sa_path_record.c
> +++ b/opensm/osm_sa_path_record.c
> @@ -839,10 +839,28 @@ static ib_api_status_t pr_rcv_get_path_parms(IN osm_sa_t * sa,
> * send the currently computed SL value as a hint and let the routing
> * engine override it.
> */
> - if (p_re && p_re->path_sl)
> + if (p_re && p_re->path_sl) {
> + uint8_t pr_sl;
> + pr_sl = sl;
> +
> sl = p_re->path_sl(p_re->context, sl,
> cl_hton16(src_lid_ho), cl_hton16(dest_lid_ho));
>
> + if ((comp_mask & IB_PR_COMPMASK_SL) && (sl != pr_sl)) {
> + OSM_LOG(sa->p_log, OSM_LOG_ERROR, "ERR 1F2A: "
> + "Requested SL (%u) doesn't match SL calculated"
> + "by routing engine (%u) "
> + "[%s port %d <-> %s port %d]\n",
> + pr_sl,
> + sl,
> + p_src_alias_guid->p_base_port->p_node->print_desc,
> + p_src_alias_guid->p_base_port->p_physp->port_num,
> + p_dest_alias_guid->p_base_port->p_node->print_desc,
> + p_dest_alias_guid->p_base_port->p_physp->port_num);
> + status = IB_NOT_FOUND;
> + goto Exit;
> + }
> + }
> /* reset pkey when raw traffic */
> if (comp_mask & IB_PR_COMPMASK_RAWTRAFFIC &&
> cl_ntoh32(p_pr->hop_flow_raw) & (1 << 31))
>
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-12-11 19:29 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-11 18:36 [PATCH opensm] osm_sa_path_record.c: path_sl may return SL different from requested SL Hal Rosenstock
[not found] ` <52A8B0A4.9040402-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2013-12-11 19:29 ` [EXTERNAL] " Jim Schutt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox