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
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 70e8529..cedb362 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -25,6 +25,47 @@
 
 1. transport: Match specified metadata in pldm_transport_send_recv_msg()
 2. transport: mctp-demux: Drop ABI annotation for internal symbols
+3. transport: Stabilise core transport and implementation APIs
+
+   This stabilisation covers the following headers and functions:
+
+   - libpldm/transport.h
+
+     - pldm_transport_poll()
+     - pldm_transport_send_msg()
+     - pldm_transport_recv_msg()
+     - pldm_transport_send_recv_msg()
+
+   - libpldm/transport/af-mctp.h
+
+     - pldm_transport_af_mctp_init()
+     - pldm_transport_af_mctp_destroy()
+     - pldm_transport_af_mctp_core()
+     - pldm_transport_af_mctp_init_pollfd()
+     - pldm_transport_af_mctp_map_tid()
+     - pldm_transport_af_mctp_unmap_tid()
+
+   - libpldm/transport/mctp-demux.h
+     - pldm_transport_mctp_demux_init()
+     - pldm_transport_mctp_demux_destroy()
+     - pldm_transport_mctp_demux_core()
+     - pldm_transport_mctp_demux_init_pollfd()
+     - pldm_transport_mctp_demux_map_tid()
+     - pldm_transport_mctp_demux_unmap_tid()
+
+### Deprecated
+
+1. All the existing "requester" APIs from `libpldm/pldm.h` (also known as
+   `libpldm/requester/pldm.h`):
+
+   - pldm_open()
+   - pldm_send_recv()
+   - pldm_send()
+   - pldm_recv()
+   - pldm_recv_any()
+   - pldm_close()
+
+   Users should migrate to the newer "transport" APIs instead.
 
 ## [0.6.0] - 2023-08-22
 
diff --git a/abi/aarch64/gcc.dump b/abi/aarch64/gcc.dump
index 6c230b3..e6d301d 100644
--- a/abi/aarch64/gcc.dump
+++ b/abi/aarch64/gcc.dump
@@ -4,6 +4,7 @@
           'Arch' => 'AARCH64',
           'GccVersion' => '13.2.1',
           'Headers' => {
+                         'af-mctp.h' => 1,
                          'base.h' => 1,
                          'bios.h' => 1,
                          'bios_table.h' => 1,
@@ -12,10 +13,12 @@
                          'fru.h' => 1,
                          'host.h' => 1,
                          'instance-id.h' => 1,
+                         'mctp-demux.h' => 1,
                          'pdr.h' => 1,
                          'platform.h' => 1,
                          'platform_oem_ibm.h' => 1,
                          'pldm.h' => 1,
+                         'transport.h' => 1,
                          'utils.h' => 1
                        },
           'Language' => 'C',
@@ -72,6 +75,55 @@
                                          'Return' => '74',
                                          'ShortName' => 'encode_set_date_time_req'
                                        },
+                            '100429' => {
+                                          'Header' => 'mctp-demux.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'ctx',
+                                                                'type' => '92097'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'tid',
+                                                                'type' => '89858'
+                                                              },
+                                                       '2' => {
+                                                                'name' => 'eid',
+                                                                'type' => '91813'
+                                                              }
+                                                     },
+                                          'Return' => '74',
+                                          'ShortName' => 'pldm_transport_mctp_demux_unmap_tid'
+                                        },
+                            '100765' => {
+                                          'Header' => 'mctp-demux.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 't',
+                                                                'type' => '92139'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'pollfd',
+                                                                'type' => '94838'
+                                                              }
+                                                     },
+                                          'Return' => '74',
+                                          'ShortName' => 'pldm_transport_mctp_demux_init_pollfd'
+                                        },
+                            '105042' => {
+                                          'Header' => 'transport.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'transport',
+                                                                'type' => '92139'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'timeout',
+                                                                'type' => '74'
+                                                              }
+                                                     },
+                                          'Return' => '74',
+                                          'ShortName' => 'pldm_transport_poll'
+                                        },
                             '10505' => {
                                          'Header' => 'bios.h',
                                          'Param' => {
@@ -7141,6 +7193,135 @@
                                         'Return' => '74',
                                         'ShortName' => 'encode_get_bios_table_resp'
                                       },
+                            '92102' => {
+                                         'Header' => 'transport.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'transport',
+                                                               'type' => '92139'
+                                                             },
+                                                      '1' => {
+                                                               'name' => 'tid',
+                                                               'type' => '89858'
+                                                             },
+                                                      '2' => {
+                                                               'name' => 'pldm_msg',
+                                                               'type' => '1434'
+                                                             },
+                                                      '3' => {
+                                                               'name' => 'msg_len',
+                                                               'type' => '123'
+                                                             }
+                                                    },
+                                         'Return' => '91928',
+                                         'ShortName' => 'pldm_transport_send_msg'
+                                       },
+                            '92149' => {
+                                         'Header' => 'transport.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'transport',
+                                                               'type' => '92139'
+                                                             },
+                                                      '1' => {
+                                                               'name' => 'tid',
+                                                               'type' => '89858'
+                                                             },
+                                                      '2' => {
+                                                               'name' => 'pldm_req_msg',
+                                                               'type' => '1434'
+                                                             },
+                                                      '3' => {
+                                                               'name' => 'req_msg_len',
+                                                               'type' => '123'
+                                                             },
+                                                      '4' => {
+                                                               'name' => 'pldm_resp_msg',
+                                                               'type' => '16616'
+                                                             },
+                                                      '5' => {
+                                                               'name' => 'resp_msg_len',
+                                                               'type' => '8822'
+                                                             }
+                                                    },
+                                         'Return' => '91928',
+                                         'ShortName' => 'pldm_transport_send_recv_msg'
+                                       },
+                            '92206' => {
+                                         'Header' => 'mctp-demux.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'ctx',
+                                                               'type' => '92097'
+                                                             }
+                                                    },
+                                         'Return' => '1',
+                                         'ShortName' => 'pldm_transport_mctp_demux_destroy'
+                                       },
+                            '92243' => {
+                                         'Header' => 'transport.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'transport',
+                                                               'type' => '92139'
+                                                             },
+                                                      '1' => {
+                                                               'name' => 'tid',
+                                                               'type' => '92280'
+                                                             },
+                                                      '2' => {
+                                                               'name' => 'pldm_msg',
+                                                               'type' => '16616'
+                                                             },
+                                                      '3' => {
+                                                               'name' => 'msg_len',
+                                                               'type' => '8822'
+                                                             }
+                                                    },
+                                         'Return' => '91928',
+                                         'ShortName' => 'pldm_transport_recv_msg'
+                                       },
+                            '92285' => {
+                                         'Header' => 'mctp-demux.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'ctx',
+                                                               'type' => '92097'
+                                                             },
+                                                      '1' => {
+                                                               'name' => 'tid',
+                                                               'type' => '89858'
+                                                             },
+                                                      '2' => {
+                                                               'name' => 'eid',
+                                                               'type' => '91813'
+                                                             }
+                                                    },
+                                         'Return' => '74',
+                                         'ShortName' => 'pldm_transport_mctp_demux_map_tid'
+                                       },
+                            '92317' => {
+                                         'Header' => 'mctp-demux.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'ctx',
+                                                               'type' => '92097'
+                                                             }
+                                                    },
+                                         'Return' => '92139',
+                                         'ShortName' => 'pldm_transport_mctp_demux_core'
+                                       },
+                            '92361' => {
+                                         'Header' => 'mctp-demux.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'ctx',
+                                                               'type' => '92383'
+                                                             }
+                                                    },
+                                         'Return' => '74',
+                                         'ShortName' => 'pldm_transport_mctp_demux_init'
+                                       },
                             '92486' => {
                                          'Header' => 'pldm.h',
                                          'Param' => {
@@ -7292,6 +7473,81 @@
                                         'Return' => '74',
                                         'ShortName' => 'encode_set_date_time_resp'
                                       },
+                            '95801' => {
+                                         'Header' => 'af-mctp.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'ctx',
+                                                               'type' => '95884'
+                                                             }
+                                                    },
+                                         'Return' => '1',
+                                         'ShortName' => 'pldm_transport_af_mctp_destroy'
+                                       },
+                            '95889' => {
+                                         'Header' => 'af-mctp.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'ctx',
+                                                               'type' => '96112'
+                                                             }
+                                                    },
+                                         'Return' => '74',
+                                         'ShortName' => 'pldm_transport_af_mctp_init'
+                                       },
+                            '96822' => {
+                                         'Header' => 'af-mctp.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'ctx',
+                                                               'type' => '95884'
+                                                             },
+                                                      '1' => {
+                                                               'name' => 'tid',
+                                                               'type' => '89858'
+                                                             },
+                                                      '2' => {
+                                                               'name' => 'eid',
+                                                               'type' => '91813'
+                                                             }
+                                                    },
+                                         'Return' => '74',
+                                         'ShortName' => 'pldm_transport_af_mctp_unmap_tid'
+                                       },
+                            '96900' => {
+                                         'Header' => 'af-mctp.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'ctx',
+                                                               'type' => '95884'
+                                                             },
+                                                      '1' => {
+                                                               'name' => 'tid',
+                                                               'type' => '89858'
+                                                             },
+                                                      '2' => {
+                                                               'name' => 'eid',
+                                                               'type' => '91813'
+                                                             }
+                                                    },
+                                         'Return' => '74',
+                                         'ShortName' => 'pldm_transport_af_mctp_map_tid'
+                                       },
+                            '97158' => {
+                                         'Header' => 'af-mctp.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 't',
+                                                               'type' => '92139'
+                                                             },
+                                                      '1' => {
+                                                               'name' => 'pollfd',
+                                                               'type' => '94838'
+                                                             }
+                                                    },
+                                         'Return' => '74',
+                                         'ShortName' => 'pldm_transport_af_mctp_init_pollfd'
+                                       },
                             '9723' => {
                                         'Header' => 'bios.h',
                                         'Param' => {
@@ -7330,7 +7586,18 @@
                                                    },
                                         'Return' => '74',
                                         'ShortName' => 'decode_set_date_time_req'
-                                      }
+                                      },
+                            '97241' => {
+                                         'Header' => 'af-mctp.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'ctx',
+                                                               'type' => '95884'
+                                                             }
+                                                    },
+                                         'Return' => '92139',
+                                         'ShortName' => 'pldm_transport_af_mctp_core'
+                                       }
                           },
           'SymbolVersion' => {},
           'Symbols' => {
@@ -7634,6 +7901,22 @@
                                                  'pldm_recv_any' => 1,
                                                  'pldm_send' => 1,
                                                  'pldm_send_recv' => 1,
+                                                 'pldm_transport_af_mctp_core' => 1,
+                                                 'pldm_transport_af_mctp_destroy' => 1,
+                                                 'pldm_transport_af_mctp_init' => 1,
+                                                 'pldm_transport_af_mctp_init_pollfd' => 1,
+                                                 'pldm_transport_af_mctp_map_tid' => 1,
+                                                 'pldm_transport_af_mctp_unmap_tid' => 1,
+                                                 'pldm_transport_mctp_demux_core' => 1,
+                                                 'pldm_transport_mctp_demux_destroy' => 1,
+                                                 'pldm_transport_mctp_demux_init' => 1,
+                                                 'pldm_transport_mctp_demux_init_pollfd' => 1,
+                                                 'pldm_transport_mctp_demux_map_tid' => 1,
+                                                 'pldm_transport_mctp_demux_unmap_tid' => 1,
+                                                 'pldm_transport_poll' => 1,
+                                                 'pldm_transport_recv_msg' => 1,
+                                                 'pldm_transport_send_msg' => 1,
+                                                 'pldm_transport_send_recv_msg' => 1,
                                                  'unpack_pldm_header' => 1,
                                                  'ver2str' => 1
                                                }
@@ -9092,6 +9375,11 @@
                                        'Size' => '8',
                                        'Type' => 'Pointer'
                                      },
+                          '60' => {
+                                    'Name' => 'short',
+                                    'Size' => '2',
+                                    'Type' => 'Intrinsic'
+                                  },
                           '6048' => {
                                       'Header' => 'utils.h',
                                       'Line' => '18',
@@ -10004,6 +10292,253 @@
                                        'Size' => '4',
                                        'Type' => 'Typedef'
                                      },
+                          '92071' => {
+                                       'Header' => undef,
+                                       'Line' => '23',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'transport',
+                                                            'offset' => '0',
+                                                            'type' => '92144'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'socket',
+                                                            'offset' => '64',
+                                                            'type' => '74'
+                                                          },
+                                                   '2' => {
+                                                            'name' => 'tid_eid_map',
+                                                            'offset' => '68',
+                                                            'type' => '95445'
+                                                          },
+                                                   '3' => {
+                                                            'name' => 'socket_send_buf',
+                                                            'offset' => '768',
+                                                            'type' => '94587'
+                                                          }
+                                                 },
+                                       'Name' => 'struct pldm_transport_mctp_demux',
+                                       'PrivateABI' => 1,
+                                       'Size' => '312',
+                                       'Type' => 'Struct'
+                                     },
+                          '92097' => {
+                                       'BaseType' => '92071',
+                                       'Name' => 'struct pldm_transport_mctp_demux*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '92139' => {
+                                       'BaseType' => '92144',
+                                       'Name' => 'struct pldm_transport*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '92144' => {
+                                       'Header' => undef,
+                                       'Line' => '17',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'name',
+                                                            'offset' => '0',
+                                                            'type' => '12199'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'version',
+                                                            'offset' => '8',
+                                                            'type' => '168'
+                                                          },
+                                                   '2' => {
+                                                            'name' => 'recv',
+                                                            'offset' => '22',
+                                                            'type' => '94772'
+                                                          },
+                                                   '3' => {
+                                                            'name' => 'send',
+                                                            'offset' => '36',
+                                                            'type' => '94813'
+                                                          },
+                                                   '4' => {
+                                                            'name' => 'init_pollfd',
+                                                            'offset' => '50',
+                                                            'type' => '94894'
+                                                          }
+                                                 },
+                                       'Name' => 'struct pldm_transport',
+                                       'PrivateABI' => 1,
+                                       'Size' => '40',
+                                       'Type' => 'Struct'
+                                     },
+                          '92280' => {
+                                       'BaseType' => '89858',
+                                       'Name' => 'pldm_tid_t*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '92383' => {
+                                       'BaseType' => '92097',
+                                       'Name' => 'struct pldm_transport_mctp_demux**',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '94587' => {
+                                       'Header' => undef,
+                                       'Line' => '4',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'size',
+                                                            'offset' => '0',
+                                                            'type' => '74'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'socket',
+                                                            'offset' => '4',
+                                                            'type' => '74'
+                                                          },
+                                                   '2' => {
+                                                            'name' => 'max_size',
+                                                            'offset' => '8',
+                                                            'type' => '74'
+                                                          }
+                                                 },
+                                       'Name' => 'struct pldm_socket_sndbuf',
+                                       'PrivateABI' => 1,
+                                       'Size' => '12',
+                                       'Type' => 'Struct'
+                                     },
+                          '94772' => {
+                                       'Name' => 'pldm_requester_rc_t(*)(struct pldm_transport*, pldm_tid_t*, void**, size_t*)',
+                                       'Param' => {
+                                                    '0' => {
+                                                             'type' => '92139'
+                                                           },
+                                                    '1' => {
+                                                             'type' => '92280'
+                                                           },
+                                                    '2' => {
+                                                             'type' => '16616'
+                                                           },
+                                                    '3' => {
+                                                             'type' => '8822'
+                                                           }
+                                                  },
+                                       'Return' => '91928',
+                                       'Size' => '8',
+                                       'Type' => 'FuncPtr'
+                                     },
+                          '94813' => {
+                                       'Name' => 'pldm_requester_rc_t(*)(struct pldm_transport*, pldm_tid_t, void const*, size_t)',
+                                       'Param' => {
+                                                    '0' => {
+                                                             'type' => '92139'
+                                                           },
+                                                    '1' => {
+                                                             'type' => '89858'
+                                                           },
+                                                    '2' => {
+                                                             'type' => '1434'
+                                                           },
+                                                    '3' => {
+                                                             'type' => '123'
+                                                           }
+                                                  },
+                                       'Return' => '91928',
+                                       'Size' => '8',
+                                       'Type' => 'FuncPtr'
+                                     },
+                          '94838' => {
+                                       'BaseType' => '94843',
+                                       'Name' => 'struct pollfd*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '94843' => {
+                                       'Header' => undef,
+                                       'Line' => '36',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'fd',
+                                                            'offset' => '0',
+                                                            'type' => '74'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'events',
+                                                            'offset' => '4',
+                                                            'type' => '60'
+                                                          },
+                                                   '2' => {
+                                                            'name' => 'revents',
+                                                            'offset' => '6',
+                                                            'type' => '60'
+                                                          }
+                                                 },
+                                       'Name' => 'struct pollfd',
+                                       'PrivateABI' => 1,
+                                       'Size' => '8',
+                                       'Type' => 'Struct'
+                                     },
+                          '94894' => {
+                                       'Name' => 'int(*)(struct pldm_transport*, struct pollfd*)',
+                                       'Param' => {
+                                                    '0' => {
+                                                             'type' => '92139'
+                                                           },
+                                                    '1' => {
+                                                             'type' => '94838'
+                                                           }
+                                                  },
+                                       'Return' => '74',
+                                       'Size' => '8',
+                                       'Type' => 'FuncPtr'
+                                     },
+                          '95377' => {
+                                       'Header' => undef,
+                                       'Line' => '22',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'transport',
+                                                            'offset' => '0',
+                                                            'type' => '92144'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'socket',
+                                                            'offset' => '64',
+                                                            'type' => '74'
+                                                          },
+                                                   '2' => {
+                                                            'name' => 'tid_eid_map',
+                                                            'offset' => '68',
+                                                            'type' => '95445'
+                                                          },
+                                                   '3' => {
+                                                            'name' => 'socket_send_buf',
+                                                            'offset' => '768',
+                                                            'type' => '94587'
+                                                          }
+                                                 },
+                                       'Name' => 'struct pldm_transport_af_mctp',
+                                       'PrivateABI' => 1,
+                                       'Size' => '312',
+                                       'Type' => 'Struct'
+                                     },
+                          '95445' => {
+                                       'BaseType' => '89858',
+                                       'Name' => 'pldm_tid_t[256]',
+                                       'Size' => '256',
+                                       'Type' => 'Array'
+                                     },
+                          '95884' => {
+                                       'BaseType' => '95377',
+                                       'Name' => 'struct pldm_transport_af_mctp*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '96112' => {
+                                       'BaseType' => '95884',
+                                       'Name' => 'struct pldm_transport_af_mctp**',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
                           '969' => {
                                      'BaseType' => '890',
                                      'Name' => 'struct pldm_header_info const',
diff --git a/abi/x86_64/gcc.dump b/abi/x86_64/gcc.dump
index 5e4bd23..8392888 100644
--- a/abi/x86_64/gcc.dump
+++ b/abi/x86_64/gcc.dump
@@ -4,6 +4,7 @@
           'Arch' => 'x86_64',
           'GccVersion' => '13.2.0',
           'Headers' => {
+                         'af-mctp.h' => 1,
                          'base.h' => 1,
                          'bios.h' => 1,
                          'bios_table.h' => 1,
@@ -12,10 +13,12 @@
                          'fru.h' => 1,
                          'host.h' => 1,
                          'instance-id.h' => 1,
+                         'mctp-demux.h' => 1,
                          'pdr.h' => 1,
                          'platform.h' => 1,
                          'platform_oem_ibm.h' => 1,
                          'pldm.h' => 1,
+                         'transport.h' => 1,
                          'utils.h' => 1
                        },
           'Language' => 'C',
@@ -69,6 +72,49 @@
                                          'Return' => '74',
                                          'ShortName' => 'decode_set_date_time_req'
                                        },
+                            '101954' => {
+                                          'Header' => 'mctp-demux.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'ctx',
+                                                                'type' => '93498'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'tid',
+                                                                'type' => '91195'
+                                                              },
+                                                       '2' => {
+                                                                'name' => 'eid',
+                                                                'type' => '93214'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi',
+                                                     '1' => 'rsi',
+                                                     '2' => 'rdx'
+                                                   },
+                                          'Return' => '74',
+                                          'ShortName' => 'pldm_transport_mctp_demux_unmap_tid'
+                                        },
+                            '102268' => {
+                                          'Header' => 'mctp-demux.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 't',
+                                                                'type' => '93540'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'pollfd',
+                                                                'type' => '96292'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi',
+                                                     '1' => 'rsi'
+                                                   },
+                                          'Return' => '74',
+                                          'ShortName' => 'pldm_transport_mctp_demux_init_pollfd'
+                                        },
                             '10323' => {
                                          'Header' => 'bios.h',
                                          'Param' => {
@@ -115,6 +161,21 @@
                                          'Return' => '74',
                                          'ShortName' => 'encode_set_date_time_req'
                                        },
+                            '106653' => {
+                                          'Header' => 'transport.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'transport',
+                                                                'type' => '93540'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'timeout',
+                                                                'type' => '74'
+                                                              }
+                                                     },
+                                          'Return' => '74',
+                                          'ShortName' => 'pldm_transport_poll'
+                                        },
                             '10815' => {
                                          'Header' => 'bios.h',
                                          'Param' => {
@@ -7644,6 +7705,143 @@
                                          'Return' => '74',
                                          'ShortName' => 'pldm_instance_db_init'
                                        },
+                            '93503' => {
+                                         'Header' => 'transport.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'transport',
+                                                               'type' => '93540'
+                                                             },
+                                                      '1' => {
+                                                               'name' => 'tid',
+                                                               'type' => '91195'
+                                                             },
+                                                      '2' => {
+                                                               'name' => 'pldm_msg',
+                                                               'type' => '1434'
+                                                             },
+                                                      '3' => {
+                                                               'name' => 'msg_len',
+                                                               'type' => '123'
+                                                             }
+                                                    },
+                                         'Return' => '93329',
+                                         'ShortName' => 'pldm_transport_send_msg'
+                                       },
+                            '93550' => {
+                                         'Header' => 'transport.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'transport',
+                                                               'type' => '93540'
+                                                             },
+                                                      '1' => {
+                                                               'name' => 'tid',
+                                                               'type' => '91195'
+                                                             },
+                                                      '2' => {
+                                                               'name' => 'pldm_req_msg',
+                                                               'type' => '1434'
+                                                             },
+                                                      '3' => {
+                                                               'name' => 'req_msg_len',
+                                                               'type' => '123'
+                                                             },
+                                                      '4' => {
+                                                               'name' => 'pldm_resp_msg',
+                                                               'type' => '16964'
+                                                             },
+                                                      '5' => {
+                                                               'name' => 'resp_msg_len',
+                                                               'type' => '9084'
+                                                             }
+                                                    },
+                                         'Return' => '93329',
+                                         'ShortName' => 'pldm_transport_send_recv_msg'
+                                       },
+                            '93607' => {
+                                         'Header' => 'mctp-demux.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'ctx',
+                                                               'type' => '93498'
+                                                             }
+                                                    },
+                                         'Return' => '1',
+                                         'ShortName' => 'pldm_transport_mctp_demux_destroy'
+                                       },
+                            '93644' => {
+                                         'Header' => 'transport.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'transport',
+                                                               'type' => '93540'
+                                                             },
+                                                      '1' => {
+                                                               'name' => 'tid',
+                                                               'type' => '93681'
+                                                             },
+                                                      '2' => {
+                                                               'name' => 'pldm_msg',
+                                                               'type' => '16964'
+                                                             },
+                                                      '3' => {
+                                                               'name' => 'msg_len',
+                                                               'type' => '9084'
+                                                             }
+                                                    },
+                                         'Return' => '93329',
+                                         'ShortName' => 'pldm_transport_recv_msg'
+                                       },
+                            '93686' => {
+                                         'Header' => 'mctp-demux.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'ctx',
+                                                               'type' => '93498'
+                                                             },
+                                                      '1' => {
+                                                               'name' => 'tid',
+                                                               'type' => '91195'
+                                                             },
+                                                      '2' => {
+                                                               'name' => 'eid',
+                                                               'type' => '93214'
+                                                             }
+                                                    },
+                                         'Reg' => {
+                                                    '0' => 'rdi',
+                                                    '1' => 'rsi',
+                                                    '2' => 'rdx'
+                                                  },
+                                         'Return' => '74',
+                                         'ShortName' => 'pldm_transport_mctp_demux_map_tid'
+                                       },
+                            '93718' => {
+                                         'Header' => 'mctp-demux.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'ctx',
+                                                               'type' => '93498'
+                                                             }
+                                                    },
+                                         'Reg' => {
+                                                    '0' => 'rdi'
+                                                  },
+                                         'Return' => '93540',
+                                         'ShortName' => 'pldm_transport_mctp_demux_core'
+                                       },
+                            '93762' => {
+                                         'Header' => 'mctp-demux.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'ctx',
+                                                               'type' => '93784'
+                                                             }
+                                                    },
+                                         'Return' => '74',
+                                         'ShortName' => 'pldm_transport_mctp_demux_init'
+                                       },
                             '93887' => {
                                          'Header' => 'pldm.h',
                                          'Param' => {
@@ -7789,6 +7987,28 @@
                                          'Return' => '93329',
                                          'ShortName' => 'pldm_open'
                                        },
+                            '97255' => {
+                                         'Header' => 'af-mctp.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'ctx',
+                                                               'type' => '97338'
+                                                             }
+                                                    },
+                                         'Return' => '1',
+                                         'ShortName' => 'pldm_transport_af_mctp_destroy'
+                                       },
+                            '97343' => {
+                                         'Header' => 'af-mctp.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'ctx',
+                                                               'type' => '97567'
+                                                             }
+                                                    },
+                                         'Return' => '74',
+                                         'ShortName' => 'pldm_transport_af_mctp_init'
+                                       },
                             '9755' => {
                                         'Header' => 'bios.h',
                                         'Param' => {
@@ -7835,7 +8055,88 @@
                                                    },
                                         'Return' => '74',
                                         'ShortName' => 'encode_set_date_time_resp'
-                                      }
+                                      },
+                            '98322' => {
+                                         'Header' => 'af-mctp.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'ctx',
+                                                               'type' => '97338'
+                                                             },
+                                                      '1' => {
+                                                               'name' => 'tid',
+                                                               'type' => '91195'
+                                                             },
+                                                      '2' => {
+                                                               'name' => 'eid',
+                                                               'type' => '93214'
+                                                             }
+                                                    },
+                                         'Reg' => {
+                                                    '0' => 'rdi',
+                                                    '1' => 'rsi',
+                                                    '2' => 'rdx'
+                                                  },
+                                         'Return' => '74',
+                                         'ShortName' => 'pldm_transport_af_mctp_unmap_tid'
+                                       },
+                            '98395' => {
+                                         'Header' => 'af-mctp.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'ctx',
+                                                               'type' => '97338'
+                                                             },
+                                                      '1' => {
+                                                               'name' => 'tid',
+                                                               'type' => '91195'
+                                                             },
+                                                      '2' => {
+                                                               'name' => 'eid',
+                                                               'type' => '93214'
+                                                             }
+                                                    },
+                                         'Reg' => {
+                                                    '0' => 'rdi',
+                                                    '1' => 'rsi',
+                                                    '2' => 'rdx'
+                                                  },
+                                         'Return' => '74',
+                                         'ShortName' => 'pldm_transport_af_mctp_map_tid'
+                                       },
+                            '98636' => {
+                                         'Header' => 'af-mctp.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 't',
+                                                               'type' => '93540'
+                                                             },
+                                                      '1' => {
+                                                               'name' => 'pollfd',
+                                                               'type' => '96292'
+                                                             }
+                                                    },
+                                         'Reg' => {
+                                                    '0' => 'rdi',
+                                                    '1' => 'rsi'
+                                                  },
+                                         'Return' => '74',
+                                         'ShortName' => 'pldm_transport_af_mctp_init_pollfd'
+                                       },
+                            '98714' => {
+                                         'Header' => 'af-mctp.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'ctx',
+                                                               'type' => '97338'
+                                                             }
+                                                    },
+                                         'Reg' => {
+                                                    '0' => 'rdi'
+                                                  },
+                                         'Return' => '93540',
+                                         'ShortName' => 'pldm_transport_af_mctp_core'
+                                       }
                           },
           'SymbolVersion' => {},
           'Symbols' => {
@@ -8139,6 +8440,22 @@
                                                  'pldm_recv_any' => 1,
                                                  'pldm_send' => 1,
                                                  'pldm_send_recv' => 1,
+                                                 'pldm_transport_af_mctp_core' => 1,
+                                                 'pldm_transport_af_mctp_destroy' => 1,
+                                                 'pldm_transport_af_mctp_init' => 1,
+                                                 'pldm_transport_af_mctp_init_pollfd' => 1,
+                                                 'pldm_transport_af_mctp_map_tid' => 1,
+                                                 'pldm_transport_af_mctp_unmap_tid' => 1,
+                                                 'pldm_transport_mctp_demux_core' => 1,
+                                                 'pldm_transport_mctp_demux_destroy' => 1,
+                                                 'pldm_transport_mctp_demux_init' => 1,
+                                                 'pldm_transport_mctp_demux_init_pollfd' => 1,
+                                                 'pldm_transport_mctp_demux_map_tid' => 1,
+                                                 'pldm_transport_mctp_demux_unmap_tid' => 1,
+                                                 'pldm_transport_poll' => 1,
+                                                 'pldm_transport_recv_msg' => 1,
+                                                 'pldm_transport_send_msg' => 1,
+                                                 'pldm_transport_send_recv_msg' => 1,
                                                  'unpack_pldm_header' => 1,
                                                  'ver2str' => 1
                                                }
@@ -9597,6 +9914,11 @@
                                        'Size' => '8',
                                        'Type' => 'Pointer'
                                      },
+                          '60' => {
+                                    'Name' => 'short',
+                                    'Size' => '2',
+                                    'Type' => 'Intrinsic'
+                                  },
                           '6206' => {
                                       'Header' => 'utils.h',
                                       'Line' => '18',
@@ -10509,12 +10831,259 @@
                                        'Size' => '4',
                                        'Type' => 'Typedef'
                                      },
+                          '93472' => {
+                                       'Header' => undef,
+                                       'Line' => '23',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'transport',
+                                                            'offset' => '0',
+                                                            'type' => '93545'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'socket',
+                                                            'offset' => '64',
+                                                            'type' => '74'
+                                                          },
+                                                   '2' => {
+                                                            'name' => 'tid_eid_map',
+                                                            'offset' => '68',
+                                                            'type' => '96899'
+                                                          },
+                                                   '3' => {
+                                                            'name' => 'socket_send_buf',
+                                                            'offset' => '768',
+                                                            'type' => '96041'
+                                                          }
+                                                 },
+                                       'Name' => 'struct pldm_transport_mctp_demux',
+                                       'PrivateABI' => 1,
+                                       'Size' => '312',
+                                       'Type' => 'Struct'
+                                     },
+                          '93498' => {
+                                       'BaseType' => '93472',
+                                       'Name' => 'struct pldm_transport_mctp_demux*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '93540' => {
+                                       'BaseType' => '93545',
+                                       'Name' => 'struct pldm_transport*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '93545' => {
+                                       'Header' => undef,
+                                       'Line' => '17',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'name',
+                                                            'offset' => '0',
+                                                            'type' => '12552'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'version',
+                                                            'offset' => '8',
+                                                            'type' => '168'
+                                                          },
+                                                   '2' => {
+                                                            'name' => 'recv',
+                                                            'offset' => '22',
+                                                            'type' => '96226'
+                                                          },
+                                                   '3' => {
+                                                            'name' => 'send',
+                                                            'offset' => '36',
+                                                            'type' => '96267'
+                                                          },
+                                                   '4' => {
+                                                            'name' => 'init_pollfd',
+                                                            'offset' => '50',
+                                                            'type' => '96348'
+                                                          }
+                                                 },
+                                       'Name' => 'struct pldm_transport',
+                                       'PrivateABI' => 1,
+                                       'Size' => '40',
+                                       'Type' => 'Struct'
+                                     },
+                          '93681' => {
+                                       'BaseType' => '91195',
+                                       'Name' => 'pldm_tid_t*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '93784' => {
+                                       'BaseType' => '93498',
+                                       'Name' => 'struct pldm_transport_mctp_demux**',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '96041' => {
+                                       'Header' => undef,
+                                       'Line' => '4',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'size',
+                                                            'offset' => '0',
+                                                            'type' => '74'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'socket',
+                                                            'offset' => '4',
+                                                            'type' => '74'
+                                                          },
+                                                   '2' => {
+                                                            'name' => 'max_size',
+                                                            'offset' => '8',
+                                                            'type' => '74'
+                                                          }
+                                                 },
+                                       'Name' => 'struct pldm_socket_sndbuf',
+                                       'PrivateABI' => 1,
+                                       'Size' => '12',
+                                       'Type' => 'Struct'
+                                     },
+                          '96226' => {
+                                       'Name' => 'pldm_requester_rc_t(*)(struct pldm_transport*, pldm_tid_t*, void**, size_t*)',
+                                       'Param' => {
+                                                    '0' => {
+                                                             'type' => '93540'
+                                                           },
+                                                    '1' => {
+                                                             'type' => '93681'
+                                                           },
+                                                    '2' => {
+                                                             'type' => '16964'
+                                                           },
+                                                    '3' => {
+                                                             'type' => '9084'
+                                                           }
+                                                  },
+                                       'Return' => '93329',
+                                       'Size' => '8',
+                                       'Type' => 'FuncPtr'
+                                     },
+                          '96267' => {
+                                       'Name' => 'pldm_requester_rc_t(*)(struct pldm_transport*, pldm_tid_t, void const*, size_t)',
+                                       'Param' => {
+                                                    '0' => {
+                                                             'type' => '93540'
+                                                           },
+                                                    '1' => {
+                                                             'type' => '91195'
+                                                           },
+                                                    '2' => {
+                                                             'type' => '1434'
+                                                           },
+                                                    '3' => {
+                                                             'type' => '123'
+                                                           }
+                                                  },
+                                       'Return' => '93329',
+                                       'Size' => '8',
+                                       'Type' => 'FuncPtr'
+                                     },
+                          '96292' => {
+                                       'BaseType' => '96297',
+                                       'Name' => 'struct pollfd*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '96297' => {
+                                       'Header' => undef,
+                                       'Line' => '36',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'fd',
+                                                            'offset' => '0',
+                                                            'type' => '74'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'events',
+                                                            'offset' => '4',
+                                                            'type' => '60'
+                                                          },
+                                                   '2' => {
+                                                            'name' => 'revents',
+                                                            'offset' => '6',
+                                                            'type' => '60'
+                                                          }
+                                                 },
+                                       'Name' => 'struct pollfd',
+                                       'PrivateABI' => 1,
+                                       'Size' => '8',
+                                       'Type' => 'Struct'
+                                     },
+                          '96348' => {
+                                       'Name' => 'int(*)(struct pldm_transport*, struct pollfd*)',
+                                       'Param' => {
+                                                    '0' => {
+                                                             'type' => '93540'
+                                                           },
+                                                    '1' => {
+                                                             'type' => '96292'
+                                                           }
+                                                  },
+                                       'Return' => '74',
+                                       'Size' => '8',
+                                       'Type' => 'FuncPtr'
+                                     },
+                          '96831' => {
+                                       'Header' => undef,
+                                       'Line' => '22',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'transport',
+                                                            'offset' => '0',
+                                                            'type' => '93545'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'socket',
+                                                            'offset' => '64',
+                                                            'type' => '74'
+                                                          },
+                                                   '2' => {
+                                                            'name' => 'tid_eid_map',
+                                                            'offset' => '68',
+                                                            'type' => '96899'
+                                                          },
+                                                   '3' => {
+                                                            'name' => 'socket_send_buf',
+                                                            'offset' => '768',
+                                                            'type' => '96041'
+                                                          }
+                                                 },
+                                       'Name' => 'struct pldm_transport_af_mctp',
+                                       'PrivateABI' => 1,
+                                       'Size' => '312',
+                                       'Type' => 'Struct'
+                                     },
+                          '96899' => {
+                                       'BaseType' => '91195',
+                                       'Name' => 'pldm_tid_t[256]',
+                                       'Size' => '256',
+                                       'Type' => 'Array'
+                                     },
                           '969' => {
                                      'BaseType' => '890',
                                      'Name' => 'struct pldm_header_info const',
                                      'Size' => '8',
                                      'Type' => 'Const'
-                                   }
+                                   },
+                          '97338' => {
+                                       'BaseType' => '96831',
+                                       'Name' => 'struct pldm_transport_af_mctp*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '97567' => {
+                                       'BaseType' => '97338',
+                                       'Name' => 'struct pldm_transport_af_mctp**',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     }
                         },
           'UndefinedSymbols' => {
                                   'libpldm.so.0.6.0' => {
diff --git a/src/requester/pldm.c b/src/requester/pldm.c
index 5297947..30687b3 100644
--- a/src/requester/pldm.c
+++ b/src/requester/pldm.c
@@ -26,7 +26,7 @@
  */
 static struct pldm_transport_mctp_demux *open_transport;
 
-LIBPLDM_ABI_STABLE
+LIBPLDM_ABI_DEPRECATED
 pldm_requester_rc_t pldm_open(void)
 {
 	int fd = PLDM_REQUESTER_OPEN_FAIL;
@@ -94,7 +94,7 @@
 		break;                                                           \
 	} while (0)
 
-LIBPLDM_ABI_STABLE
+LIBPLDM_ABI_DEPRECATED
 pldm_requester_rc_t pldm_recv_any(mctp_eid_t eid, int mctp_fd,
 				  uint8_t **pldm_resp_msg, size_t *resp_msg_len)
 {
@@ -152,7 +152,7 @@
 	return rc;
 }
 
-LIBPLDM_ABI_STABLE
+LIBPLDM_ABI_DEPRECATED
 pldm_requester_rc_t pldm_recv(mctp_eid_t eid, int mctp_fd,
 			      __attribute__((unused)) uint8_t instance_id,
 			      uint8_t **pldm_resp_msg, size_t *resp_msg_len)
@@ -169,7 +169,7 @@
 	return rc;
 }
 
-LIBPLDM_ABI_STABLE
+LIBPLDM_ABI_DEPRECATED
 pldm_requester_rc_t pldm_send_recv(mctp_eid_t eid, int mctp_fd,
 				   const uint8_t *pldm_req_msg,
 				   size_t req_msg_len, uint8_t **pldm_resp_msg,
@@ -195,7 +195,7 @@
 	return rc;
 }
 
-LIBPLDM_ABI_STABLE
+LIBPLDM_ABI_DEPRECATED
 pldm_requester_rc_t pldm_send(mctp_eid_t eid, int mctp_fd,
 			      const uint8_t *pldm_req_msg, size_t req_msg_len)
 {
@@ -211,7 +211,7 @@
 
 /* Adding this here for completeness in the case we can't smoothly
  * transition apps over to the new api */
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_DEPRECATED
 void pldm_close(void)
 {
 	if (open_transport) {
diff --git a/src/transport/af-mctp.c b/src/transport/af-mctp.c
index d3f5882..ace2969 100644
--- a/src/transport/af-mctp.c
+++ b/src/transport/af-mctp.c
@@ -29,14 +29,14 @@
 #define transport_to_af_mctp(ptr)                                              \
 	container_of(ptr, struct pldm_transport_af_mctp, transport)
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 struct pldm_transport *
 pldm_transport_af_mctp_core(struct pldm_transport_af_mctp *ctx)
 {
 	return &ctx->transport;
 }
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 int pldm_transport_af_mctp_init_pollfd(struct pldm_transport *t,
 				       struct pollfd *pollfd)
 {
@@ -70,7 +70,7 @@
 	return -1;
 }
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 int pldm_transport_af_mctp_map_tid(struct pldm_transport_af_mctp *ctx,
 				   pldm_tid_t tid, mctp_eid_t eid)
 {
@@ -79,7 +79,7 @@
 	return 0;
 }
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 int pldm_transport_af_mctp_unmap_tid(struct pldm_transport_af_mctp *ctx,
 				     __attribute__((unused)) pldm_tid_t tid,
 				     mctp_eid_t eid)
@@ -169,7 +169,7 @@
 	return PLDM_REQUESTER_SUCCESS;
 }
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 int pldm_transport_af_mctp_init(struct pldm_transport_af_mctp **ctx)
 {
 	if (!ctx || *ctx) {
@@ -204,7 +204,7 @@
 	return 0;
 }
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 void pldm_transport_af_mctp_destroy(struct pldm_transport_af_mctp *ctx)
 {
 	if (!ctx) {
diff --git a/src/transport/mctp-demux.c b/src/transport/mctp-demux.c
index f9f11f0..8b35c0a 100644
--- a/src/transport/mctp-demux.c
+++ b/src/transport/mctp-demux.c
@@ -32,7 +32,7 @@
 #define transport_to_demux(ptr)                                                \
 	container_of(ptr, struct pldm_transport_mctp_demux, transport)
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 struct pldm_transport *
 pldm_transport_mctp_demux_core(struct pldm_transport_mctp_demux *ctx)
 {
@@ -66,7 +66,7 @@
 	return fd;
 }
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 int pldm_transport_mctp_demux_init_pollfd(struct pldm_transport *t,
 					  struct pollfd *pollfd)
 {
@@ -103,7 +103,7 @@
 	return -1;
 }
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 int pldm_transport_mctp_demux_map_tid(struct pldm_transport_mctp_demux *ctx,
 				      pldm_tid_t tid, mctp_eid_t eid)
 {
@@ -112,7 +112,7 @@
 	return 0;
 }
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 int pldm_transport_mctp_demux_unmap_tid(struct pldm_transport_mctp_demux *ctx,
 					__attribute__((unused)) pldm_tid_t tid,
 					mctp_eid_t eid)
@@ -232,7 +232,7 @@
 	return PLDM_REQUESTER_SUCCESS;
 }
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 int pldm_transport_mctp_demux_init(struct pldm_transport_mctp_demux **ctx)
 {
 	if (!ctx || *ctx) {
@@ -266,7 +266,7 @@
 	return 0;
 }
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 void pldm_transport_mctp_demux_destroy(struct pldm_transport_mctp_demux *ctx)
 {
 	if (!ctx) {
diff --git a/src/transport/transport.c b/src/transport/transport.c
index ee94091..f7dace5 100644
--- a/src/transport/transport.c
+++ b/src/transport/transport.c
@@ -29,7 +29,7 @@
 }
 #endif
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 int pldm_transport_poll(struct pldm_transport *transport, int timeout)
 {
 	struct pollfd pollfd;
@@ -57,7 +57,7 @@
 	return rc;
 }
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 pldm_requester_rc_t pldm_transport_send_msg(struct pldm_transport *transport,
 					    pldm_tid_t tid,
 					    const void *pldm_msg,
@@ -74,7 +74,7 @@
 	return transport->send(transport, tid, pldm_msg, msg_len);
 }
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 pldm_requester_rc_t pldm_transport_recv_msg(struct pldm_transport *transport,
 					    pldm_tid_t *tid, void **pldm_msg,
 					    size_t *msg_len)
@@ -140,7 +140,7 @@
 	return 0;
 }
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 pldm_requester_rc_t
 pldm_transport_send_recv_msg(struct pldm_transport *transport, pldm_tid_t tid,
 			     const void *pldm_req_msg, size_t req_msg_len,
diff --git a/tests/transport.cpp b/tests/transport.cpp
index 4427896..4d03574 100644
--- a/tests/transport.cpp
+++ b/tests/transport.cpp
@@ -5,7 +5,6 @@
 
 #include <gtest/gtest.h>
 
-#ifdef LIBPLDM_API_TESTING
 TEST(Transport, create)
 {
     struct pldm_transport_test* test = NULL;
@@ -14,9 +13,7 @@
     EXPECT_NE(pldm_transport_test_core(test), nullptr);
     pldm_transport_test_destroy(test);
 }
-#endif
 
-#ifdef LIBPLDM_API_TESTING
 TEST(Transport, send_one)
 {
     const uint8_t msg[] = {0x81, 0x00, 0x01, 0x01};
@@ -41,9 +38,7 @@
     EXPECT_EQ(rc, PLDM_REQUESTER_SUCCESS);
     pldm_transport_test_destroy(test);
 }
-#endif
 
-#ifdef LIBPLDM_API_TESTING
 TEST(Transport, recv_one)
 {
     uint8_t msg[] = {0x01, 0x00, 0x01, 0x00};
@@ -76,9 +71,7 @@
     free(recvd);
     pldm_transport_test_destroy(test);
 }
-#endif
 
-#ifdef LIBPLDM_API_TESTING
 TEST(Transport, send_recv_one)
 {
     uint8_t req[] = {0x81, 0x00, 0x01, 0x01};
@@ -126,9 +119,7 @@
     free(msg);
     pldm_transport_test_destroy(test);
 }
-#endif
 
-#ifdef LIBPLDM_API_TESTING
 TEST(Transport, send_recv_timeout)
 {
     uint8_t req[] = {0x81, 0x00, 0x01, 0x01};
@@ -163,9 +154,7 @@
     EXPECT_EQ(rc, PLDM_REQUESTER_RECV_FAIL);
     pldm_transport_test_destroy(test);
 }
-#endif
 
-#ifdef LIBPLDM_API_TESTING
 TEST(Transport, send_recv_unwanted)
 {
     uint8_t req[] = {0x81, 0x00, 0x01, 0x01};
@@ -218,9 +207,7 @@
     EXPECT_EQ(rc, PLDM_REQUESTER_RECV_FAIL);
     pldm_transport_test_destroy(test);
 }
-#endif
 
-#ifdef LIBPLDM_API_TESTING
 TEST(Transport, send_recv_drain_one_unwanted)
 {
     uint8_t unwanted[] = {0x01, 0x00, 0x01, 0x01};
@@ -270,9 +257,7 @@
     free(msg);
     pldm_transport_test_destroy(test);
 }
-#endif
 
-#ifdef LIBPLDM_API_TESTING
 TEST(Transport, send_recv_wrong_pldm_type)
 {
     uint8_t req[] = {0x81, 0x00, 0x01, 0x01};
@@ -325,9 +310,7 @@
     EXPECT_EQ(rc, PLDM_REQUESTER_RECV_FAIL);
     pldm_transport_test_destroy(test);
 }
-#endif
 
-#ifdef LIBPLDM_API_TESTING
 TEST(Transport, send_recv_wrong_command_code)
 {
     uint8_t req[] = {0x81, 0x00, 0x01, 0x01};
@@ -380,4 +363,3 @@
     EXPECT_EQ(rc, PLDM_REQUESTER_RECV_FAIL);
     pldm_transport_test_destroy(test);
 }
-#endif