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