10#ifndef MPTCPD_PRIVATE_PLUGIN_H
11#define MPTCPD_PRIVATE_PLUGIN_H
44 char const *default_name,
45 struct l_queue
const *plugins_to_load,
68 struct sockaddr
const *laddr,
69 struct sockaddr
const *raddr,
84 struct sockaddr
const *laddr,
85 struct sockaddr
const *raddr,
109 struct sockaddr
const *addr,
134 struct sockaddr
const *laddr,
135 struct sockaddr
const *raddr,
150 struct sockaddr
const *laddr,
151 struct sockaddr
const *raddr,
166 struct sockaddr
const *laddr,
167 struct sockaddr
const *raddr,
179 struct sockaddr
const *laddr,
190 struct sockaddr
const *laddr,
242 struct sockaddr
const *sa,
254 struct sockaddr
const *sa,
mptcpd shared library symbol export/import macros.
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.
Definition plugin.c:592
MPTCPD_API void mptcpd_plugin_listener_closed(char const *name, struct sockaddr const *laddr, struct mptcpd_pm *pm)
Notify plugin of MPTCP listener closure.
Definition plugin.c:687
MPTCPD_API void mptcpd_plugin_new_interface(struct mptcpd_interface const *i, void *pm)
Notify plugin of new network interface.
Definition plugin.c:806
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.
Definition plugin.c:839
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.
Definition plugin.c:573
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.
Definition plugin.c:638
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.
Definition plugin.c:663
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.
Definition plugin.c:852
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.
Definition plugin.c:430
MPTCPD_API void mptcpd_plugin_listener_created(char const *name, struct sockaddr const *laddr, struct mptcpd_pm *pm)
Notify plugin of MPTCP listener creation.
Definition plugin.c:676
MPTCPD_API void mptcpd_plugin_unload(struct mptcpd_pm *pm)
Unload mptcpd plugins.
Definition plugin.c:499
MPTCPD_API void mptcpd_plugin_update_interface(struct mptcpd_interface const *i, void *pm)
Notify plugin of updated network interface.
Definition plugin.c:817
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.
Definition plugin.c:628
MPTCPD_API void mptcpd_plugin_delete_interface(struct mptcpd_interface const *i, void *pm)
Notify plugin of removed network interface.
Definition plugin.c:828
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.
Definition plugin.c:617
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.
Definition plugin.c:650
MPTCPD_API void mptcpd_plugin_connection_closed(mptcpd_token_t token, struct mptcpd_pm *pm)
Notify plugin of MPTCP connection closure.
Definition plugin.c:608
Network interface-specific information.
Definition network_monitor.h:31
char name[IF_NAMESIZE]
Network interface name.
Definition network_monitor.h:68
Data needed to run the path manager.
Definition path_manager.h:46
mptcpd user space path manager attribute types.
uint32_t mptcpd_token_t
MPTCP connection token type.
Definition types.h:26
uint8_t mptcpd_aid_t
MPTCP address ID type.
Definition types.h:29