|
@@ -111,7 +111,9 @@ static struct ib_ah *create_iboe_ah(struct ib_pd *pd, struct ib_ah_attr *ah_attr
|
|
|
!(1 << ah->av.eth.stat_rate & dev->caps.stat_rate_support))
|
|
|
--ah->av.eth.stat_rate;
|
|
|
}
|
|
|
-
|
|
|
+ ah->av.eth.sl_tclass_flowlabel |=
|
|
|
+ cpu_to_be32((ah_attr->grh.traffic_class << 20) |
|
|
|
+ ah_attr->grh.flow_label);
|
|
|
/*
|
|
|
* HW requires multicast LID so we just choose one.
|
|
|
*/
|
|
@@ -119,7 +121,7 @@ static struct ib_ah *create_iboe_ah(struct ib_pd *pd, struct ib_ah_attr *ah_attr
|
|
|
ah->av.ib.dlid = cpu_to_be16(0xc000);
|
|
|
|
|
|
memcpy(ah->av.eth.dgid, ah_attr->grh.dgid.raw, 16);
|
|
|
- ah->av.eth.sl_tclass_flowlabel = cpu_to_be32(ah_attr->sl << 29);
|
|
|
+ ah->av.eth.sl_tclass_flowlabel |= cpu_to_be32(ah_attr->sl << 29);
|
|
|
|
|
|
return &ah->ibah;
|
|
|
}
|