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
