|
@@ -1616,6 +1616,8 @@ static struct nes_cm_node *make_cm_node(struct nes_cm_core *cm_core,
|
|
&cm_node->loc_addr, cm_node->loc_port,
|
|
&cm_node->loc_addr, cm_node->loc_port,
|
|
&cm_node->rem_addr, cm_node->rem_port);
|
|
&cm_node->rem_addr, cm_node->rem_port);
|
|
cm_node->listener = listener;
|
|
cm_node->listener = listener;
|
|
|
|
+ if (listener)
|
|
|
|
+ cm_node->tos = listener->tos;
|
|
cm_node->netdev = nesvnic->netdev;
|
|
cm_node->netdev = nesvnic->netdev;
|
|
cm_node->cm_id = cm_info->cm_id;
|
|
cm_node->cm_id = cm_info->cm_id;
|
|
memcpy(cm_node->loc_mac, nesvnic->netdev->dev_addr, ETH_ALEN);
|
|
memcpy(cm_node->loc_mac, nesvnic->netdev->dev_addr, ETH_ALEN);
|
|
@@ -2938,6 +2940,9 @@ static int nes_cm_init_tsa_conn(struct nes_qp *nesqp, struct nes_cm_node *cm_nod
|
|
|
|
|
|
nesqp->nesqp_context->misc2 |= cpu_to_le32(64 << NES_QPCONTEXT_MISC2_TTL_SHIFT);
|
|
nesqp->nesqp_context->misc2 |= cpu_to_le32(64 << NES_QPCONTEXT_MISC2_TTL_SHIFT);
|
|
|
|
|
|
|
|
+ nesqp->nesqp_context->misc2 |= cpu_to_le32(
|
|
|
|
+ cm_node->tos << NES_QPCONTEXT_MISC2_TOS_SHIFT);
|
|
|
|
+
|
|
nesqp->nesqp_context->mss |= cpu_to_le32(((u32)cm_node->tcp_cntxt.mss) << 16);
|
|
nesqp->nesqp_context->mss |= cpu_to_le32(((u32)cm_node->tcp_cntxt.mss) << 16);
|
|
|
|
|
|
nesqp->nesqp_context->tcp_state_flow_label |= cpu_to_le32(
|
|
nesqp->nesqp_context->tcp_state_flow_label |= cpu_to_le32(
|
|
@@ -3612,6 +3617,7 @@ int nes_connect(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
|
|
cm_node->ord_size = 1;
|
|
cm_node->ord_size = 1;
|
|
|
|
|
|
cm_node->apbvt_set = apbvt_set;
|
|
cm_node->apbvt_set = apbvt_set;
|
|
|
|
+ cm_node->tos = cm_id->tos;
|
|
nesqp->cm_node = cm_node;
|
|
nesqp->cm_node = cm_node;
|
|
cm_node->nesqp = nesqp;
|
|
cm_node->nesqp = nesqp;
|
|
nes_add_ref(&nesqp->ibqp);
|
|
nes_add_ref(&nesqp->ibqp);
|
|
@@ -3666,6 +3672,7 @@ int nes_create_listen(struct iw_cm_id *cm_id, int backlog)
|
|
}
|
|
}
|
|
|
|
|
|
cm_id->provider_data = cm_node;
|
|
cm_id->provider_data = cm_node;
|
|
|
|
+ cm_node->tos = cm_id->tos;
|
|
|
|
|
|
if (!cm_node->reused_node) {
|
|
if (!cm_node->reused_node) {
|
|
if (nes_create_mapinfo(&cm_info))
|
|
if (nes_create_mapinfo(&cm_info))
|