• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/drivers/scsi/bfa/

Lines Matching defs:fabric

19  *  fabric.c Fabric module implementation.
50 static void bfa_fcs_fabric_init(struct bfa_fcs_fabric_s *fabric);
51 static void bfa_fcs_fabric_login(struct bfa_fcs_fabric_s *fabric);
52 static void bfa_fcs_fabric_notify_online(struct bfa_fcs_fabric_s *fabric);
53 static void bfa_fcs_fabric_notify_offline(struct bfa_fcs_fabric_s *fabric);
55 static void bfa_fcs_fabric_delete(struct bfa_fcs_fabric_s *fabric);
57 static void bfa_fcs_fabric_process_uf(struct bfa_fcs_fabric_s *fabric,
59 static void bfa_fcs_fabric_process_flogi(struct bfa_fcs_fabric_s *fabric,
61 static void bfa_fcs_fabric_send_flogi_acc(struct bfa_fcs_fabric_s *fabric);
69 * fcs_fabric_sm fabric state machine functions
76 BFA_FCS_FABRIC_SM_CREATE = 1, /* fabric create from driver */
77 BFA_FCS_FABRIC_SM_DELETE = 2, /* fabric delete from driver */
82 BFA_FCS_FABRIC_SM_NO_FABRIC = 7, /* no fabric from flogi/auth
94 BFA_FCS_FABRIC_SM_START = 16, /* fabric delete from driver */
97 static void bfa_fcs_fabric_sm_uninit(struct bfa_fcs_fabric_s *fabric,
99 static void bfa_fcs_fabric_sm_created(struct bfa_fcs_fabric_s *fabric,
101 static void bfa_fcs_fabric_sm_linkdown(struct bfa_fcs_fabric_s *fabric,
103 static void bfa_fcs_fabric_sm_flogi(struct bfa_fcs_fabric_s *fabric,
105 static void bfa_fcs_fabric_sm_flogi_retry(struct bfa_fcs_fabric_s *fabric,
107 static void bfa_fcs_fabric_sm_auth(struct bfa_fcs_fabric_s *fabric,
109 static void bfa_fcs_fabric_sm_auth_failed(struct bfa_fcs_fabric_s *fabric,
111 static void bfa_fcs_fabric_sm_loopback(struct bfa_fcs_fabric_s *fabric,
113 static void bfa_fcs_fabric_sm_nofabric(struct bfa_fcs_fabric_s *fabric,
115 static void bfa_fcs_fabric_sm_online(struct bfa_fcs_fabric_s *fabric,
117 static void bfa_fcs_fabric_sm_evfp(struct bfa_fcs_fabric_s *fabric,
119 static void bfa_fcs_fabric_sm_evfp_done(struct bfa_fcs_fabric_s *fabric,
121 static void bfa_fcs_fabric_sm_isolated(struct bfa_fcs_fabric_s *fabric,
123 static void bfa_fcs_fabric_sm_deleting(struct bfa_fcs_fabric_s *fabric,
126 * Beginning state before fabric creation.
129 bfa_fcs_fabric_sm_uninit(struct bfa_fcs_fabric_s *fabric,
132 bfa_trc(fabric->fcs, fabric->bport.port_cfg.pwwn);
133 bfa_trc(fabric->fcs, event);
137 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_created);
138 bfa_fcs_fabric_init(fabric);
139 bfa_fcs_lport_init(&fabric->bport, &fabric->bport.port_cfg);
147 bfa_sm_fault(fabric->fcs, event);
152 * Beginning state before fabric creation.
155 bfa_fcs_fabric_sm_created(struct bfa_fcs_fabric_s *fabric,
158 bfa_trc(fabric->fcs, fabric->bport.port_cfg.pwwn);
159 bfa_trc(fabric->fcs, event);
163 if (bfa_fcport_is_linkup(fabric->fcs->bfa)) {
164 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_flogi);
165 bfa_fcs_fabric_login(fabric);
167 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_linkdown);
175 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_uninit);
176 bfa_fcs_modexit_comp(fabric->fcs);
180 bfa_sm_fault(fabric->fcs, event);
186 * first state at fabric creation.
189 bfa_fcs_fabric_sm_linkdown(struct bfa_fcs_fabric_s *fabric,
192 bfa_trc(fabric->fcs, fabric->bport.port_cfg.pwwn);
193 bfa_trc(fabric->fcs, event);
197 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_flogi);
198 bfa_fcs_fabric_login(fabric);
205 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_deleting);
206 bfa_fcs_fabric_delete(fabric);
210 bfa_sm_fault(fabric->fcs, event);
218 bfa_fcs_fabric_sm_flogi(struct bfa_fcs_fabric_s *fabric,
221 bfa_trc(fabric->fcs, fabric->bport.port_cfg.pwwn);
222 bfa_trc(fabric->fcs, event);
227 bfa_fcport_set_tx_bbcredit(fabric->fcs->bfa, fabric->bb_credit);
228 fabric->fab_type = BFA_FCS_FABRIC_SWITCHED;
230 if (fabric->auth_reqd && fabric->is_auth) {
231 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_auth);
232 bfa_trc(fabric->fcs, event);
234 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_online);
235 bfa_fcs_fabric_notify_online(fabric);
240 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_flogi_retry);
241 bfa_timer_start(fabric->fcs->bfa, &fabric->delay_timer,
242 bfa_fcs_fabric_delay, fabric,
247 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_loopback);
248 bfa_lps_discard(fabric->lps);
249 bfa_fcs_fabric_set_opertype(fabric);
253 fabric->fab_type = BFA_FCS_FABRIC_N2N;
254 bfa_fcport_set_tx_bbcredit(fabric->fcs->bfa, fabric->bb_credit);
255 bfa_fcs_fabric_notify_online(fabric);
256 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_nofabric);
260 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_linkdown);
261 bfa_lps_discard(fabric->lps);
265 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_deleting);
266 bfa_lps_discard(fabric->lps);
267 bfa_fcs_fabric_delete(fabric);
271 bfa_sm_fault(fabric->fcs, event);
277 bfa_fcs_fabric_sm_flogi_retry(struct bfa_fcs_fabric_s *fabric,
280 bfa_trc(fabric->fcs, fabric->bport.port_cfg.pwwn);
281 bfa_trc(fabric->fcs, event);
285 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_flogi);
286 bfa_fcs_fabric_login(fabric);
290 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_linkdown);
291 bfa_timer_stop(&fabric->delay_timer);
295 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_deleting);
296 bfa_timer_stop(&fabric->delay_timer);
297 bfa_fcs_fabric_delete(fabric);
301 bfa_sm_fault(fabric->fcs, event);
309 bfa_fcs_fabric_sm_auth(struct bfa_fcs_fabric_s *fabric,
312 bfa_trc(fabric->fcs, fabric->bport.port_cfg.pwwn);
313 bfa_trc(fabric->fcs, event);
317 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_auth_failed);
318 bfa_lps_discard(fabric->lps);
322 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_online);
323 bfa_fcs_fabric_notify_online(fabric);
327 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_evfp);
331 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_linkdown);
332 bfa_lps_discard(fabric->lps);
336 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_deleting);
337 bfa_fcs_fabric_delete(fabric);
341 bfa_sm_fault(fabric->fcs, event);
349 bfa_fcs_fabric_sm_auth_failed(struct bfa_fcs_fabric_s *fabric,
352 bfa_trc(fabric->fcs, fabric->bport.port_cfg.pwwn);
353 bfa_trc(fabric->fcs, event);
357 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_linkdown);
358 bfa_fcs_fabric_notify_offline(fabric);
362 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_deleting);
363 bfa_fcs_fabric_delete(fabric);
367 bfa_sm_fault(fabric->fcs, event);
375 bfa_fcs_fabric_sm_loopback(struct bfa_fcs_fabric_s *fabric,
378 bfa_trc(fabric->fcs, fabric->bport.port_cfg.pwwn);
379 bfa_trc(fabric->fcs, event);
383 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_linkdown);
384 bfa_fcs_fabric_notify_offline(fabric);
388 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_deleting);
389 bfa_fcs_fabric_delete(fabric);
393 bfa_sm_fault(fabric->fcs, event);
398 * There is no attached fabric - private loop or NPort-to-NPort topology.
401 bfa_fcs_fabric_sm_nofabric(struct bfa_fcs_fabric_s *fabric,
404 bfa_trc(fabric->fcs, fabric->bport.port_cfg.pwwn);
405 bfa_trc(fabric->fcs, event);
409 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_linkdown);
410 bfa_lps_discard(fabric->lps);
411 bfa_fcs_fabric_notify_offline(fabric);
415 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_deleting);
416 bfa_fcs_fabric_delete(fabric);
420 bfa_trc(fabric->fcs, fabric->bb_credit);
421 bfa_fcport_set_tx_bbcredit(fabric->fcs->bfa, fabric->bb_credit);
425 bfa_sm_fault(fabric->fcs, event);
433 bfa_fcs_fabric_sm_online(struct bfa_fcs_fabric_s *fabric,
436 bfa_trc(fabric->fcs, fabric->bport.port_cfg.pwwn);
437 bfa_trc(fabric->fcs, event);
441 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_linkdown);
442 bfa_lps_discard(fabric->lps);
443 bfa_fcs_fabric_notify_offline(fabric);
447 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_deleting);
448 bfa_fcs_fabric_delete(fabric);
452 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_auth_failed);
453 bfa_lps_discard(fabric->lps);
460 bfa_sm_fault(fabric->fcs, event);
465 * Exchanging virtual fabric parameters.
468 bfa_fcs_fabric_sm_evfp(struct bfa_fcs_fabric_s *fabric,
471 bfa_trc(fabric->fcs, fabric->bport.port_cfg.pwwn);
472 bfa_trc(fabric->fcs, event);
476 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_evfp_done);
480 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_isolated);
484 bfa_sm_fault(fabric->fcs, event);
492 bfa_fcs_fabric_sm_evfp_done(struct bfa_fcs_fabric_s *fabric,
495 bfa_trc(fabric->fcs, fabric->bport.port_cfg.pwwn);
496 bfa_trc(fabric->fcs, event);
503 bfa_fcs_fabric_sm_isolated(struct bfa_fcs_fabric_s *fabric,
506 bfa_trc(fabric->fcs, fabric->bport.port_cfg.pwwn);
507 bfa_trc(fabric->fcs, event);
509 bfa_log(fabric->fcs->logm, BFA_LOG_FCS_FABRIC_ISOLATED,
510 fabric->bport.port_cfg.pwwn, fabric->fcs->port_vfid,
511 fabric->event_arg.swp_vfid);
518 bfa_fcs_fabric_sm_deleting(struct bfa_fcs_fabric_s *fabric,
521 bfa_trc(fabric->fcs, fabric->bport.port_cfg.pwwn);
522 bfa_trc(fabric->fcs, event);
526 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_uninit);
527 bfa_fcs_modexit_comp(fabric->fcs);
534 bfa_fcs_fabric_notify_offline(fabric);
538 bfa_sm_fault(fabric->fcs, event);
545 * fcs_fabric_private fabric private functions
549 bfa_fcs_fabric_init(struct bfa_fcs_fabric_s *fabric)
551 struct bfa_port_cfg_s *port_cfg = &fabric->bport.port_cfg;
554 port_cfg->nwwn = bfa_ioc_get_nwwn(&fabric->fcs->bfa->ioc);
555 port_cfg->pwwn = bfa_ioc_get_pwwn(&fabric->fcs->bfa->ioc);
562 bfa_fcs_fabric_psymb_init(struct bfa_fcs_fabric_s *fabric)
564 struct bfa_port_cfg_s *port_cfg = &fabric->bport.port_cfg;
566 struct bfa_fcs_driver_info_s *driver_info = &fabric->fcs->driver_info;
568 bfa_ioc_get_adapter_model(&fabric->fcs->bfa->ioc, model);
634 struct bfa_fcs_fabric_s *fabric = uarg;
636 bfa_trc(fabric->fcs, fabric->bport.port_cfg.pwwn);
637 bfa_trc(fabric->fcs, status);
641 fabric->stats.flogi_accepts++;
648 fabric->stats.flogi_acc_err++;
649 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_RETRY_OP);
654 switch (bfa_lps_get_extstatus(fabric->lps)) {
656 fabric->stats.flogi_acc_err++;
660 fabric->stats.flogi_unknown_rsp++;
666 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_RETRY_OP);
671 fabric->stats.flogi_rejects++;
672 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_RETRY_OP);
676 fabric->stats.flogi_rsp_err++;
677 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_RETRY_OP);
681 fabric->bb_credit = bfa_lps_get_peer_bbcredit(fabric->lps);
682 bfa_trc(fabric->fcs, fabric->bb_credit);
684 if (!bfa_lps_is_brcd_fabric(fabric->lps))
685 fabric->fabric_name = bfa_lps_get_peer_nwwn(fabric->lps);
690 if (bfa_lps_is_fport(fabric->lps)) {
691 fabric->bport.pid = bfa_lps_get_pid(fabric->lps);
692 fabric->is_npiv = bfa_lps_is_npiv_en(fabric->lps);
693 fabric->is_auth = bfa_lps_is_authreq(fabric->lps);
694 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_CONT_OP);
699 fabric->bport.port_topo.pn2n.rem_port_wwn =
700 bfa_lps_get_peer_pwwn(fabric->lps);
701 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_NO_FABRIC);
704 bfa_trc(fabric->fcs, fabric->bport.pid);
705 bfa_trc(fabric->fcs, fabric->is_npiv);
706 bfa_trc(fabric->fcs, fabric->is_auth);
713 bfa_fcs_fabric_login(struct bfa_fcs_fabric_s *fabric)
715 struct bfa_s *bfa = fabric->fcs->bfa;
716 struct bfa_port_cfg_s *pcfg = &fabric->bport.port_cfg;
722 bfa_lps_flogi(fabric->lps, fabric, alpa, bfa_fcport_get_maxfrsize(bfa),
723 pcfg->pwwn, pcfg->nwwn, fabric->auth_reqd);
725 fabric->stats.flogi_sent++;
729 bfa_fcs_fabric_notify_online(struct bfa_fcs_fabric_s *fabric)
734 bfa_trc(fabric->fcs, fabric->fabric_name);
736 bfa_fcs_fabric_set_opertype(fabric);
737 fabric->stats.fabric_onlines++;
742 bfa_fcs_port_online(&fabric->bport);
744 list_for_each_safe(qe, qen, &fabric->vport_q) {
751 bfa_fcs_fabric_notify_offline(struct bfa_fcs_fabric_s *fabric)
756 bfa_trc(fabric->fcs, fabric->fabric_name);
757 fabric->stats.fabric_offlines++;
762 list_for_each_safe(qe, qen, &fabric->vport_q) {
767 bfa_fcs_port_offline(&fabric->bport);
769 fabric->fabric_name = 0;
770 fabric->fabric_ip_addr[0] = 0;
776 struct bfa_fcs_fabric_s *fabric = cbarg;
778 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_DELAYED);
785 bfa_fcs_fabric_delete(struct bfa_fcs_fabric_s *fabric)
790 list_for_each_safe(qe, qen, &fabric->vport_q) {
795 bfa_fcs_port_delete(&fabric->bport);
796 bfa_wc_wait(&fabric->wc);
802 struct bfa_fcs_fabric_s *fabric = cbarg;
804 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_DELCOMP);
810 * fcs_fabric_public fabric public functions
819 struct bfa_fcs_fabric_s *fabric;
821 fabric = &fcs->fabric;
822 bfa_os_memset(fabric, 0, sizeof(struct bfa_fcs_fabric_s));
825 * Initialize base fabric.
827 fabric->fcs = fcs;
828 INIT_LIST_HEAD(&fabric->vport_q);
829 INIT_LIST_HEAD(&fabric->vf_q);
830 fabric->lps = bfa_lps_alloc(fcs->bfa);
831 bfa_assert(fabric->lps);
834 * Initialize fabric delete completion handler. Fabric deletion is complete
837 bfa_wc_init(&fabric->wc, bfa_fcs_fabric_delete_comp, fabric);
838 bfa_wc_up(&fabric->wc); /* For the base port */
840 bfa_sm_set_state(fabric, bfa_fcs_fabric_sm_uninit);
841 bfa_fcs_lport_attach(&fabric->bport, fabric->fcs, FC_VF_ID_NULL, NULL);
847 bfa_sm_send_event(&fcs->fabric, BFA_FCS_FABRIC_SM_CREATE);
857 struct bfa_fcs_fabric_s *fabric;
862 * Cleanup base fabric.
864 fabric = &fcs->fabric;
865 bfa_lps_delete(fabric->lps);
866 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_DELETE);
875 struct bfa_fcs_fabric_s *fabric;
878 fabric = &fcs->fabric;
879 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_START);
883 * Suspend fabric activity as part of driver suspend.
891 bfa_fcs_fabric_is_loopback(struct bfa_fcs_fabric_s *fabric)
893 return bfa_sm_cmp_state(fabric, bfa_fcs_fabric_sm_loopback);
897 bfa_fcs_fabric_is_auth_failed(struct bfa_fcs_fabric_s *fabric)
899 return bfa_sm_cmp_state(fabric, bfa_fcs_fabric_sm_auth_failed);
903 bfa_fcs_fabric_port_type(struct bfa_fcs_fabric_s *fabric)
905 return fabric->oper_type;
912 bfa_fcs_fabric_link_up(struct bfa_fcs_fabric_s *fabric)
914 bfa_trc(fabric->fcs, fabric->bport.port_cfg.pwwn);
915 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_LINK_UP);
922 bfa_fcs_fabric_link_down(struct bfa_fcs_fabric_s *fabric)
924 bfa_trc(fabric->fcs, fabric->bport.port_cfg.pwwn);
925 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_LINK_DOWN);
929 * A child vport is being created in the fabric.
932 * belonging to a fabric is maintained to propagate link events.
934 * param[in] fabric - Fabric instance. This can be a base fabric or vf.
940 bfa_fcs_fabric_addvport(struct bfa_fcs_fabric_s *fabric,
944 * - add vport to fabric's vport_q
946 bfa_trc(fabric->fcs, fabric->vf_id);
948 list_add_tail(&vport->qe, &fabric->vport_q);
949 fabric->num_vports++;
950 bfa_wc_up(&fabric->wc);
954 * A child vport is being deleted from fabric.
959 bfa_fcs_fabric_delvport(struct bfa_fcs_fabric_s *fabric,
963 fabric->num_vports--;
964 bfa_wc_down(&fabric->wc);
971 bfa_fcs_fabric_port_delete_comp(struct bfa_fcs_fabric_s *fabric)
973 bfa_wc_down(&fabric->wc);
977 * Check if fabric is online.
979 * param[in] fabric - Fabric instance. This can be a base fabric or vf.
984 bfa_fcs_fabric_is_online(struct bfa_fcs_fabric_s *fabric)
986 return bfa_sm_cmp_state(fabric, bfa_fcs_fabric_sm_online);
1000 * Lookup for a vport withing a fabric given its pwwn
1003 bfa_fcs_fabric_vport_lookup(struct bfa_fcs_fabric_s *fabric, wwn_t pwwn)
1008 list_for_each(qe, &fabric->vport_q) {
1018 * In a given fabric, return the number of lports.
1020 * param[in] fabric - Fabric instance. This can be a base fabric or vf.
1025 bfa_fcs_fabric_vport_count(struct bfa_fcs_fabric_s *fabric)
1027 return fabric->num_vports;
1036 * To check if the attached fabric is a brocade fabric, use
1042 bfa_fcs_fabric_get_switch_oui(struct bfa_fcs_fabric_s *fabric)
1048 fab_nwwn = bfa_lps_get_peer_nwwn(fabric->lps);
1060 bfa_fcs_fabric_uf_recv(struct bfa_fcs_fabric_s *fabric, struct fchs_s *fchs,
1069 bfa_trc(fabric->fcs, len);
1070 bfa_trc(fabric->fcs, pid);
1079 && (flogi->port_name == bfa_fcs_port_get_pwwn(&fabric->bport))) {
1080 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_LOOPBACK);
1085 * FLOGI/EVFP exchanges should be consumed by base fabric.
1088 bfa_trc(fabric->fcs, pid);
1089 bfa_fcs_fabric_process_uf(fabric, fchs, len);
1093 if (fabric->bport.pid == pid) {
1097 bfa_trc(fabric->fcs, els_cmd->els_code);
1099 bfa_trc(fabric->fcs, els_cmd->els_code);
1100 fabric->auth.response = (u8 *) els_cmd;
1104 bfa_trc(fabric->fcs, *(u8 *) ((u8 *) fchs));
1105 bfa_fcs_port_uf_recv(&fabric->bport, fchs, len);
1112 list_for_each(qe, &fabric->vport_q) {
1119 bfa_trc(fabric->fcs, els_cmd->els_code);
1120 bfa_fcs_port_uf_recv(&fabric->bport, fchs, len);
1124 * Unsolicited frames to be processed by fabric.
1127 bfa_fcs_fabric_process_uf(struct bfa_fcs_fabric_s *fabric, struct fchs_s *fchs,
1132 bfa_trc(fabric->fcs, els_cmd->els_code);
1136 bfa_fcs_fabric_process_flogi(fabric, fchs, len);
1151 bfa_fcs_fabric_process_flogi(struct bfa_fcs_fabric_s *fabric,
1155 struct bfa_fcs_port_s *bport = &fabric->bport;
1157 bfa_trc(fabric->fcs, fchs->s_id);
1159 fabric->stats.flogi_rcvd++;
1167 bfa_trc(fabric->fcs, flogi->port_name);
1168 fabric->stats.flogi_rejected++;
1172 fabric->bb_credit = bfa_os_ntohs(flogi->csp.bbcred);
1179 bfa_fcs_fabric_send_flogi_acc(fabric);
1180 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_NO_FABRIC);
1184 bfa_fcs_fabric_send_flogi_acc(struct bfa_fcs_fabric_s *fabric)
1186 struct bfa_port_cfg_s *pcfg = &fabric->bport.port_cfg;
1187 struct bfa_fcs_port_n2n_s *n2n_port = &fabric->bport.port_topo.pn2n;
1188 struct bfa_s *bfa = fabric->fcs->bfa;
1193 fcxp = bfa_fcs_fcxp_alloc(fabric->fcs);
1206 bfa_fcxp_send(fcxp, NULL, fabric->vf_id, bfa_lps_get_tag(fabric->lps),
1208 bfa_fcs_fabric_flogiacc_comp, fabric,
1222 struct bfa_fcs_fabric_s *fabric = cbarg;
1224 bfa_trc(fabric->fcs, status);
1229 * @param[in] fabric - fabric
1235 bfa_fcs_auth_finished(struct bfa_fcs_fabric_s *fabric, enum auth_status status)
1237 bfa_trc(fabric->fcs, status);
1240 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_AUTH_SUCCESS);
1242 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_AUTH_FAILED);
1271 * @param[in] fabric - fabric
1272 * @param[in] wwn_t - new fabric name
1277 bfa_fcs_fabric_set_fabric_name(struct bfa_fcs_fabric_s *fabric,
1280 bfa_trc(fabric->fcs, fabric_name);
1282 if (fabric->fabric_name == 0) {
1285 * Don't generate a fabric name change event in this case.
1287 fabric->fabric_name = fabric_name;
1289 fabric->fabric_name = fabric_name;
1293 bfa_fcs_fabric_aen_post(&fabric->bport,
1301 * @param[in] fabric - fabric
1311 fcs->fabric.bport.port_cfg.sym_name.symname,