Lines Matching defs:ndlp

54 static uint32_t emlxs_check_dhgp(emlxs_port_t *port, NODELIST *ndlp,
57 emlxs_node_t *ndlp, uint32_t status);
87 static void emlxs_get_random_bytes(NODELIST *ndlp, uint8_t *rdn,
94 emlxs_node_t *ndlp, uint32_t status);
95 static void emlxs_log_auth_event(emlxs_port_t *port, NODELIST *ndlp,
98 emlxs_node_t *ndlp, uint8_t retry);
101 emlxs_port_dhc_t *port_dhc, NODELIST *ndlp, uint32_t tran_id,
108 emlxs_port_dhc_t *port_dhc, NODELIST *ndlp, uint32_t tran_id,
114 NODELIST *ndlp, void *hash_val, uint32_t tran_id,
119 NODELIST *ndlp, uint8_t *dhval, uint32_t *dhvallen,
123 NODELIST *ndlp, uint8_t *dhval, uint32_t *dhval_len,
127 NODELIST *ndlp, uint32_t tran_id, uint8_t *dhval,
132 NODELIST *ndlp, uint32_t tran_id, uint8_t *dhval,
136 NODELIST *ndlp, int retry, uint32_t *arg, uint8_t ReasonCode,
405 emlxs_dhc_state(emlxs_port_t *port, emlxs_node_t *ndlp, uint32_t state,
410 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
415 "Node:0x%x %s --> %s", ndlp->nlp_DID,
428 emlxs_dhc_set_reauth_time(port, ndlp, DISABLE);
433 if (ndlp->nlp_DID == FABRIC_DID) {
442 emlxs_dhc_set_reauth_time(port, ndlp, ENABLE);
451 if (ndlp->nlp_DID == FABRIC_DID) {
493 emlxs_dhc_status(port, ndlp, reason, explaination);
503 emlxs_dhc_status(emlxs_port_t *port, emlxs_node_t *ndlp, uint32_t reason,
511 if (!ndlp || !ndlp->nlp_active || ndlp->node_dhc.state ==
516 node_dhc = &ndlp->node_dhc;
519 if (ndlp->nlp_DID == FABRIC_DID) {
530 ndlp->nlp_DID, emlxs_dhc_nstate_xlate(node_dhc->state), reason,
782 NODELIST *ndlp,
789 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
867 NODELIST *ndlp,
871 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
999 NODELIST *ndlp, int evt)
1002 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
1011 emlxs_dhc_event_xlate(evt), ndlp->nlp_DID);
1019 rc = (func) (port, cp, iocbq, mp, ndlp, evt);
1036 /* NODELIST * ndlp */ void *arg4,
1039 NODELIST *ndlp = (NODELIST *) arg4;
1040 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
1044 ndlp->nlp_DID);
1046 emlxs_dhc_state(port, ndlp, NODE_STATE_UNKNOWN, 0, 0);
1067 NODELIST *ndlp;
1072 ndlp = sbp->node;
1074 if (!ndlp) {
1075 ndlp = emlxs_node_find_did(port, did, 1);
1087 if (ndlp) {
1090 NULL, ndlp, NODE_EVENT_CMPL_AUTH_MSG);
1114 NODELIST *ndlp;
1120 ndlp = sbp->node;
1122 if (!ndlp) {
1123 ndlp = emlxs_node_find_did(port, did, 1);
1135 if (ndlp) {
1138 NULL, ndlp, NODE_EVENT_CMPL_AUTH_MSG);
1157 NODELIST *ndlp,
1161 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
1173 "issue_dhchap_success: did=0x%x", ndlp->nlp_DID);
1175 if (ndlp->nlp_DID == FABRIC_DID) {
1195 if ((pkt = emlxs_prep_els_fc_pkt(port, ndlp->nlp_DID, cmd_size,
1225 ndlp->nlp_DID, node_dhc->nlp_auth_hashid,
1257 ndlp->nlp_DID, node_dhc->nlp_auth_flag,
1296 NODELIST *ndlp;
1301 ndlp = sbp->node;
1303 if (!ndlp) {
1304 ndlp = emlxs_node_find_did(port, did, 1);
1316 if (ndlp) {
1318 emlxs_dhc_state(port, ndlp, NODE_STATE_AUTH_FAILED, 0, 0);
1322 NULL, ndlp, NODE_EVENT_CMPL_AUTH_MSG);
1341 NODELIST *ndlp,
1350 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
1362 if ((pkt = emlxs_prep_els_fc_pkt(port, ndlp->nlp_DID, cmd_size,
1366 ndlp->nlp_DID, ReasonCode, ReasonCodeExplanation);
1384 ndlp->nlp_DID, node_dhc->nlp_auth_flag, ReasonCode,
1399 ndlp->nlp_DID, ReasonCode, ReasonCodeExplanation);
1404 ndlp->nlp_DID, node_dhc->nlp_auth_flag, ReasonCode,
1415 emlxs_log_auth_event(port, ndlp, "issue_auth_reject", info);
1463 * \pre \post \param port \param ndlp \param retry \param flag \return
1470 * entity ndlp. When this Auth_Negotiate command is completed, the iocb_cmpl
1480 emlxs_node_t *ndlp,
1483 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
1499 emlxs_dhc_state(port, ndlp, NODE_STATE_AUTH_NEGOTIATE_ISSUE, 0, 0);
1599 if ((pkt = emlxs_prep_els_fc_pkt(port, ndlp->nlp_DID, cmd_size,
1603 ndlp->nlp_DID, cmd_size);
1655 node_dhc->nlp_auth_flag = 2; /* ndlp is the always the auth */
1843 ndlp->nlp_DID, flag, cmd_size,
1853 ndlp->nlp_DID);
1876 NODELIST *ndlp;
1882 ndlp = sbp->node;
1883 node_dhc = &ndlp->node_dhc;
1885 if (!ndlp) {
1886 ndlp = emlxs_node_find_did(port, did, 1);
1898 if (ndlp) {
1901 NULL, ndlp, NODE_EVENT_CMPL_AUTH_MSG);
1903 emlxs_dhc_set_reauth_time(port, ndlp, DISABLE);
1905 emlxs_dhc_state(port, ndlp, NODE_STATE_AUTH_FAILED,
1910 ndlp->nlp_DID, node_dhc->state);
1912 emlxs_dhc_auth_complete(port, ndlp, 1);
1943 /* NODELIST * ndlp, */ void *arg4,
1946 NODELIST *ndlp = (NODELIST *)arg4;
1947 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
1951 ndlp->nlp_DID);
1962 emlxs_dhc_state(port, ndlp, NODE_STATE_AUTH_NEGOTIATE_CMPL_WAIT4NEXT,
1974 * \pre \post \param phba \param ndlp \param arg \param evt \return
2006 /* NODELIST * ndlp */ void *arg4,
2009 NODELIST *ndlp = (NODELIST *)arg4;
2010 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
2017 ndlp->nlp_DID);
2026 emlxs_dhc_state(port, ndlp, NODE_STATE_AUTH_NEGOTIATE_ISSUE,
2028 (void) emlxs_issue_auth_reject(port, ndlp, 0, 0, ReasonCode,
2049 NODELIST *ndlp;
2054 ndlp = sbp->node;
2056 if (!ndlp) {
2057 ndlp = emlxs_node_find_did(port, did, 1);
2069 if (ndlp) {
2072 NULL, ndlp, NODE_EVENT_CMPL_AUTH_MSG);
2099 NODELIST *ndlp,
2113 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
2128 ndlp->nlp_DID, node_dhc->auth_cfg.hash_priority[0],
2181 if ((pkt = emlxs_prep_els_fc_pkt(port, ndlp->nlp_DID, cmd_size,
2195 ndlp->nlp_DID, node_dhc->nlp_auth_tranid_ini,
2199 /* store the tran_id : ndlp is the initiator */
2231 emlxs_get_random_bytes(ndlp, random_number, 20);
2244 if (ndlp->nlp_DID == FABRIC_DID) {
2248 /* save another copy in partner's ndlp */
2264 if (ndlp->nlp_DID == FABRIC_DID) {
2267 /* save another copy in partner's ndlp */
2281 if (ndlp->nlp_DID == FABRIC_DID) {
2305 emlxs_get_random_bytes(ndlp, random_number, 20);
2311 if (ndlp->nlp_DID == FABRIC_DID) {
2332 if (ndlp->nlp_DID == FABRIC_DID) {
2363 err = emlxs_BIGNUM_get_dhval(port, port_dhc, ndlp, dhval,
2379 if (ndlp->nlp_DID == FABRIC_DID) {
2390 ndlp->nlp_DID, *(uint32_t *)tmp, dhval_len);
2394 if (ndlp->nlp_DID == FABRIC_DID) {
2414 err = emlxs_BIGNUM_get_dhval(port, port_dhc, ndlp, dhval,
2429 if (ndlp->nlp_DID == FABRIC_DID) {
2440 ndlp->nlp_DID, *(uint32_t *)tmp);
2444 if (ndlp->nlp_DID == FABRIC_DID) {
2461 ndlp->nlp_DID, node_dhc->nlp_auth_tranid_ini,
2467 ndlp->nlp_DID, tran_id, node_dhc->nlp_auth_hashid,
2492 NODELIST *ndlp,
2506 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
2512 if (ndlp->nlp_DID == FABRIC_DID) {
2529 if (ndlp->nlp_DID == FABRIC_DID) {
2550 if (ndlp->nlp_DID == FABRIC_DID) {
2563 if ((pkt = emlxs_prep_els_fc_pkt(port, ndlp->nlp_DID, cmd_size,
2567 ndlp->nlp_DID, cmd_size, rsp_size);
2583 if (ndlp->nlp_DID == FABRIC_DID) {
2599 if (ndlp->nlp_DID == FABRIC_DID) {
2642 if (ndlp->nlp_DID == FABRIC_DID) {
2657 if (ndlp->nlp_DID == FABRIC_DID) {
2685 ndlp->nlp_DID, dhval_len, arg2_len, cmdsize,
2706 * \pre \post \param phba \param ndlp \param arg \param evt \return
2731 /* NODELIST * ndlp */ void *arg4,
2738 NODELIST *ndlp = (NODELIST *)arg4;
2739 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
2761 ndlp->nlp_DID);
2763 emlxs_dhc_state(port, ndlp, NODE_STATE_DHCHAP_REPLY_ISSUE, 0, 0);
2779 ndlp->nlp_DID, ncval->msg_hdr.auth_els_code);
2793 ndlp->nlp_DID, ReasonCode, ReasonCodeExplanation);
2814 if (emlxs_dhc_auth_start(port, ndlp, NULL,
2819 ndlp->nlp_DID, node_dhc->state);
2842 ndlp->nlp_DID, ncval->msg_hdr.auth_msg_code);
2853 ndlp->nlp_DID, LE_SWAP32(tran_id),
2879 ndlp->nlp_DID, ncval->cval_len, LE_SWAP32(MD5_LEN));
2896 ndlp->nlp_DID, ncval->cval_len, LE_SWAP32(MD5_LEN));
2912 ndlp->nlp_DID, ncval->hash_id);
2937 * ndlp->nlp_auth_hashid, nlp_auth_dhgpid store the hashid and dhgpid
2938 * when this very ndlp is the auth transaction responder (in other
2939 * words, responder means that this ndlp is send the host the
2940 * challenge. ndlp could be fffffe or another initiator or target
2952 ndlp->nlp_DID, ncval->dhgp_id, LE_SWAP32(dhvallen));
2972 ndlp->nlp_DID, ncval->dhgp_id, dhval);
2984 ndlp->nlp_DID, ncval->dhgp_id);
2998 ndlp, tran_id, un_cval, dhval, LE_SWAP32(dhvallen));
3000 /* Or should check ndlp->auth_cfg..... */
3010 emlxs_get_random_bytes(ndlp, random_number, 20);
3016 if (ndlp->nlp_DID == FABRIC_DID) {
3021 /* save another copy in our partner's ndlp */
3035 ndlp->nlp_DID, node_dhc->nlp_auth_tranid_rsp,
3046 if (emlxs_issue_dhchap_reply(port, ndlp, 0, arg5, dhval,
3051 ndlp->nlp_DID);
3062 emlxs_dhc_state(port, ndlp, NODE_STATE_AUTH_FAILED, ReasonCode,
3064 (void) emlxs_issue_auth_reject(port, ndlp, 0, 0, ReasonCode,
3066 emlxs_dhc_auth_complete(port, ndlp, 1);
3084 /* NODELIST * ndlp */ void *arg4,
3087 NODELIST *ndlp = (NODELIST *)arg4;
3091 ndlp->nlp_DID);
3115 /* NODELIST * ndlp */ void *arg4,
3118 NODELIST *ndlp = (NODELIST *)arg4;
3122 ndlp->nlp_DID);
3146 /* NODELIST * ndlp */ void *arg4,
3149 NODELIST *ndlp = (NODELIST *) arg4;
3150 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
3154 ndlp->nlp_DID);
3165 emlxs_dhc_state(port, ndlp,
3177 * \pre \post \param phba \param ndlp \param arg \param evt \return
3200 /* NODELIST * ndlp */ void *arg4,
3206 NODELIST *ndlp = (NODELIST *)arg4;
3207 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
3234 ndlp->nlp_DID, dh_success->auth_els_code,
3249 ndlp->nlp_DID, ReasonCode, ReasonCodeExplanation);
3270 if (emlxs_dhc_auth_start(port, ndlp,
3275 ndlp->nlp_DID, node_dhc->state);
3290 emlxs_dhc_state(port, ndlp, NODE_STATE_AUTH_FAILED,
3304 ndlp->nlp_DID, LE_SWAP32(tran_id),
3311 ndlp->nlp_DID, LE_SWAP32(tran_id),
3322 emlxs_dhc_state(port, ndlp,
3324 emlxs_log_auth_event(port, ndlp,
3327 emlxs_dhc_auth_complete(port, ndlp, 0);
3348 if (ndlp->nlp_DID == FABRIC_DID)
3361 if (ndlp->nlp_DID == FABRIC_DID)
3381 hash_val = emlxs_hash_vrf(port, port_dhc, ndlp,
3390 ndlp->nlp_DID, *(uint32_t *)hash_val);
3396 emlxs_dhc_state(port, ndlp,
3400 (void) emlxs_issue_dhchap_success(port, ndlp, 0, 0);
3407 emlxs_dhc_state(port, ndlp, NODE_STATE_AUTH_FAILED,
3409 (void) emlxs_issue_auth_reject(port, ndlp, 0, 0, ReasonCode,
3411 emlxs_dhc_auth_complete(port, ndlp, 1);
3419 emlxs_log_auth_event(port, ndlp,
3421 emlxs_dhc_auth_complete(port, ndlp, 1);
3440 /* NODELIST * ndlp */ void *arg4,
3443 NODELIST *ndlp = (NODELIST *)arg4;
3447 ndlp->nlp_DID);
3483 /* NODELIST * ndlp */ void *arg4,
3486 NODELIST *ndlp = (NODELIST *) arg4;
3490 ndlp->nlp_DID);
3515 /* NODELIST * ndlp */ void *arg4,
3518 NODELIST *ndlp = (NODELIST *)arg4;
3519 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
3533 emlxs_dhc_state(port, ndlp, NODE_STATE_AUTH_SUCCESS, 0, 0);
3534 emlxs_log_auth_event(port, ndlp,
3537 emlxs_dhc_auth_complete(port, ndlp, 0);
3561 /* NODELIST * ndlp */ void *arg4,
3564 NODELIST *ndlp = (NODELIST *)arg4;
3568 ndlp->nlp_DID);
3579 * \pre \post \param phba \param ndlp \param arg \param evt \return
3595 /* NODELIST * ndlp */ void *arg4,
3598 NODELIST *ndlp = (NODELIST *)arg4;
3602 ndlp->nlp_DID);
3613 * \pre \post \param phba \param ndlp \param arg \param evt \return
3628 /* NODELIST * ndlp */ void *arg4,
3631 NODELIST *ndlp = (NODELIST *)arg4;
3632 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
3638 emlxs_dhc_state(port, ndlp,
3657 * \pre \post \param phba \param ndlp \param arg \param evt \return
3688 /* NODELIST * ndlp */ void *arg4,
3694 NODELIST *ndlp = (NODELIST *)arg4;
3695 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
3732 ndlp->nlp_DID, tran_id, node_dhc->nlp_auth_tranid_ini);
3741 ndlp->nlp_DID, tran_id, node_dhc->nlp_auth_tranid_ini,
3777 if (emlxs_dhc_auth_start(port, ndlp,
3781 ndlp->nlp_DID, node_dhc->state);
3840 if (ndlp->nlp_DID == FABRIC_DID) {
3851 ndlp->nlp_DID, *(uint32_t *)rsp, rsp_len, dhval_len, cval_len);
3856 * node_dhc->hrsp_xxx or ndlp->nlp_auth_misc.
3868 hash_val = emlxs_hash_verification(port, port_dhc, ndlp,
3897 ndlp, (tran_id), dhval,
3906 emlxs_dhc_state(port, ndlp,
3909 if (emlxs_issue_dhchap_success(port, ndlp, 0,
3920 emlxs_dhc_state(port, ndlp, NODE_STATE_AUTH_FAILED,
3922 (void) emlxs_issue_auth_reject(port, ndlp, 0, 0, ReasonCode,
3924 emlxs_dhc_auth_complete(port, ndlp, 1);
3945 /* NODELIST * ndlp */ void *arg4,
3948 NODELIST *ndlp = (NODELIST *)arg4;
3952 ndlp->nlp_DID);
3962 * \pre \post \param phba \param ndlp \param arg \param evt \return
3978 /* NODELIST * ndlp */ void *arg4,
3981 NODELIST *ndlp = (NODELIST *)arg4;
3985 ndlp->nlp_DID);
4012 /* NODELIST * ndlp */ void *arg4,
4015 NODELIST *ndlp = (NODELIST *)arg4;
4016 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
4020 ndlp->nlp_DID, node_dhc->nlp_auth_bidir);
4029 emlxs_dhc_state(port, ndlp,
4038 emlxs_dhc_state(port, ndlp, NODE_STATE_AUTH_SUCCESS, 0, 0);
4039 emlxs_log_auth_event(port, ndlp,
4042 emlxs_dhc_auth_complete(port, ndlp, 0);
4060 NODELIST *ndlp = (NODELIST *)arg4;
4064 ndlp->nlp_DID);
4082 NODELIST *ndlp = (NODELIST *)arg4;
4086 ndlp->nlp_DID);
4103 NODELIST *ndlp = (NODELIST *)arg4;
4107 ndlp->nlp_DID);
4121 /* NODELIST * ndlp */ void *arg4,
4124 NODELIST *ndlp = (NODELIST *)arg4;
4125 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
4129 ndlp->nlp_DID);
4131 emlxs_dhc_state(port, ndlp, NODE_STATE_UNKNOWN, 0, 0);
4148 /* NODELIST * ndlp */ void *arg4,
4151 NODELIST *ndlp = (NODELIST *)arg4;
4152 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
4156 ndlp->nlp_DID);
4160 emlxs_dhc_state(port, ndlp, NODE_STATE_AUTH_FAILED, 0, 0);
4184 /* NODELIST * ndlp */ void *arg4,
4189 NODELIST *ndlp = (NODELIST *)arg4;
4190 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
4203 ndlp->nlp_DID);
4217 ndlp->nlp_DID, ReasonCode, ReasonCodeExplanation);
4238 if (emlxs_dhc_auth_start(port, ndlp,
4242 ndlp->nlp_DID, node_dhc->state);
4269 ndlp->nlp_DID, dh_success->tran_id, node_dhc->nlp_auth_tranid_ini);
4277 emlxs_dhc_state(port, ndlp, NODE_STATE_AUTH_SUCCESS, 0, 0);
4278 emlxs_log_auth_event(port, ndlp,
4281 emlxs_dhc_auth_complete(port, ndlp, 0);
4292 emlxs_dhc_state(port, ndlp, NODE_STATE_AUTH_FAILED,
4294 (void) emlxs_issue_auth_reject(port, ndlp, 0, 0, ReasonCode,
4296 emlxs_dhc_auth_complete(port, ndlp, 1);
4312 /* NODELIST * ndlp */ void *arg4,
4328 /* NODELIST * ndlp */ void *arg4,
4331 NODELIST *ndlp = (NODELIST *)arg4;
4335 ndlp->nlp_DID);
4349 /* NODELIST * ndlp */ void *arg4,
4354 NODELIST *ndlp = (NODELIST *)arg4;
4355 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
4569 rc = emlxs_check_dhgp(port, ndlp, dh_id, num_dh, &dhgp_id);
4594 node_dhc->nlp_auth_flag = 1; /* ndlp is the initiator */
4597 if (emlxs_issue_dhchap_challenge(port, ndlp, 0, tmp,
4602 emlxs_dhc_state(port, ndlp,
4628 /* NODELIST * ndlp */ void *arg4,
4631 NODELIST *ndlp = (NODELIST *)arg4;
4632 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
4643 ndlp->nlp_DID, node_dhc->state, node_dhc->prev_state);
4653 * \pre \post \param phba \param ndlp \param arg \param evt \return
4690 /* NODELIST * ndlp */ void *arg4,
4695 NODELIST *ndlp = (NODELIST *)arg4;
4696 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
4719 ndlp->nlp_DID);
4913 rc = emlxs_check_dhgp(port, ndlp, dh_id, num_dh, &dhgp_id);
4939 * since ndlp is the initiator, tran_id is store in
4959 * (reauth heart beat) to this ndlp, then Host should remain
4976 if (emlxs_issue_dhchap_challenge(port, ndlp, 0, tmp,
4983 emlxs_dhc_state(port, ndlp,
4997 emlxs_dhc_state(port, ndlp, NODE_STATE_AUTH_FAILED,
4999 (void) emlxs_issue_auth_reject(port, ndlp, 0, 0, ReasonCode,
5001 emlxs_dhc_auth_complete(port, ndlp, 1);
5019 NODELIST *ndlp,
5023 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
5040 if (ndlp->nlp_DID == FABRIC_DID) {
5052 ndlp->nlp_DID, hash_id, dhgp_id, mytran_id);
5135 if (ndlp->nlp_DID == FABRIC_DID) {
5177 if (ndlp->nlp_DID == FABRIC_DID) {
5229 NODELIST *ndlp,
5235 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
5249 if (ndlp->nlp_DID == FABRIC_DID) {
5262 ndlp->nlp_DID, hash_id, dhgp_id, mytran_id, dhvallen);
5264 if (ndlp->nlp_DID == FABRIC_DID) {
5354 err = emlxs_interm_hash(port, port_dhc, ndlp,
5431 NODELIST *ndlp,
5438 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
5448 if (ndlp->nlp_DID == FABRIC_DID) {
5465 * p) and stored them in the partner's ndlp structure
5467 err = emlxs_BIGNUM_get_pubkey(port, port_dhc, ndlp,
5473 if (ndlp->nlp_DID == FABRIC_DID) {
5497 err = emlxs_BIGNUM_get_pubkey(port, port_dhc, ndlp,
5503 if (ndlp->nlp_DID == FABRIC_DID) {
5522 * key are stored in the partner's ndlp structure.
5529 NODELIST *ndlp,
5549 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
5562 ndlp->nlp_DID, *dhvallen, hash_size, dhgp_id);
5596 emlxs_get_random_bytes(ndlp, random_number, 20);
5674 if (ndlp->nlp_DID == FABRIC_DID) {
5685 /* we can store another copy in ndlp */
5730 if (ndlp->nlp_DID == FABRIC_DID) {
5736 /* save another copy in ndlp */
5781 NODELIST *ndlp,
5788 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
5803 ndlp->nlp_DID, privkey_len, dhgp_id);
5876 if (ndlp->nlp_DID == FABRIC_DID) {
5882 /* save another copy in partner's ndlp */
5898 if (ndlp->nlp_DID == FABRIC_DID) {
6054 NODELIST *ndlp,
6065 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
6078 ndlp->nlp_DID, hash_id, dhgp_id, tran_id, dhvallen);
6107 if (ndlp->nlp_DID == FABRIC_DID) {
6153 if (ndlp->nlp_DID == FABRIC_DID) {
6197 NODELIST *ndlp,
6204 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
6225 if (ndlp->nlp_DID == FABRIC_DID) {
6246 ndlp->nlp_DID, mytran_id, hash_id, dhgp_id);
6257 if (ndlp->nlp_DID == FABRIC_DID) {
6267 if (ndlp->nlp_DID == FABRIC_DID) {
6297 if (ndlp->nlp_DID == FABRIC_DID) {
6305 if (ndlp->nlp_DID == FABRIC_DID) {
6346 if (ndlp->nlp_DID == FABRIC_DID) {
6356 if (ndlp->nlp_DID == FABRIC_DID) {
6365 if (ndlp->nlp_DID == FABRIC_DID) {
6378 ndlp->nlp_DID, cval_len);
6380 err = emlxs_hash_Cai(port, port_dhc, ndlp, (void *)Cai,
6399 if (ndlp->nlp_DID == FABRIC_DID) {
6431 if (ndlp->nlp_DID == FABRIC_DID) {
6491 NODELIST *ndlp,
6498 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
6517 if (ndlp->nlp_DID == FABRIC_DID) {
6535 ndlp->nlp_DID, hash_id, dhgp_id, mytran_id);
6537 if (ndlp->nlp_DID == FABRIC_DID) {
6554 if (ndlp->nlp_DID == FABRIC_DID) {
6581 if (ndlp->nlp_DID == FABRIC_DID) {
6602 if (ndlp->nlp_DID == FABRIC_DID) {
6635 err = emlxs_hash_Cai(port, port_dhc, ndlp, (void *)Cai,
6658 if (ndlp->nlp_DID == FABRIC_DID)
6687 if (ndlp->nlp_DID == FABRIC_DID) {
6720 NODELIST *ndlp,
6725 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
6806 emlxs_node_t *ndlp,
6812 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
6822 fabric = ((ndlp->nlp_DID & FABRIC_DID_MASK) == FABRIC_DID_MASK) ? 1 : 0;
6823 fabric_switch = ((ndlp->nlp_DID == FABRIC_DID) ? 1 : 0);
6829 "Not started. Auth disabled. did=0x%x", ndlp->nlp_DID);
6831 emlxs_dhc_state(port, ndlp, NODE_STATE_AUTH_DISABLED, 0, 0);
6838 "Not started. NPIV auth disabled. did=0x%x", ndlp->nlp_DID);
6840 emlxs_dhc_state(port, ndlp, NODE_STATE_AUTH_DISABLED, 0, 0);
6847 "Not started. FS auth disabled. did=0x%x", ndlp->nlp_DID);
6849 emlxs_dhc_state(port, ndlp, NODE_STATE_AUTH_DISABLED, 0, 0);
6857 "Not started. E2E auth disabled. did=0x%x", ndlp->nlp_DID);
6859 emlxs_dhc_state(port, ndlp, NODE_STATE_AUTH_DISABLED, 0, 0);
6866 emlxs_dhc_auth_stop(port, ndlp);
6882 (uint8_t *)&ndlp->nlp_portname);
6884 (uint8_t *)&ndlp->nlp_portname);
6893 ndlp->nlp_DID);
6895 emlxs_dhc_state(port, ndlp, NODE_STATE_AUTH_DISABLED, 0, 0);
6903 auth_cfg->node = ndlp;
6912 ndlp->nlp_DID);
6914 emlxs_dhc_state(port, ndlp, NODE_STATE_AUTH_DISABLED, 0, 0);
6922 auth_key->node = ndlp;
6926 if (ndlp->sparm.cmn.fcsp_support == 0) {
6934 ndlp->nlp_DID);
6936 emlxs_dhc_state(port, ndlp,
6946 ndlp->nlp_DID);
6952 ndlp->node_dhc.deferred_sbp = deferred_sbp;
6953 ndlp->node_dhc.deferred_ubp = deferred_ubp;
6964 ndlp->nlp_DID);
6966 emlxs_dhc_state(port, ndlp,
6984 ndlp->nlp_DID);
6990 ndlp->node_dhc.deferred_sbp = deferred_sbp;
6991 ndlp->node_dhc.deferred_ubp = deferred_ubp;
7012 bcopy((uint8_t *)&ndlp->nlp_portname,
7114 bcopy((uint8_t *)&ndlp->nlp_portname,
7134 ndlp->nlp_DID);
7145 ndlp->nlp_DID);
7148 emlxs_dhc_state(port, ndlp, NODE_STATE_AUTH_SUCCESS, 0, 0);
7155 ndlp->nlp_DID, node_dhc->nlp_auth_limit, deferred_sbp);
7157 if (emlxs_issue_auth_negotiate(port, ndlp, 0)) {
7160 ndlp->nlp_DID);
7170 emlxs_dhc_state(port, ndlp, NODE_STATE_AUTH_FAILED, 0, 0);
7173 emlxs_dhc_auth_complete(port, ndlp, 1);
7185 emlxs_node_t *ndlp)
7195 if (ndlp) {
7196 node_dhc = &ndlp->node_dhc;
7202 if (ndlp->nlp_DID != FABRIC_DID) {
7203 emlxs_dhc_state(port, ndlp, NODE_STATE_UNKNOWN, 0, 0);
7205 emlxs_dhc_auth_complete(port, ndlp, 2);
7209 ndlp = port->node_table[i];
7211 if (!ndlp) {
7214 node_dhc = &ndlp->node_dhc;
7219 if (ndlp->nlp_DID != FABRIC_DID) {
7220 emlxs_dhc_state(port, ndlp,
7223 emlxs_dhc_auth_complete(port, ndlp, 2);
7240 emlxs_node_t *ndlp,
7243 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
7247 fabric = ((ndlp->nlp_DID & FABRIC_DID_MASK) == FABRIC_DID_MASK) ? 1 : 0;
7248 fabric_switch = ((ndlp->nlp_DID == FABRIC_DID) ? 1 : 0);
7253 ndlp->nlp_DID, status, node_dhc->deferred_sbp,
7262 (void) emlxs_port_offline(port, ndlp->nlp_DID);
7270 ndlp->nlp_DID);
7271 emlxs_send_logo(port, ndlp->nlp_DID);
7462 * \pre \post \param phba \param arg1: \param arg2: ndlp to which the host
7490 NODELIST *ndlp = (NODELIST *) arg2;
7491 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
7497 ndlp->nlp_DID, node_dhc->state);
7499 emlxs_dhc_set_reauth_time(port, ndlp, DISABLE);
7508 ndlp->nlp_DID, node_dhc->state);
7510 emlxs_dhc_set_reauth_time(port, ndlp, DISABLE);
7518 ndlp->nlp_DID, node_dhc->state);
7523 * This might happen, the ndlp is doing reauthencation. meaning ndlp
7525 * host re-authenticated to the ndlp at this point because ndlp might
7533 ndlp->nlp_DID, node_dhc->state);
7545 ndlp->nlp_DID, node_dhc->state);
7552 ndlp->nlp_DID);
7554 emlxs_dhc_set_reauth_time(port, ndlp, ENABLE);
7558 if (emlxs_dhc_auth_start(port, ndlp, NULL, NULL) != 0) {
7562 ndlp->nlp_DID, node_dhc->state);
7570 emlxs_dhc_set_reauth_time(port, ndlp, ENABLE);
7580 emlxs_node_t *ndlp,
7584 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
7600 if (ndlp->nlp_DID == FABRIC_DID) {
7626 ndlp->nlp_DID, node_dhc->state,
7637 ndlp->nlp_DID, node_dhc->state);
7652 NODELIST *ndlp = (NODELIST *)arg1;
7653 emlxs_node_dhc_t *node_dhc = &ndlp->node_dhc;
7662 ndlp->nlp_DID, node_dhc->nlp_authrsp_tmocnt);
7681 NULL, ndlp, NODE_EVENT_DEVICE_RM);
7688 NULL, ndlp, NODE_EVENT_DEVICE_RECOVERY);
7694 emlxs_dhc_state(port, ndlp, NODE_STATE_AUTH_FAILED, ReasonCode,
7696 (void) emlxs_issue_auth_reject(port, ndlp, 0, 0, ReasonCode,
7698 emlxs_dhc_auth_complete(port, ndlp, 1);
9048 NODELIST *ndlp;
9082 if ((ndlp = emlxs_node_find_did(port, FABRIC_DID, 1)) == NULL) {
9091 if ((ndlp = emlxs_node_find_wwpn(port, rwwpn, 1)) == NULL) {
9101 if ((ndlp->nlp_DID != FABRIC_DID) &&
9105 if (ndlp->node_dhc.state >= NODE_STATE_AUTH_NEGOTIATE_ISSUE) {
9108 if (ndlp->node_dhc.state == NODE_STATE_AUTH_SUCCESS) {
9109 ndlp->node_dhc.nlp_reauth_status = NLP_HOST_REAUTH_IN_PROGRESS;
9112 if (emlxs_dhc_auth_start(port, ndlp, NULL, NULL) != 0) {
9193 NODELIST *ndlp;
9278 if ((ndlp = emlxs_node_find_did(port,
9284 if ((ndlp = emlxs_node_find_wwpn(port,
9290 emlxs_dhc_set_reauth_time(port, ndlp, ENABLE);
9651 NODELIST *ndlp;
9684 ndlp = emlxs_node_find_did(port, FABRIC_DID, 1);
9688 ndlp = auth_cfg->node;
9694 if (ndlp && ndlp->nlp_active) {
9695 emlxs_dhc_status(port, ndlp, 0, 0);