MCTP message is not responded when it's message size longer than 64bytes.
I'm trying to porting some services from Intel-BMC organization including nvmemi-daemon and mctpd for Eagle Stream Archer City Reference Platform, to communicate with storage devices in the backplane through out-of-band. Since I studied the platform, SMBUS from the backplane is connected to the BMC though the PCH, using PCH as a bridge which is transforming MCTP over SMBUS to-from MCTP over PCIe VDM.
AST2600 <==MCTP over PCIe VDM==> PCH and FPGA <==MCTP over SMBUS==> HSBP
Communication worked well with a short NVMe-MI command.
However, if I send a MCTP message longer than 64bytes, there is no response.
May 23 06:28:07 archercity mctpd-AC_Baseboard_2fMCTP_PCIe[480]: core: Generating packets for transmission of 72 byte message from 10 to 9
May 23 06:28:07 archercity mctpd-AC_Baseboard_2fMCTP_PCIe[480]: core: Enqueued 2 packets
May 23 06:28:07 archercity mctpd-AC_Baseboard_2fMCTP_PCIe[480]: astpcie: TX, len: 16, pad: 0
May 23 06:28:07 archercity mctpd-AC_Baseboard_2fMCTP_PCIe[480]: astpcie: >TX> 72 00 10 10 02 00 00 7F 49 00 1A B4 01 09 0A 88 84 10 00 00 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
May 23 06:28:07 archercity mctpd-AC_Baseboard_2fMCTP_PCIe[480]: astpcie: TX, len: 2, pad: 0
May 23 06:28:07 archercity mctpd-AC_Baseboard_2fMCTP_PCIe[480]: astpcie: >TX> 72 00 10 02 02 00 00 7F 49 00 1A B4 01 09 0A 58 00 00 00 00 D7 41 4A 4A
May 23 06:28:07 archercity nvme-mi[301]: getAdminGetFeaturesCQDWord0 request 0x84 0x10 0x00 0x00 0x0a 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xd7 0x41 0x4a 0x4a
At first, I thought that split MCTP packet might be a problem.
So, I changed the MTU size to 128 byte and 256 byte by fixing MTU size defines in libmctp-intel and aspeed-mctp driver in linux-aspeed.
But I couldn't get response neither.
May 24 08:22:00 archercity nvme-mi[299]: getAdminGetFeaturesCQDWord0 request 0x84 0x10 0x00 0x00 0x0a 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xd7 0x41 0x4a 0x4a
May 24 08:22:00 archercity mctpd-AC_Baseboard_2fMCTP_PCIe[515]: core: Generating packets for transmission of 72 byte message from 10 to 9
May 24 08:22:00 archercity mctpd-AC_Baseboard_2fMCTP_PCIe[515]: core: Enqueued 1 packets
May 24 08:22:00 archercity mctpd-AC_Baseboard_2fMCTP_PCIe[515]: astpcie: TX, len: 18, pad: 0
May 24 08:22:00 archercity mctpd-AC_Baseboard_2fMCTP_PCIe[515]: astpcie: >TX> 72 00 10 12 02 00 00 7F 49 00 1A B4 01 09 0A C8 84 10 00 00 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 D7 41 4A 4A
So, I stuck here.
If there is anyone that can share any information or hint to debug it, it would be really appreciated.