Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 86e32dab authored by Krishna Gudipati's avatar Krishna Gudipati Committed by James Bottomley
Browse files

[SCSI] bfa: Fix to copy fpma MAC when requested by user space application.



Copy fpma MAC when requested by user space application.  Added FPMA
mac address to the lport attributes structure.

Signed-off-by: default avatarKrishna Gudipati <kgudipat@brocade.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
parent 72041ed8
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -936,8 +936,13 @@ bfa_fcs_port_get_attr(struct bfa_fcs_port_s *port,
		       bfa_fcs_port_get_fabric_ipaddr(port),
		       BFA_FCS_FABRIC_IPADDR_SZ);

		if (port->vport != NULL)
		if (port->vport != NULL) {
			port_attr->port_type = BFA_PPORT_TYPE_VPORT;
			port_attr->fpma_mac =
				bfa_lps_get_lp_mac(port->vport->lps);
		} else
			port_attr->fpma_mac =
				bfa_lps_get_lp_mac(port->fabric->lps);

	} else {
		port_attr->port_type = BFA_PPORT_TYPE_UNKNOWN;
+10 −2
Original line number Diff line number Diff line
@@ -613,9 +613,9 @@ bfa_lps_get_max_vport(struct bfa_s *bfa)
	bfa_get_attr(bfa, &ioc_attr);

	if (ioc_attr.pci_attr.device_id == BFA_PCI_DEVICE_ID_CT)
		return (BFA_LPS_MAX_VPORTS_SUPP_CT);
		return BFA_LPS_MAX_VPORTS_SUPP_CT;
	else
		return (BFA_LPS_MAX_VPORTS_SUPP_CB);
		return BFA_LPS_MAX_VPORTS_SUPP_CB;
}

/**
@@ -837,6 +837,14 @@ bfa_lps_get_lsrjt_expl(struct bfa_lps_s *lps)
	return lps->lsrjt_expl;
}

/**
 * Return fpma/spma MAC for lport
 */
struct mac_s
bfa_lps_get_lp_mac(struct bfa_lps_s *lps)
{
	return lps->lp_mac;
}

/**
 * LPS firmware message class handler.
+1 −0
Original line number Diff line number Diff line
@@ -316,6 +316,7 @@ wwn_t bfa_lps_get_peer_pwwn(struct bfa_lps_s *lps);
wwn_t bfa_lps_get_peer_nwwn(struct bfa_lps_s *lps);
u8 bfa_lps_get_lsrjt_rsn(struct bfa_lps_s *lps);
u8 bfa_lps_get_lsrjt_expl(struct bfa_lps_s *lps);
mac_t bfa_lps_get_lp_mac(struct bfa_lps_s *lps);
void bfa_cb_lps_flogi_comp(void *bfad, void *uarg, bfa_status_t status);
void bfa_cb_lps_flogo_comp(void *bfad, void *uarg);
void bfa_cb_lps_fdisc_comp(void *bfad, void *uarg, bfa_status_t status);
+3 −1
Original line number Diff line number Diff line
@@ -185,6 +185,8 @@ struct bfa_port_attr_s {
	wwn_t		fabric_name; /*  attached switch's nwwn */
	u8		fabric_ip_addr[BFA_FCS_FABRIC_IPADDR_SZ]; /*  attached
							* fabric's ip addr */
	struct mac_s    fpma_mac;	/*  Lport's FPMA Mac address */
	u16     authfail;		/*  auth failed state */
};

/**
@@ -235,7 +237,7 @@ struct bfa_port_aen_data_s {
	enum bfa_ioc_type_e ioc_type;
	wwn_t           pwwn;	      /*  WWN of the physical port */
	wwn_t           fwwn;	      /*  WWN of the fabric port */
	mac_t           mac;	      /*  MAC addres of the ethernet port,
	mac_t           mac;	      /*  MAC address of the ethernet port,
				       * applicable to CNA port only */
	int             phy_port_num; /*! For SFP related events */
	enum bfa_port_aen_sfp_pom level; /*  Only transitions will