void            (*online) (struct bfa_fcs_lport_s *port);
        void            (*offline) (struct bfa_fcs_lport_s *port);
 } __port_action[] = {
-       {
-       bfa_fcs_lport_unknown_init, bfa_fcs_lport_unknown_online,
-                       bfa_fcs_lport_unknown_offline}, {
-       bfa_fcs_lport_fab_init, bfa_fcs_lport_fab_online,
-                       bfa_fcs_lport_fab_offline}, {
-       bfa_fcs_lport_n2n_init, bfa_fcs_lport_n2n_online,
-                       bfa_fcs_lport_n2n_offline}, {
-       bfa_fcs_lport_loop_init, bfa_fcs_lport_loop_online,
-                       bfa_fcs_lport_loop_offline},
-       };
+       [BFA_FCS_FABRIC_UNKNOWN] = {
+               .init = bfa_fcs_lport_unknown_init,
+               .online = bfa_fcs_lport_unknown_online,
+               .offline = bfa_fcs_lport_unknown_offline
+       },
+       [BFA_FCS_FABRIC_SWITCHED] = {
+               .init = bfa_fcs_lport_fab_init,
+               .online = bfa_fcs_lport_fab_online,
+               .offline = bfa_fcs_lport_fab_offline
+       },
+       [BFA_FCS_FABRIC_N2N] = {
+               .init = bfa_fcs_lport_n2n_init,
+               .online = bfa_fcs_lport_n2n_online,
+               .offline = bfa_fcs_lport_n2n_offline
+       },
+       [BFA_FCS_FABRIC_LOOP] = {
+               .init = bfa_fcs_lport_loop_init,
+               .online = bfa_fcs_lport_loop_online,
+               .offline = bfa_fcs_lport_loop_offline
+       },
+};
 
 /*
  *  fcs_port_sm FCS logical port state machine