mptcpd
Multipath TCP Daemon
Loading...
Searching...
No Matches
Private Attributes | List of all members
mptcpd_pm_cmd_ops Struct Reference

MPTCP path management generic netlink command functions. More...

#include <path_manager.h>

Private Attributes

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.
 

Detailed Description

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.

Member Data Documentation

◆ add_addr

int(* mptcpd_pm_cmd_ops::add_addr) (struct mptcpd_pm *pm, struct sockaddr *addr, mptcpd_aid_t id, mptcpd_token_t token, bool listener)
private

Advertise new network address to peers.

Parameters
[in]pmThe mptcpd path manager object.
[in,out]addrLocal 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]idMPTCP local address ID.
[in]tokenMPTCP connection token.
[in]listenerCreate listener.
Returns
0 if operation was successful. -1 or errno otherwise.

◆ add_subflow

int(* mptcpd_pm_cmd_ops::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)
private

Create a new subflow.

Parameters
[in]pmThe mptcpd path manager object.
[in]tokenMPTCP connection token.
[in]local_address_idMPTCP local address ID.
[in]remote_address_idMPTCP remote address ID.
[in]local_addrMPTCP subflow local address information, including the port.
[in]remote_addrMPTCP subflow remote address information, including the port.
[in]backupWhether 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

int(* mptcpd_pm_cmd_ops::remove_addr) (struct mptcpd_pm *pm, struct sockaddr const *addr, mptcpd_aid_t id, mptcpd_token_t token)
private

Stop advertising network address to peers.

Parameters
[in]pmThe mptcpd path manager object.
[in]addrLocal IP address and port that should no longer be advertised through MPTCP.
[in]idMPTCP local address ID.
[in]tokenMPTCP 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]pmThe mptcpd path manager object.
[in]tokenMPTCP connection token.
[in]local_addrMPTCP subflow local address information, including the port.
[in]remote_addrMPTCP 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]pmThe mptcpd path manager object.
[in]tokenMPTCP connection token.
[in]local_addrMPTCP subflow local address information, including the port.
[in]remote_addrMPTCP subflow remote address information, including the port.
[in]backupWhether 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: