DOCA Communication Channel API
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
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:
|Docab Service||DOCA service name used in the DPU side.|
|Uds Service||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 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