DOCA
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:
DevX Interface. To enable DevX Interface, please see section DevX Interface above.
SR-IOV enabled when using a Windows Virtual Machine. See section SR-IOV over Hyper-V.
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:
Parameter | Description |
Docab Service | DOCA service name used in the DPU side. |
Uds Service | UDS service name used on the UDS side. |
Connection Retry | The number of connection attempts to create that UDS channel (one per second); Default value of "Connection Retry" is infinity. |
Send Retry | The number of send attempts via the DOCA channel. Default value of "Send Retry" is 100. |
MessageSize | 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. |
Queue Size | 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 7
--send_retry 2
--msg_size 128
--que_size 24
The DOCA tool can be found at: <installation_directory>\Doca Tools\doca_socket_relay.exe