MPTCP path management generic netlink command functions.
More...
#include <path_manager.h>
|
int(* | add_addr )(struct mptcpd_pm *pm, struct sockaddr *addr, mptcpd_aid_t id, mptcpd_token_t token, bool listener) |
| Advertise new network address to peers.
|
|
int(* | remove_addr )(struct mptcpd_pm *pm, struct sockaddr const *addr, mptcpd_aid_t id, mptcpd_token_t token) |
| Stop advertising network address to peers.
|
|
int(* | add_subflow )(struct mptcpd_pm *pm, mptcpd_token_t token, mptcpd_aid_t local_address_id, mptcpd_aid_t remote_address_id, struct sockaddr const *local_addr, struct sockaddr const *remote_addr, bool backup) |
| Create a new subflow.
|
|
int(* | remove_subflow )(struct mptcpd_pm *pm, mptcpd_token_t token, struct sockaddr const *local_addr, struct sockaddr const *remote_addr) |
| Remove a subflow.
|
|
int(* | set_backup )(struct mptcpd_pm *pm, mptcpd_token_t token, struct sockaddr const *local_addr, struct sockaddr const *remote_addr, bool backup) |
| Set priority of a subflow.
|
|
MPTCP path management generic netlink command functions.
The set of functions that implement client-oriented MPTCP path management generic netlink command calls where path management is performed in the user space.
◆ add_addr
Advertise new network address to peers.
- Parameters
-
[in] | pm | The mptcpd path manager object. |
[in,out] | addr | Local IP address and port to be advertised through the MPTCP protocol ADD_ADDR option. If the port is zero an ephemeral port will be chosen, and assigned to the appropriate underlying address family-specific port member, e.g. sin_port or sin6_port . The port will be in network byte order. If listener is not created, port zero will cause no port specification at protocol level. |
[in] | id | MPTCP local address ID. |
[in] | token | MPTCP connection token. |
[in] | listener | Create listener. |
- Returns
0
if operation was successful. -1 or errno
otherwise.
◆ add_subflow
Create a new subflow.
- Parameters
-
[in] | pm | The mptcpd path manager object. |
[in] | token | MPTCP connection token. |
[in] | local_address_id | MPTCP local address ID. |
[in] | remote_address_id | MPTCP remote address ID. |
[in] | local_addr | MPTCP subflow local address information, including the port. |
[in] | remote_addr | MPTCP subflow remote address information, including the port. |
[in] | backup | Whether or not to set the MPTCP subflow backup priority flag. |
- Returns
0
if operation was successful. -1 or errno
otherwise.
- Todo:
- There far too many parameters. Reduce.
◆ remove_addr
Stop advertising network address to peers.
- Parameters
-
[in] | pm | The mptcpd path manager object. |
[in] | addr | Local IP address and port that should no longer be advertised through MPTCP. |
[in] | id | MPTCP local address ID. |
[in] | token | MPTCP connection token. |
- Returns
0
if operation was successful. -1 or errno
otherwise.
◆ remove_subflow
int(* mptcpd_pm_cmd_ops::remove_subflow) (struct mptcpd_pm *pm, mptcpd_token_t token, struct sockaddr const *local_addr, struct sockaddr const *remote_addr) |
|
private |
Remove a subflow.
- Parameters
-
[in] | pm | The mptcpd path manager object. |
[in] | token | MPTCP connection token. |
[in] | local_addr | MPTCP subflow local address information, including the port. |
[in] | remote_addr | MPTCP subflow remote address information, including the port. |
- Returns
0
if operation was successful. errno
otherwise.
◆ set_backup
int(* mptcpd_pm_cmd_ops::set_backup) (struct mptcpd_pm *pm, mptcpd_token_t token, struct sockaddr const *local_addr, struct sockaddr const *remote_addr, bool backup) |
|
private |
Set priority of a subflow.
- Parameters
-
[in] | pm | The mptcpd path manager object. |
[in] | token | MPTCP connection token. |
[in] | local_addr | MPTCP subflow local address information, including the port. |
[in] | remote_addr | MPTCP subflow remote address information, including the port. |
[in] | backup | Whether or not to set the MPTCP subflow backup priority flag. |
- Returns
0
if operation was successful. errno
otherwise.
The documentation for this struct was generated from the following file: