History log of /openbmc/libpldm/src/transport/af-mctp.c (Results 1 – 18 of 18)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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>