ibm-openbmc / openbmc

https://github.com
Other
19 stars 51 forks source link

1040.00.ips: The Parent ID displayed for the CXP card in the NVMe expansion chassis (FC #ESR0) is incorrect #294

Closed ChicagoDuan closed 7 months ago

ChicagoDuan commented 1 year ago

In BMC Web->PCIe Topology, the Parent IDs displayed for the two CXP cards (with IDs 1408 and 1472) in the NVMe expansion chassis (FC #ESR0) are incorrect. Both are incorrectly shown as 75, whereas they should be 32 and 40, respectively. However, on the HMC side, the Parent IDs displayed in the PCIe Topology are correct.

id错误 id错误2

gtmills commented 1 year ago

Is the logic

                # Check for an upstream cable card
                if (cable.Links.DownstreamChassis):
                    # mex
                    if slot in cable.Links.DownStreamResource(PCIeSlots):   # DownstreamChassis instead for now 
                        expander_device = redfish_get_grandparent(cable.Links.UpstreamPorts) #cable card # Need to get the grandparent  (we are the fabric adapter with a link to the pcie device). Go to the PCIe Device. Go to the PCIe Slot and Get the LinkID. 

                        pcie_device = expander_device.Links.PCIeDevices[0]
                        expander_slots = pcie_device.Links.Oem.IBM.PcieSlot
                        for slot2 in expander_slots:
                           if slot2.Links.PCIeDevice == pcie_device:
                               # this slot has an upstream expander, so fix
                               # the link type and set the parent link
                               row["Link Type"] = "Secondary"
                               row["Parent Link ID"] = slot2.Oem.Ibm.LinkID
                               break
                        # there might be additional cable connections
                        # between this slot and the cable card but we
                        # have what we need for this slot, so quit
                        # iterating on cables.

                # Check for downstream slots (if this slot is an expander)

The GUI appears here to just be grabbing the first LinkId in the PCIeSlot array and not the correct one

                           if slot2.Links.PCIeDevice == pcie_device:
                               # this slot has an upstream expander, so fix
                               # the link type and set the parent link
                               row["Link Type"] = "Secondary"
                               row["Parent Link ID"] = slot2.Oem.Ibm.LinkID
                               break
gtmills commented 1 year ago

@Nikhil-Ashoka FYI

Nikhil-Ashoka commented 1 year ago

Okay, I will look into this issue.

mzipse commented 1 year ago

We are tracking this change to the backend and the GUI using internal defect 558040. Work still in progress.

mzipse commented 11 months ago

Fix is being worked here.... https://github.com/ibm-openbmc/webui-vue/pull/145

mzipse commented 11 months ago

Fix will be delivered in FW1050 for this.

mzipse commented 7 months ago

Fixed delivered. Please reopen and provide details if you feel this is not fixed.