Revision tags: v0.11.0, v0.10.0, v0.9.1, v0.9.0 |
|
#
860a43d9 |
| 22-Aug-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
compiler: Provide LIBPLDM_CC_UNUSED
Ensure that we have __has_attribute available, and then further ensure that the unused attribute is provided. Once satisfied, define LIBPDLM_CC_UNUSED and replace
compiler: Provide LIBPLDM_CC_UNUSED
Ensure that we have __has_attribute available, and then further ensure that the unused attribute is provided. Once satisfied, define LIBPDLM_CC_UNUSED and replace raw use of __attribute__((unused)).
Change-Id: I2433039297d5fdedb8b8d99b30e73e4542d9069f Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
Revision tags: v0.8.0 |
|
#
b0c1d20a |
| 07-Nov-2023 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
libpldm: Fix header use
The headers need to work whether we're building libpldm in the repo or we're building another project depending on the headers in the system include directory.
Tidy up the p
libpldm: Fix header use
The headers need to work whether we're building libpldm in the repo or we're building another project depending on the headers in the system include directory.
Tidy up the paths involved and switch to defining the public headers as system headers for the purpose of the build.
Change-Id: I49413988c94d393ea5761bc4684edcd2c2482a98 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
691668fe |
| 01-Nov-2023 |
Patrick Williams <patrick@stwcx.xyz> |
license: add spdx identifier to all files
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ifddd07cc0eb5edeb2dcb410747073d68c6631cb1
|
#
7dc429da |
| 15-Oct-2023 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
transport: af-mctp: Stabilise pldm_transport_af_mctp_bind()
Use of pldm_transport_af_mctp_bind() is demonstrated in the following patch to pldmd:
https://gerrit.openbmc.org/c/openbmc/pldm/+/63652
transport: af-mctp: Stabilise pldm_transport_af_mctp_bind()
Use of pldm_transport_af_mctp_bind() is demonstrated in the following patch to pldmd:
https://gerrit.openbmc.org/c/openbmc/pldm/+/63652
Change-Id: I9c902d94c13bceb611606e7439964d9485ebec07 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
cc45aed7 |
| 10-Sep-2023 |
Andrew Jeffery <andrew@aj.id.au> |
transport: af-mctp: Add pldm_transport_af_mctp_bind()
The af-mctp transport needs specific setup before it can receive requests[1]. Futher, we must track the MCTP metadata on each request message an
transport: af-mctp: Add pldm_transport_af_mctp_bind()
The af-mctp transport needs specific setup before it can receive requests[1]. Futher, we must track the MCTP metadata on each request message and apply it to the response for correlation at the requester. This behaviour is addressed in the Message Tag and Tag Owner fields outlined by Table 1 of DSP0236 v1.3.1.
[1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/networking/mctp.rst?h=v6.5#n73
Change-Id: I3fbd84a4174b56d618a42ca58c9881ea5a80f060 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au> Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
show more ...
|
Revision tags: v0.7.0 |
|
#
0a6d6821 |
| 22-Aug-2023 |
Andrew Jeffery <andrew@aj.id.au> |
transport: Stabilise core transport and implementation APIs
The following two patches demonstrate their use in pldmd:
1. https://gerrit.openbmc.org/c/openbmc/pldm/+/63652 2. https://gerrit.openbmc.
transport: Stabilise core transport and implementation APIs
The following two patches demonstrate their use in pldmd:
1. https://gerrit.openbmc.org/c/openbmc/pldm/+/63652 2. https://gerrit.openbmc.org/c/openbmc/pldm/+/65676
In the process, deprecate the old requester APIs. These are unsuitable for OpenBMC going forward, which will rely on AF_MCTP sockets for the MCTP transport implementation.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I94a9d9ff5fc67d5d6cf9a2393ebef12fa7b277d7
show more ...
|
Revision tags: v0.6.0, v0.5.0 |
|
#
24576290 |
| 30-Jul-2023 |
Rashmica Gupta <rashmica@linux.ibm.com> |
transport: Generalise the pldm_transport_recv_msg() API
Currently pldm_transport_recv_msg() only works for requesters as the TID param is an input. Responders need the source TID of the message rece
transport: Generalise the pldm_transport_recv_msg() API
Currently pldm_transport_recv_msg() only works for requesters as the TID param is an input. Responders need the source TID of the message received so they know where to send the response.
The TID was being used to look up the EID mapped to the TID and failing the function call if it didn't match. This check doesn't need to happen at this level, and can be added in at the requester API level if required.
Make the TID param an output, and use the EID of the message to lookup the TID.
Change-Id: I671dbfe2d94a9ad8d77ea0ef150f1c744f928c53 Signed-off-by: Rashmica Gupta <rashmica@linux.ibm.com>
show more ...
|
#
7caa8af1 |
| 17-Aug-2023 |
Andrew Jeffery <andrew@aj.id.au> |
transport: af-mctp: Ensure malloc() succeeds in *_recv()
Avoid a potential NULL-pointer dereference - don't assume we're executing under Linux.
Fixes: ba6971b9ae69 ("requester: Add af_mctp transpor
transport: af-mctp: Ensure malloc() succeeds in *_recv()
Avoid a potential NULL-pointer dereference - don't assume we're executing under Linux.
Fixes: ba6971b9ae69 ("requester: Add af_mctp transport") Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: Ieb73ace2b981eb94b710000b25e8bed3a6e34e7e
show more ...
|
#
ac24737c |
| 17-Aug-2023 |
Andrew Jeffery <andrew@aj.id.au> |
transport: af-mctp: Assign out-params on success in *_recv()
More specifically, don't assign to out-params while it's possible we can fail.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id
transport: af-mctp: Assign out-params on success in *_recv()
More specifically, don't assign to out-params while it's possible we can fail.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: Ib848d1b363288e5f0b76885ff96500d09ddfc2bf
show more ...
|
#
2a6a342d |
| 17-Aug-2023 |
Andrew Jeffery <andrew@aj.id.au> |
transport: af-mctp: Organise variable declarations in *_recv()
Align more closely with kernel-style C where we can.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: Ic40d0801fbfd3fde4ad49
transport: af-mctp: Organise variable declarations in *_recv()
Align more closely with kernel-style C where we can.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: Ic40d0801fbfd3fde4ad4955903cb90265b6fe4b4
show more ...
|
#
f1ebde49 |
| 30-Jul-2023 |
Rashmica Gupta <rashmica@linux.ibm.com> |
transport: Fix doxygen and variables for send and recv functions
This was missed updated properly when making the transport functions work for both requesters and responders.
Fixes: c1b66f420912 ("
transport: Fix doxygen and variables for send and recv functions
This was missed updated properly when making the transport functions work for both requesters and responders.
Fixes: c1b66f420912 ("requester: Add new APIs to support multiple transports") Signed-off-by: Rashmica Gupta <rashmica@linux.ibm.com> Change-Id: Ie32f11a98ab1b11caaafbca5e837e1eda5c9cc37
show more ...
|
#
36402ffb |
| 16-Aug-2023 |
BonnieLo-wiwynn <Bonnie_Lo@wiwynn.com> |
transport: fix init_pollfd function parameter
The init_pollfd function parameter was declared as pldm_transport_af_mctp, but it seems like it is intended to use pldm_transport instead. The headers w
transport: fix init_pollfd function parameter
The init_pollfd function parameter was declared as pldm_transport_af_mctp, but it seems like it is intended to use pldm_transport instead. The headers were not included in c files, so it didn't cause conflicting types at compile time.
Change-Id: I54f1397efee0ae5e68a24f1473e0395f02d53eaf Fixes: c1b66f4 ("requester: Add new APIs to support multiple transports") Fixes: ba6971b ("requester: Add af_mctp transport") Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>
show more ...
|
#
b4cd5172 |
| 14-Aug-2023 |
Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com> |
transport: register init_pollfd callback for af-mctp
This was missed when initializing af-mctp.
Fixes: ba6971b9ae69 ("requester: Add af_mctp transport") Change-Id: Idf3589a2544ce277639e89359904112a
transport: register init_pollfd callback for af-mctp
This was missed when initializing af-mctp.
Fixes: ba6971b9ae69 ("requester: Add af_mctp transport") Change-Id: Idf3589a2544ce277639e89359904112aeae09073 Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>
show more ...
|
Revision tags: v0.4.0, v0.3.0 |
|
#
f89befe3 |
| 15-Jun-2023 |
Andrew Jeffery <andrew@aj.id.au> |
meson: Force inclusion of config.h via `-include`
Make sure there's no ambiguity about which config.h is used for includes in the event that libpldm acquires subprojects, or is used as a subproject
meson: Force inclusion of config.h via `-include`
Make sure there's no ambiguity about which config.h is used for includes in the event that libpldm acquires subprojects, or is used as a subproject itself.
Tested: `meson compile -C build` succeeds
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I08c3bdc807cc268d2401e06f0bfaee07f89ba534
show more ...
|
#
04273e9f |
| 16-Jun-2023 |
Rashmica Gupta <rashmica@linux.ibm.com> |
transports: Resize socket send buffer if needed
This was originally added in openbmc/pldm to make the socket send buffer big enough to send a message if the message is longer than the current send b
transports: Resize socket send buffer if needed
This was originally added in openbmc/pldm to make the socket send buffer big enough to send a message if the message is longer than the current send buffer size.
When you call set_sock_opt with buffer size X, given that X is within a certain range, the send buffer is actually set to 2*X. get_sock_opt returns the 2*X value, not X. So add in some helper functions.
Change-Id: I8ded9357db4268cd264cf0ecfb80479223106c09 Signed-off-by: Rashmica Gupta <rashmica@linux.ibm.com>
show more ...
|
#
9d2a1c6a |
| 04-Jun-2023 |
Andrew Jeffery <andrew@aj.id.au> |
libpldm: Explicit deprecated, stable and testing ABI classes
Experimenting with new APIs is important, but ABI stability of the library is also important. We wish to have the freedom to add APIs wit
libpldm: Explicit deprecated, stable and testing ABI classes
Experimenting with new APIs is important, but ABI stability of the library is also important. We wish to have the freedom to add APIs without being burdened by them being immediately set in stone.
We implement this wish by introducing three classes of ABI:
1. deprecated 2. stable 3. testing
These are enforced by corresponding function attributes:
1. LIBPLDM_ABI_DEPRECATED 2. LIBPLDM_ABI_STABLE 3. LIBPLDM_ABI_TESTING
Symbol visibility in the library is flipped to 'hidden' by default, so one of these annotations must be used for the symbol to be exposed.
With these classes in place there are now clear points in time at which we update the ABI dumps captured under the abi/ directory: When an API is migrated from the 'testing' class to the 'stable' class, or when removed from the 'deprecated' class.
Which classes of functions are exposed by the build is controlled by the new 'abi' meson option. The option is of array type which contains the list of ABI classes the build should consider. It defaults to enabling all classes to provide test coverage in CI. The classes used should be constrained to deprecated and stable (and not test) in any dependent projects.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I25402e20c7be9c9f264f9ccd7ac36b384823734c
show more ...
|
#
37dd6a3d |
| 12-May-2023 |
Andrew Jeffery <andrew@aj.id.au> |
clang-format: copy latest and re-format
clang-format-16 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest
clang-format: copy latest and re-format
clang-format-16 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest .clang-format from the docs repository[1] and reformat the repository.
[1] https://gerrit.openbmc.org/c/openbmc/docs/+/63441
Further, shift the fixup for C's `_Static_assert` into src/msgbuf.h to prevent a clang-tidy-16 error:
``` /data0/jenkins/workspace/ci-repository/openbmc/libpldm/src/msgbuf.h:315:2: error: '_Static_assert' is a C11 extension [clang-diagnostic-c11-extensions,-warnings-as-errors] _Static_assert(sizeof(*dst) == sizeof(ldst), ^ ```
And fix up the function prototype in the definition of `pldm_open()`:
``` ../src/requester/pldm.c:128:16: error: a function declaration without a prototype is deprecated in all versions of C [clang-diagnostic-strict-prototypes,-warnings-as-errors] void pldm_close() ^ void ```
Change-Id: I57b53f51914e39237e733d024e62ab41b3d306c1 Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
show more ...
|
Revision tags: v0.2.0 |
|
#
ba6971b9 |
| 08-Dec-2022 |
Rashmica Gupta <rashmica@linux.ibm.com> |
requester: Add af_mctp transport
Change-Id: I97641973fb85070876c11003a9758faa707f4a46 Signed-off-by: Rashmica Gupta <rashmica@linux.ibm.com>
|