onload_socket_unicast_nonaccel

Onload User Guide (UG1586)

Document ID
UG1586
Release Date
2023-07-31
Revision
1.2 English

Description

Create a socket that will only accelerate multicast traffic. If this socket is not able to receive multicast, for example, because it is bound to a unicast local address, or it is a TCP socket, then it will be handed over to the kernel.

This function is useful for cases where a socket will be used solely for multicast traffic to avoid consuming limited filter table resource. This does not prevent unicast traffic from arriving at the socket, and if appropriate traffic is received, it will still be delivered via the unaccelerated path. It is most useful for sockets that are bound to INADDR_ANY, because for these Onload must install a filter per IP address that is configured on an accelerated interface, on each accelerated hardware port.

If a socket is bound to a multicast local address, then no unicast filters will be installed, so there is no need for this function.

Definition

int onload_socket_unicast_nonaccel(int domain, int type, int protocol)

Formal Parameters

This function takes arguments and returns values that correspond exactly to the standard socket() function call.

Return Value

Return the file descriptor that refers to the created endpoint.

-1 with errno ENOSYS if the Onload extensions library is not in use.