Post by swetha on Aug 25, 2022 8:57:46 GMT
Hi,
My Name is Swetha and currently I was going through MCTP over SMBus spec sheet and code as well. I have a crisp understanding. From the spec (https://www.dmtf.org/sites/default/files/standards/documents/DSP0237_1.0.0.pdf page num 23) below the lines are a bit confusing.
Each device on SMBus/I2 C shall have a slave address to be the target of transactions by bus masters. The MCTP transport protocol solely utilizes Master Write transactions to transfer MCTP packets between MCTP endpoints. For endpoint "A" to send an MCTP packet to endpoint "B", endpoint A shall master the bus and issue a Block-Write transaction to the slave address of endpoint B. Similarly, for endpoint B to send an MCTP packet to endpoint A, it shall master the bus and issue a Block-Write transaction to the slave address of endpoint A. Thus, bi-directional transfer of MCTP packets requires that both sides of the communication have slave addresses.
I have below queries on above lines:
1. Is it like while sending response packet to end point 'A' from end point 'B', eid 'B' must acts as master to the bus ? or it can be slave to the bus but should initiate block write? Can you please help me understand this? I did not get proper pointers anywhere.
2. For example, For endpoint A, MCTP is a transport layer protocol which supports presentation layer protocols like PLDM to pass through. PLDM can send intermediate/async events to endpoint B at any point of time. If this is the case, endpoint A&B must be multi-masters to initiate the transfers. But what if endpoint A is only responding to commands posed by endpoint B. Why can't end point A can act as slave and endpoint B as master?
Thanks,
Swetha
My Name is Swetha and currently I was going through MCTP over SMBus spec sheet and code as well. I have a crisp understanding. From the spec (https://www.dmtf.org/sites/default/files/standards/documents/DSP0237_1.0.0.pdf page num 23) below the lines are a bit confusing.
Each device on SMBus/I2 C shall have a slave address to be the target of transactions by bus masters. The MCTP transport protocol solely utilizes Master Write transactions to transfer MCTP packets between MCTP endpoints. For endpoint "A" to send an MCTP packet to endpoint "B", endpoint A shall master the bus and issue a Block-Write transaction to the slave address of endpoint B. Similarly, for endpoint B to send an MCTP packet to endpoint A, it shall master the bus and issue a Block-Write transaction to the slave address of endpoint A. Thus, bi-directional transfer of MCTP packets requires that both sides of the communication have slave addresses.
I have below queries on above lines:
1. Is it like while sending response packet to end point 'A' from end point 'B', eid 'B' must acts as master to the bus ? or it can be slave to the bus but should initiate block write? Can you please help me understand this? I did not get proper pointers anywhere.
2. For example, For endpoint A, MCTP is a transport layer protocol which supports presentation layer protocols like PLDM to pass through. PLDM can send intermediate/async events to endpoint B at any point of time. If this is the case, endpoint A&B must be multi-masters to initiate the transfers. But what if endpoint A is only responding to commands posed by endpoint B. Why can't end point A can act as slave and endpoint B as master?
Thanks,
Swetha