MCTP control messages handling in libmctp

Wiktor Gołgowski wiktor.golgowski at
Sat Mar 21 05:21:26 AEDT 2020

Hi all, 

I am currently working on a base implementation for handling control

command requests in libmctp (relevant change here: [1]).  As I am not

sure which solution would be the best here, I would like to put a

quick summary of the different approaches that could be used for

further discussion on Monday PMCI WG meeting:

1. External handling (as Andrew proposes)

All control messages are handled in the layer calling into

libmctp. The daemon is in control of how messages are handled.

2. Separate handlers (what [1] introduces)

There are separate callbacks for regular messages, control messages and

transport-specific control messages. The main reason for this behavior

is that I expect transport-specific commands to be executed in the

context of the specific binding (serial, VDM, SMBus). I also hope that

the daemon could be at least partially binding-agnostic.

3. Handling is split between the caller and the library

We could identify control command requests that libmctp (or its

specific binding) is able to fulfill independently from the daemon

(for example Get EID) and leave the implementation of the rest to the

actual caller.

I hope we could find the best solution to implement. Looking forward

to the Monday meeting.




More information about the openbmc mailing list