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: