Example #1
0
static
void pscom_openib_init(FILE *peer)
{
	psoib_info_msg_t lmsg, rmsg;
	int rc;
	pscom.env.debug = arg_verbose;
	pscom_env_get_int(&pscom.env.debug, ENV_DEBUG);
	psoib_debug = pscom.env.debug;

	pscom_env_get_str(&psoib_hca, ENV_OPENIB_HCA);
	pscom_env_get_uint(&psoib_port, ENV_OPENIB_PORT);
	pscom_env_get_uint(&psoib_path_mtu, ENV_OPENIB_PATH_MTU);
	pscom_env_get_uint(&psoib_sendq_size, ENV_OPENIB_SENDQ_SIZE);
	pscom_env_get_uint(&psoib_recvq_size, ENV_OPENIB_RECVQ_SIZE);
	pscom_env_get_uint(&psoib_compq_size, ENV_OPENIB_COMPQ_SIZE);
	psoib_pending_tokens = psoib_pending_tokens_suggestion();
	pscom_env_get_uint(&psoib_pending_tokens, ENV_OPENIB_PENDING_TOKENS);

	rc = psoib_init();
	psoib_rc_check("psoib_init()", rc);

	mcon = psoib_con_create();
	assert(mcon);

	rc = psoib_con_init(mcon, NULL, NULL);
	psoib_rc_check("psoib_con_init()", rc);

	psoib_con_get_info_msg(mcon, &lmsg);

	if (is_client) {
		info_write(peer, &lmsg);
		info_read(peer, &rmsg);
	} else {
		info_read(peer, &rmsg);
		info_write(peer, &lmsg);
	}

	rc = psoib_con_connect(mcon, &rmsg);
	psoib_rc_check("psoib_con_connect()", rc);
}
Example #2
0
static
int pscom_openib_con_init(pscom_con_t *con)
{
	return psoib_init();
}