mptcpd
Multipath TCP Daemon
|
Kernel-side MPTCP path management netlink commands. More...
#include <path_manager.h>
Private Attributes | |
int(* | add_addr )(struct mptcpd_pm *pm, struct sockaddr const *addr, mptcpd_aid_t id, uint32_t flags, int index) |
Advertise new network address to peers. | |
int(* | remove_addr )(struct mptcpd_pm *pm, mptcpd_aid_t address_id) |
Stop advertising network address to peers. | |
Server-oriented Path Management Commands | |
Server-oriented path management commands supported by the upstream Linux kernel. Path management is handled by the kernel. | |
int(* | get_addr )(struct mptcpd_pm *pm, mptcpd_aid_t id, mptcpd_kpm_get_addr_cb_t callback, void *data, mptcpd_complete_func_t complete) |
Get network address corresponding to an address ID. | |
int(* | dump_addrs )(struct mptcpd_pm *pm, mptcpd_kpm_get_addr_cb_t callback, void *data, mptcpd_complete_func_t complete) |
Dump list of network addresses. | |
int(* | flush_addrs )(struct mptcpd_pm *pm) |
Flush MPTCP addresses. | |
int(* | set_limits )(struct mptcpd_pm *pm, struct mptcpd_limit const *limits, size_t len) |
Set MPTCP resource limits. | |
int(* | get_limits )(struct mptcpd_pm *pm, mptcpd_pm_get_limits_cb callback, void *data) |
Get MPTCP resource limits. | |
int(* | set_flags )(struct mptcpd_pm *pm, struct sockaddr const *addr, mptcpd_flags_t flags) |
Set MPTCP flags for a local IP address. | |
Kernel-side MPTCP path management netlink commands.
The set of functions that implement MPTCP path management generic netlink command calls for the in-kernel path manager.
|
private |
Advertise new network address to peers.
[in] | pm | The mptcpd path manager object. |
[in] | addr | Local IP address and port to be advertised through the MPTCP protocol ADD_ADDR option. The port is optional, and is ignored if it is zero. |
[in] | id | MPTCP local address ID. |
[in] | flags | |
[in] | index | Network interface index (optional). |
0
if operation was successful. -1 or errno
otherwise.
|
private |
Dump list of network addresses.
[in] | pm | The mptcpd path manager object. |
[in] | callback | Function to be called when a dump of network addresses has been retrieved. This function will be called when each address dump is available, or possibly not at all. |
[in] | data | Data to be passed to the callback function. |
[in] | complete | Function called when the asynchronous dump_addrs call completes. |
0
if operation was successful. -1 or errno
otherwise.
|
private |
Flush MPTCP addresses.
Purge all MPTCP addresses.
[in] | pm | The mptcpd path manager object. |
0
if operation was successful. -1 or errno
otherwise.
|
private |
Get network address corresponding to an address ID.
[in] | pm | The mptcpd path manager object. |
[in] | id | MPTCP local address ID. |
[in] | callback | Function to be called when the network address corresponding to the given MPTCP address id has been retrieved. |
[in] | data | Data to be passed to the callback function. |
[in] | complete | Function called when the asynchronous get_addr call completes. |
0
if operation was successful. -1 or errno
otherwise.
|
private |
Get MPTCP resource limits.
[in] | pm | The mptcpd path manager object. |
[in] | callback | Function to be called when the MPTCP resource limits have been retrieved. |
[in] | data | Data to be passed to the callback function. |
0
if operation was successful. -1 or errno
otherwise.
|
private |
Stop advertising network address to peers.
[in] | pm | The mptcpd path manager object. |
[in] | address_id | MPTCP local address ID. |
0
if operation was successful. -1 or errno
otherwise.
|
private |
Set MPTCP flags for a local IP address.
[in] | pm | The mptcpd path manager object. |
[in] | addr | Local IP address information. |
[in] | flags | Flags to be associated with addr. |
0
if operation was successful. -1 or errno
otherwise.
|
private |
Set MPTCP resource limits.
[in] | pm | The mptcpd path manager object. |
[in] | limits | Array of MPTCP resource type/limit pairs. |
[in] | len | Length of the limits array. |
0
if operation was successful. -1 or errno
otherwise.