mptcpd
Multipath TCP Daemon
|
mptcpd private plugin interface. More...
Go to the source code of this file.
Functions | |
MPTCP Path Manager Generic Netlink Event Handlers | |
MPTCPD_API bool | mptcpd_plugin_load (char const *dir, char const *default_name, struct l_queue const *plugins_to_load, struct mptcpd_pm *pm) |
Load mptcpd plugins. | |
MPTCPD_API void | mptcpd_plugin_unload (struct mptcpd_pm *pm) |
Unload mptcpd plugins. | |
MPTCPD_API void | mptcpd_plugin_new_connection (char const *name, mptcpd_token_t token, struct sockaddr const *laddr, struct sockaddr const *raddr, bool server_side, struct mptcpd_pm *pm) |
Notify plugin of new MPTCP connection pending completion. | |
MPTCPD_API void | mptcpd_plugin_connection_established (mptcpd_token_t token, struct sockaddr const *laddr, struct sockaddr const *raddr, bool server_side, struct mptcpd_pm *pm) |
Notify plugin of MPTCP connection completion. | |
MPTCPD_API void | mptcpd_plugin_connection_closed (mptcpd_token_t token, struct mptcpd_pm *pm) |
Notify plugin of MPTCP connection closure. | |
MPTCPD_API void | mptcpd_plugin_new_address (mptcpd_token_t token, mptcpd_aid_t id, struct sockaddr const *addr, struct mptcpd_pm *pm) |
Notify plugin of new address advertised by a peer. | |
MPTCPD_API void | mptcpd_plugin_address_removed (mptcpd_token_t token, mptcpd_aid_t id, struct mptcpd_pm *pm) |
Notify plugin of address no longer advertised by a peer. | |
MPTCPD_API void | mptcpd_plugin_new_subflow (mptcpd_token_t token, struct sockaddr const *laddr, struct sockaddr const *raddr, bool backup, struct mptcpd_pm *pm) |
Notify plugin that a peer has joined the MPTCP connection. | |
MPTCPD_API void | mptcpd_plugin_subflow_closed (mptcpd_token_t token, struct sockaddr const *laddr, struct sockaddr const *raddr, bool backup, struct mptcpd_pm *pm) |
Notify plugin of MPTCP subflow closure. | |
MPTCPD_API void | mptcpd_plugin_subflow_priority (mptcpd_token_t token, struct sockaddr const *laddr, struct sockaddr const *raddr, bool backup, struct mptcpd_pm *pm) |
Notify plugin of MPTCP subflow priority change. | |
MPTCPD_API void | mptcpd_plugin_listener_created (char const *name, struct sockaddr const *laddr, struct mptcpd_pm *pm) |
Notify plugin of MPTCP listener creation. | |
MPTCPD_API void | mptcpd_plugin_listener_closed (char const *name, struct sockaddr const *laddr, struct mptcpd_pm *pm) |
Notify plugin of MPTCP listener closure. | |
Network Monitor Event Handlers | |
A set of operations that dispatch mptcpd network monitor events to all registered plugins.
| |
MPTCPD_API void | mptcpd_plugin_new_interface (struct mptcpd_interface const *i, void *pm) |
Notify plugin of new network interface. | |
MPTCPD_API void | mptcpd_plugin_update_interface (struct mptcpd_interface const *i, void *pm) |
Notify plugin of updated network interface. | |
MPTCPD_API void | mptcpd_plugin_delete_interface (struct mptcpd_interface const *i, void *pm) |
Notify plugin of removed network interface. | |
MPTCPD_API void | mptcpd_plugin_new_local_address (struct mptcpd_interface const *i, struct sockaddr const *sa, void *pm) |
Notify plugin of new network address. | |
MPTCPD_API void | mptcpd_plugin_delete_local_address (struct mptcpd_interface const *i, struct sockaddr const *sa, void *pm) |
Notify plugin of removed network address. | |
mptcpd private plugin interface.
Copyright (c) 2017-2022, Intel Corporation
MPTCPD_API void mptcpd_plugin_address_removed | ( | mptcpd_token_t | token, |
mptcpd_aid_t | id, | ||
struct mptcpd_pm * | pm | ||
) |
Notify plugin of address no longer advertised by a peer.
[in] | token | MPTCP connection token. |
[in] | id | Remote address identifier. |
[in] | pm | Opaque pointer to mptcpd path manager object. |
MPTCPD_API void mptcpd_plugin_connection_closed | ( | mptcpd_token_t | token, |
struct mptcpd_pm * | pm | ||
) |
Notify plugin of MPTCP connection closure.
[in] | token | MPTCP connection token. |
[in] | pm | Opaque pointer to mptcpd path manager object. |
MPTCPD_API void mptcpd_plugin_connection_established | ( | mptcpd_token_t | token, |
struct sockaddr const * | laddr, | ||
struct sockaddr const * | raddr, | ||
bool | server_side, | ||
struct mptcpd_pm * | pm | ||
) |
Notify plugin of MPTCP connection completion.
[in] | token | MPTCP connection token. |
[in] | laddr | Local address information. |
[in] | raddr | Remote address information. |
[in] | server_side | Server side connection flag. |
[in] | pm | Opaque pointer to mptcpd path manager object. |
MPTCPD_API void mptcpd_plugin_delete_interface | ( | struct mptcpd_interface const * | i, |
void * | pm | ||
) |
Notify plugin of removed network interface.
[in] | i | Network interface information. |
[in] | pm | Opaque pointer to mptcpd path manager object. |
MPTCPD_API void mptcpd_plugin_delete_local_address | ( | struct mptcpd_interface const * | i, |
struct sockaddr const * | sa, | ||
void * | pm | ||
) |
Notify plugin of removed network address.
[in] | i | Network interface information. |
[in] | sa | Network address information. |
[in] | pm | Opaque pointer to mptcpd path manager object. |
MPTCPD_API void mptcpd_plugin_listener_closed | ( | char const * | name, |
struct sockaddr const * | laddr, | ||
struct mptcpd_pm * | pm | ||
) |
Notify plugin of MPTCP listener closure.
[in] | laddr | Local address information. |
[in] | pm | Opaque pointer to mptcpd path manager object. |
MPTCPD_API void mptcpd_plugin_listener_created | ( | char const * | name, |
struct sockaddr const * | laddr, | ||
struct mptcpd_pm * | pm | ||
) |
Notify plugin of MPTCP listener creation.
[in] | laddr | Local address information. |
[in] | pm | Opaque pointer to mptcpd path manager object. |
MPTCPD_API bool mptcpd_plugin_load | ( | char const * | dir, |
char const * | default_name, | ||
struct l_queue const * | plugins_to_load, | ||
struct mptcpd_pm * | pm | ||
) |
Load mptcpd plugins.
[in] | dir | Directory from which plugins will be loaded. |
[in] | default_name | Name of plugin to be considered the default. |
[in] | plugins_to_load | List of plugins to be loaded. |
[in] | pm | Opaque pointer to mptcpd path manager object. |
true
on successful load, false
otherwise. Create map of connection token to path manager plugin.
unsigned
int
.unsigned
int
is a 32 bit type. MPTCPD_API void mptcpd_plugin_new_address | ( | mptcpd_token_t | token, |
mptcpd_aid_t | id, | ||
struct sockaddr const * | addr, | ||
struct mptcpd_pm * | pm | ||
) |
Notify plugin of new address advertised by a peer.
[in] | token | MPTCP connection token. |
[in] | id | Remote address identifier. |
[in] | addr | Remote address information. |
[in] | pm | Opaque pointer to mptcpd path manager object. |
MPTCPD_API void mptcpd_plugin_new_connection | ( | char const * | name, |
mptcpd_token_t | token, | ||
struct sockaddr const * | laddr, | ||
struct sockaddr const * | raddr, | ||
bool | server_side, | ||
struct mptcpd_pm * | pm | ||
) |
Notify plugin of new MPTCP connection pending completion.
[in] | name | Plugin name. |
[in] | token | MPTCP connection token. |
[in] | laddr | Local address information. |
[in] | raddr | Remote address information. |
[in] | server_side | Server side connection flag. |
[in] | pm | Opaque pointer to mptcpd path manager object. |
MPTCPD_API void mptcpd_plugin_new_interface | ( | struct mptcpd_interface const * | i, |
void * | pm | ||
) |
Notify plugin of new network interface.
[in] | i | Network interface information. |
[in] | pm | Opaque pointer to mptcpd path manager object. |
MPTCPD_API void mptcpd_plugin_new_local_address | ( | struct mptcpd_interface const * | i, |
struct sockaddr const * | sa, | ||
void * | pm | ||
) |
Notify plugin of new network address.
[in] | i | Network interface information. |
[in] | sa | Network address information. |
[in] | pm | Opaque pointer to mptcpd path manager object. |
MPTCPD_API void mptcpd_plugin_new_subflow | ( | mptcpd_token_t | token, |
struct sockaddr const * | laddr, | ||
struct sockaddr const * | raddr, | ||
bool | backup, | ||
struct mptcpd_pm * | pm | ||
) |
Notify plugin that a peer has joined the MPTCP connection.
[in] | token | MPTCP connection token. |
[in] | laddr | Local address information. |
[in] | raddr | Remote address information. |
[in] | backup | Backup priority flag. |
[in] | pm | Opaque pointer to mptcpd path manager object. |
MPTCPD_API void mptcpd_plugin_subflow_closed | ( | mptcpd_token_t | token, |
struct sockaddr const * | laddr, | ||
struct sockaddr const * | raddr, | ||
bool | backup, | ||
struct mptcpd_pm * | pm | ||
) |
Notify plugin of MPTCP subflow closure.
[in] | token | MPTCP connection token. |
[in] | laddr | Local address information. |
[in] | raddr | Remote address information. |
[in] | backup | Backup priority flag. |
[in] | pm | Opaque pointer to mptcpd path manager object. |
MPTCPD_API void mptcpd_plugin_subflow_priority | ( | mptcpd_token_t | token, |
struct sockaddr const * | laddr, | ||
struct sockaddr const * | raddr, | ||
bool | backup, | ||
struct mptcpd_pm * | pm | ||
) |
Notify plugin of MPTCP subflow priority change.
[in] | token | MPTCP connection token. |
[in] | laddr | Local address information. |
[in] | raddr | Remote address information. |
[in] | backup | Backup priority flag. |
[in] | pm | Opaque pointer to mptcpd path manager object. |
MPTCPD_API void mptcpd_plugin_unload | ( | struct mptcpd_pm * | pm | ) |
Unload mptcpd plugins.
[in] | pm | Opaque pointer to mptcpd path manager object. |
MPTCPD_API void mptcpd_plugin_update_interface | ( | struct mptcpd_interface const * | i, |
void * | pm | ||
) |
Notify plugin of updated network interface.
[in] | i | Network interface information. |
[in] | pm | Opaque pointer to mptcpd path manager object. |