commit | 36af84cdbb660953d73804a12dfda056c3ac9b08 | [log] [tgz] |
---|---|---|
author | Rashmica Gupta <rashmica@linux.ibm.com> | Wed Apr 12 16:16:28 2023 +1000 |
committer | Andrew Jeffery <andrew@aj.id.au> | Fri Apr 21 04:11:06 2023 +0000 |
tree | 0cc7cf63828a47c6153bb7064cc8b19c71d2e069 | |
parent | 891781e945318290d657a621dd0ce592c0b43ddd [diff] [blame] |
requester: Add new APIs for instance ID allocation and freeing This patch starts the move of instance id handling into libpldm. Currently pldmd allocates instance ids, and exposes a DBus call for external apps to get instance ids. It relies on exploiting a behaviour of mctp-demux to reclaim used ids by monitoring all incoming PLDM responses. When moving to AF_MCTP, PLDM messages are not broadcast to all PLDM sockets, and so this method of reclaiming ids won't work automatically. As instance id handling is moving into libpldm eventually, we may as well do that now rather than adding an additional step to address this issue. So an allocate and free function for instance ids is added in this patch. As this implementation uses file locking, we have the feature of any ids belonging to a process that dies being automatically reclaimed into the id pool. Some context behind the file based range locking design for instance IDs can be found here: https://amboar.github.io/notes/2023/03/28/motivating-a-new-scheme-for-pldm-instance-id-management-in-openbmc.html and https://amboar.github.io/notes/2023/03/29/a-global-pldm-instance-id-allocator-for-libpldm.html Change-Id: Ia19870b1bcae9e614bda6e475b290faa0b327a73 Signed-off-by: Rashmica Gupta <rashmica@linux.ibm.com>
diff --git a/src/requester/meson.build b/src/requester/meson.build index 6798d02..663b607 100644 --- a/src/requester/meson.build +++ b/src/requester/meson.build
@@ -1,3 +1,4 @@ libpldm_sources += files( + 'instance-id.c', 'pldm.c' )