CodeConstruct / mctp

MCTP userspace tools
GNU General Public License v2.0
33 stars 19 forks source link

MCTPd is not able to assign a EID in event of a conflict #19

Closed chaudhryusama closed 9 months ago

chaudhryusama commented 1 year ago

MCTPd is not able to setup the Endpoint when the device have a EID (previously assigned) which conflicts with EID of another device.

retry to SetupEndpoint: sd_bus_call: org.freedesktop.DBus.Error.FileExists: Endpoint claimed EID 23 which is already used
retry to SetupEndpoint: sd_bus_call: org.freedesktop.DBus.Error.FileExists: Endpoint claimed EID 23 which is already used
retry to SetupEndpoint: sd_bus_call: org.freedesktop.DBus.Error.FileExists: Endpoint claimed EID 23 which is already used
retry to SetupEndpoint: sd_bus_call: org.freedesktop.DBus.Error.Failed: MCTP Endpoint did not respond
retry to SetupEndpoint: sd_bus_call: org.freedesktop.DBus.Error.FileExists: Endpoint claimed EID 23 which is already used
fail to init MCTP endpoint: sd_bus_call: org.freedesktop.DBus.Error.FileExists: Endpoint claimed EID 23 which is already used

MCTPd should assign a different EID to the device if it helds a previous EID to avoid conflicting with other devices on same network.

jk-ozlabs commented 1 year ago

Thanks, checking this out.

jk-ozlabs commented 12 months ago

So I have a proposed fix in development:

https://github.com/CodeConstruct/mctp/commit/615ba29db3aefda3c4f38e6597ca1e57cede70dc

I'd like to get more testing done locally, but feel free to give this a try on your side if you like.

jk-ozlabs commented 10 months ago

Any updates from your testing? The patch now includes a testcase, which should match your use-case there. Let me know if you want to test, or I should merge now.

chaudhryusama commented 10 months ago

Didn't see the error and MCTPd was able to re-assign an unassigned EID in case of conflicting EID.