Skip to content

Commit

Permalink
Adding support for asynchronous file transfer
Browse files Browse the repository at this point in the history
- File transfer between BMC and Host is synchronous mechanism.
- File transfer interrupted because of many reasons, so if
file transfer interrupted between BMC and Host then PLDM is
ending up in the hung state and not able to respond to the
upcoming new requests. User has to do work around to restart
the PLDM to get work again.
- I have added asynchronous file transfer support using
eventloop mechanism and non-blocking socket communication,
so file transfer will be taken care by event loop and PLDM
is free to receive another request from the Host.
- If file transfer will be stuck or interrupted during
asynchronous transfer then time-out occurs and file transfer
will be aborted and same status communicated to the Host.
  • Loading branch information
Patel-Kamalkumar committed Oct 6, 2023
2 parents 5f426bd + 924e026 commit 07cd485
Show file tree
Hide file tree
Showing 16 changed files with 903 additions and 101 deletions.
488 changes: 488 additions & 0 deletions oem/ibm/configurations/pdr/ibm,rainier-1s4u/11.json

Large diffs are not rendered by default.

304 changes: 304 additions & 0 deletions oem/ibm/configurations/pdr/ibm,rainier-1s4u/4.json
Original file line number Diff line number Diff line change
Expand Up @@ -639,6 +639,44 @@
}
]
},
{
"entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme0",
"sensors": [
{
"set": {
"id": 17,
"size": 1,
"states": [1, 2]
},
"dbus": {
"path": "/xyz/openbmc_project/led/groups/nvme0_identify",
"interface": "xyz.openbmc_project.Led.Group",
"property_name": "Asserted",
"property_type": "bool",
"property_values": [false, true]
}
}
]
},
{
"entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme1",
"sensors": [
{
"set": {
"id": 17,
"size": 1,
"states": [1, 2]
},
"dbus": {
"path": "/xyz/openbmc_project/led/groups/nvme1_identify",
"interface": "xyz.openbmc_project.Led.Group",
"property_name": "Asserted",
"property_type": "bool",
"property_values": [false, true]
}
}
]
},
{
"entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme2",
"sensors": [
Expand Down Expand Up @@ -715,6 +753,82 @@
}
]
},
{
"entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme6",
"sensors": [
{
"set": {
"id": 17,
"size": 1,
"states": [1, 2]
},
"dbus": {
"path": "/xyz/openbmc_project/led/groups/nvme6_identify",
"interface": "xyz.openbmc_project.Led.Group",
"property_name": "Asserted",
"property_type": "bool",
"property_values": [false, true]
}
}
]
},
{
"entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme7",
"sensors": [
{
"set": {
"id": 17,
"size": 1,
"states": [1, 2]
},
"dbus": {
"path": "/xyz/openbmc_project/led/groups/nvme7_identify",
"interface": "xyz.openbmc_project.Led.Group",
"property_name": "Asserted",
"property_type": "bool",
"property_values": [false, true]
}
}
]
},
{
"entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme0",
"sensors": [
{
"set": {
"id": 17,
"size": 1,
"states": [1, 2]
},
"dbus": {
"path": "/xyz/openbmc_project/led/groups/nvme8_identify",
"interface": "xyz.openbmc_project.Led.Group",
"property_name": "Asserted",
"property_type": "bool",
"property_values": [false, true]
}
}
]
},
{
"entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme1",
"sensors": [
{
"set": {
"id": 17,
"size": 1,
"states": [1, 2]
},
"dbus": {
"path": "/xyz/openbmc_project/led/groups/nvme9_identify",
"interface": "xyz.openbmc_project.Led.Group",
"property_name": "Asserted",
"property_type": "bool",
"property_values": [false, true]
}
}
]
},
{
"entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme2",
"sensors": [
Expand Down Expand Up @@ -791,6 +905,44 @@
}
]
},
{
"entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme6",
"sensors": [
{
"set": {
"id": 17,
"size": 1,
"states": [1, 2]
},
"dbus": {
"path": "/xyz/openbmc_project/led/groups/nvme14_identify",
"interface": "xyz.openbmc_project.Led.Group",
"property_name": "Asserted",
"property_type": "bool",
"property_values": [false, true]
}
}
]
},
{
"entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme7",
"sensors": [
{
"set": {
"id": 17,
"size": 1,
"states": [1, 2]
},
"dbus": {
"path": "/xyz/openbmc_project/led/groups/nvme15_identify",
"interface": "xyz.openbmc_project.Led.Group",
"property_name": "Asserted",
"property_type": "bool",
"property_values": [false, true]
}
}
]
},
{
"entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot6",
"sensors": [
Expand Down Expand Up @@ -1676,6 +1828,44 @@
}
]
},
{
"entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme0",
"sensors": [
{
"set": {
"id": 10,
"size": 1,
"states": [1, 2]
},
"dbus": {
"path": "/xyz/openbmc_project/led/groups/nvme0_fault",
"interface": "xyz.openbmc_project.Led.Group",
"property_name": "Asserted",
"property_type": "bool",
"property_values": [false, true]
}
}
]
},
{
"entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme1",
"sensors": [
{
"set": {
"id": 10,
"size": 1,
"states": [1, 2]
},
"dbus": {
"path": "/xyz/openbmc_project/led/groups/nvme1_fault",
"interface": "xyz.openbmc_project.Led.Group",
"property_name": "Asserted",
"property_type": "bool",
"property_values": [false, true]
}
}
]
},
{
"entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme2",
"sensors": [
Expand Down Expand Up @@ -1752,6 +1942,82 @@
}
]
},
{
"entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme6",
"sensors": [
{
"set": {
"id": 10,
"size": 1,
"states": [1, 2]
},
"dbus": {
"path": "/xyz/openbmc_project/led/groups/nvme6_fault",
"interface": "xyz.openbmc_project.Led.Group",
"property_name": "Asserted",
"property_type": "bool",
"property_values": [false, true]
}
}
]
},
{
"entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme7",
"sensors": [
{
"set": {
"id": 10,
"size": 1,
"states": [1, 2]
},
"dbus": {
"path": "/xyz/openbmc_project/led/groups/nvme7_fault",
"interface": "xyz.openbmc_project.Led.Group",
"property_name": "Asserted",
"property_type": "bool",
"property_values": [false, true]
}
}
]
},
{
"entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme0",
"sensors": [
{
"set": {
"id": 10,
"size": 1,
"states": [1, 2]
},
"dbus": {
"path": "/xyz/openbmc_project/led/groups/nvme8_fault",
"interface": "xyz.openbmc_project.Led.Group",
"property_name": "Asserted",
"property_type": "bool",
"property_values": [false, true]
}
}
]
},
{
"entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme1",
"sensors": [
{
"set": {
"id": 10,
"size": 1,
"states": [1, 2]
},
"dbus": {
"path": "/xyz/openbmc_project/led/groups/nvme9_fault",
"interface": "xyz.openbmc_project.Led.Group",
"property_name": "Asserted",
"property_type": "bool",
"property_values": [false, true]
}
}
]
},
{
"entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme2",
"sensors": [
Expand Down Expand Up @@ -1828,6 +2094,44 @@
}
]
},
{
"entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme6",
"sensors": [
{
"set": {
"id": 10,
"size": 1,
"states": [1, 2]
},
"dbus": {
"path": "/xyz/openbmc_project/led/groups/nvme14_fault",
"interface": "xyz.openbmc_project.Led.Group",
"property_name": "Asserted",
"property_type": "bool",
"property_values": [false, true]
}
}
]
},
{
"entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme7",
"sensors": [
{
"set": {
"id": 10,
"size": 1,
"states": [1, 2]
},
"dbus": {
"path": "/xyz/openbmc_project/led/groups/nvme15_fault",
"interface": "xyz.openbmc_project.Led.Group",
"property_name": "Asserted",
"property_type": "bool",
"property_values": [false, true]
}
}
]
},
{
"entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot6",
"sensors": [
Expand Down
Loading

0 comments on commit 07cd485

Please sign in to comment.