Lines Matching defs:frp

211 static int fcip_do_plogi(struct fcip *fptr, struct fcip_routing_table *frp);
218 struct fcip_routing_table *frp);
1229 struct fcip_routing_table *frp;
1231 frp = fptr->fcip_rtable[index];
1232 while (frp) {
1239 if (frp->fcipr_d_id.port_id == did) {
1240 frp->fcipr_state = 0;
1244 frp = frp->fcipr_next;
1276 struct fcip_routing_table *frp;
1292 frp = fcip_lookup_rtable(fptr, &(pmap->map_pwwn),
1309 if (frp == NULL) {
1311 } else if (frp) {
1326 if (frp) {
1334 if (frp->fcipr_d_id.port_id != did) {
1335 frp->fcipr_pd = NULL;
1336 frp->fcipr_state = FCIP_RT_INVALID;
1337 frp->fcipr_invalid_timeout =
1350 ASSERT(frp == NULL);
1360 frp = (struct fcip_routing_table *)
1363 frp->fcipr_next = fptr->fcip_rtable[hash_bucket];
1364 fptr->fcip_rtable[hash_bucket] = frp;
1371 (void *)&frp->fcipr_pwwn, sizeof (la_wwn_t));
1372 bcopy((void *)&pmap->map_nwwn, (void *)&frp->fcipr_nwwn,
1374 frp->fcipr_d_id = pmap->map_did;
1375 frp->fcipr_state = pmap->map_state;
1376 frp->fcipr_pd = pmap->map_pd;
1384 if ((frp->fcipr_pd == NULL) &&
1385 (frp->fcipr_d_id.port_id != fptr->fcip_broadcast_did)) {
1386 frp->fcipr_state = PORT_DEVICE_INVALID;
1387 frp->fcipr_invalid_timeout = fptr->fcip_timeout_ticks +
1390 frp->fcipr_fca_dev =
1398 (void) fcip_do_plogi(fptr, frp);
1400 fc_wwn_to_str(&frp->fcipr_pwwn, wwn_buf);
1403 wwn_buf, frp->fcipr_d_id.port_id));
1404 (void) fcip_do_plogi(fptr, frp);
1409 &frp->fcipr_pwwn, sizeof (la_wwn_t));
1421 struct fcip_routing_table *frp = NULL;
1437 frp = fptr->fcip_rtable[hash_bucket];
1438 while (frp != NULL) {
1442 &(frp->fcipr_nwwn.raw_wwn), sizeof (la_wwn_t));
1444 if (fcip_wwn_compare(&frp->fcipr_pwwn, wwn, matchflag) == 0) {
1448 frp = frp->fcipr_next;
1452 tnf_opaque, frp, frp));
1453 return (frp);
1927 struct fcip_routing_table *frp;
1932 frp = fptr->fcip_rtable[index];
1933 while (frp) {
1941 frp->fcipr_state = FCIP_RT_SUSPENDED;
1942 pwwn = &frp->fcipr_pwwn;
1970 frp = frp->fcipr_next;
1999 frp = frp->fcipr_next;
2675 struct fcip_routing_table *frp;
2694 frp = fcip_lookup_rtable(fptr, &fcmd->req_pwwn, FCIP_COMPARE_NWWN);
2697 fdestp = fcip_add_dest(fptr, frp);
2725 if (fcip_do_plogi(fptr, frp) != FC_SUCCESS) {
2731 frp->fcipr_state = PORT_DEVICE_INVALID;
2767 struct fcip_routing_table *frp;
2786 frp = fcip_lookup_rtable(fptr, &fcmd->resp_pwwn, FCIP_COMPARE_NWWN);
2789 fdestp = fcip_add_dest(fptr, frp);
3127 struct fcip_routing_table *frp;
3139 frp = fcip_lookup_rtable(fptr, &nhdr->net_src_addr, FCIP_COMPARE_NWWN);
3141 if (frp == NULL) {
3154 frp = fcip_lookup_rtable(fptr, &nhdr->net_src_addr,
3158 (void) fcip_add_dest(fptr, frp);
4325 struct fcip_routing_table *frp = NULL;
4360 struct fcip_routing_table *frp;
4362 frp = fdestp->fcipd_rtable;
4366 if ((frp == NULL) ||
4367 (frp && FCIP_RTE_UNAVAIL(frp->fcipr_state))) {
4370 if (frp &&
4371 (frp->fcipr_state == FCIP_RT_INVALID)) {
4381 "fcip transport: frp unavailable"));
4401 } else if (rval == FC_LOGINREQ && (frp != NULL)) {
4402 (void) fcip_do_plogi(fptr, frp);
4403 } else if (rval == FC_BADPACKET && (frp != NULL)) {
4410 if ((frp->fcipr_d_id.port_id != 0x0) &&
4411 (frp->fcipr_d_id.port_id != 0xffffff)) {
4413 frp->fcipr_pd = NULL;
4414 frp->fcipr_state = PORT_DEVICE_INVALID;
5924 struct fcip_routing_table *frp;
5973 frp = fcip_lookup_rtable(fptr, pwwn, FCIP_COMPARE_NWWN);
5976 if (frp == NULL || (frp && (!FCIP_RTE_UNAVAIL(frp->fcipr_state)) &&
5977 frp->fcipr_state != PORT_DEVICE_LOGGED_IN) ||
5978 (frp && frp->fcipr_pd == NULL)) {
6052 frp = fcip_lookup_rtable(fptr, pwwn,
6056 fdestp = fcip_add_dest(fptr, frp);
6069 } else if (frp && frp->fcipr_state == PORT_DEVICE_LOGGED_IN) {
6073 fdestp = fcip_add_dest(fptr, frp);
6116 fcip_add_dest(struct fcip *fptr, struct fcip_routing_table *frp)
6123 if (frp == NULL) {
6127 pwwn = &frp->fcipr_pwwn;
6158 fdest_new->fcipd_rtable = frp;
6216 struct fcip_routing_table *frp;
6333 frp = fcip_lookup_rtable(fptr, pwwn, FCIP_COMPARE_NWWN);
6336 if ((frp != NULL) &&
6337 !FCIP_RTE_UNAVAIL(frp->fcipr_state)) {
6369 fcip_do_plogi(struct fcip *fptr, struct fcip_routing_table *frp)
6381 if ((frp->fcipr_d_id.port_id == 0x0) ||
6382 (frp->fcipr_d_id.port_id == 0xffffff)) {
6390 if (frp->fcipr_state == FCIP_RT_LOGIN_PROGRESS ||
6391 frp->fcipr_state == PORT_DEVICE_LOGGED_IN) {
6396 sizeof (la_els_logi_t), frp->fcipr_pd, KM_SLEEP);
6405 fcip_pkt->fcip_pkt_frp = frp;
6406 frp->fcipr_state = FCIP_RT_LOGIN_PROGRESS;
6419 fr_hdr->d_id = frp->fcipr_d_id.port_id;
6453 frp->fcipr_d_id.port_id, rval);
6473 struct fcip_routing_table *frp;
6484 frp = fcip_pkt->fcip_pkt_frp;
6499 frp->fcipr_state = PORT_DEVICE_INVALID;
6500 frp->fcipr_invalid_timeout = fptr->fcip_timeout_ticks +
6513 frp->fcipr_pd = fc_pkt->pkt_pd;
6514 frp->fcipr_fca_dev =
6516 frp->fcipr_state = PORT_DEVICE_LOGGED_IN;
7038 struct fcip_routing_table *frp;
7065 frp = fcip_lookup_rtable(fptr, &broadcast_wwn, FCIP_COMPARE_NWWN);
7067 if (frp == NULL) {
7070 (void) fcip_add_dest(fptr, frp);
7084 frp = fcip_lookup_rtable(fptr, &broadcast_wwn, FCIP_COMPARE_NWWN);
7086 if (frp == NULL) {
7089 (void) fcip_add_dest(fptr, frp);
7561 struct fcip_routing_table *frp;
7566 frp = fptr->fcip_rtable[i];
7567 while (frp) {
7568 if (frp->fcipr_state == FCIP_RT_LOGIN_PROGRESS) {
7572 frp = frp->fcipr_next;