DOCA Communication Channel API allows developers to write client applications running on Windows native hosts or Windows Virtual Machines to exchange messages with service applications running on BlueField-2 DPU.
This feature is supported only when NVIDIA BlueField-2 DPU is in Ethernet mode.
To change the port to the ETH mode:
mlxconfig -d mt41686_pciconf0 s LINK_TYPE_P1=2
This feature is supported only when NVIDIA BlueField-2 DPU is Embedded CPU Function Ownership mode.
To change to the Embedded CPU Function Ownership:
mlxconfig -d mt41686_pciconf0 s INTERNAL_CPU_MODEL=1
mlxfwreset -d mt41686_pciconf0 r
The following are the dependencies required to enable DOCA Communication Channel API:
DOCA Socket Relay is a user application that enables the user to create a bridge between AF_UNIX based applications in the host and the AF_UNIX service that was installed on the DPU.
The following are the application's parameters:
DOCA service name used in the DPU side.
UDS service name used on the UDS side.
The number of connection attempts to create that UDS channel (one per second);
Default value of "Connection Retry" is infinity.
The number of send attempts via the DOCA channel.
Default value of "Send Retry" is 100.
The message size used with the DOCA communication channel.
Note: This value must be the same for both communication channels - server/client (the value is in KB).
Default value: 64.
The maximum queue size of the DOCA channel.
Default value: 20.
The below is a running example:
doca_socket_relay --doca_name “doca_service” --uds_name “c:\customer\uds_service” --conn_retry
The DOCA tool can be found at: <installation_directory>\Doca Tools\doca_socket_relay.exe