mptcpd
Multipath TCP Daemon
|
mptcpd user space path manager attribute types. More...
#include <stddef.h>
#include <inttypes.h>
Go to the source code of this file.
Classes | |
struct | mptcpd_limit |
MPTCP resource type/limit pair. More... | |
Macros | |
#define | MPTCPD_PRIxAID PRIx8 |
MPTCP address ID format specifier. | |
Typedefs | |
typedef uint32_t | mptcpd_token_t |
MPTCP connection token type. | |
typedef uint8_t | mptcpd_aid_t |
MPTCP address ID type. | |
typedef void(* | mptcpd_kpm_get_addr_cb_t) (struct mptcpd_addr_info const *info, void *callback_data) |
Type of function called when an address is available. | |
typedef void(* | mptcpd_complete_func_t) (void *user_data) |
Type of function called on asynchronous call completion. | |
typedef void(* | mptcpd_pm_get_limits_cb) (struct mptcpd_limit const *limits, size_t len, void *callback_data) |
Type of function called when MPTCP resource limits are available. | |
Enumerations | |
enum | mptcpd_limit_types { MPTCPD_LIMIT_RCV_ADD_ADDRS , MPTCPD_LIMIT_SUBFLOWS } |
MPTCP resource limit type identifiers. More... | |
MPTCP Address Flags | |
Each MPTCP address flag is meant to be set as a bit in a mptcpd_flags_t flags =
#define MPTCPD_ADDR_FLAG_BACKUP Set backup priority on the subflow. Definition types.h:64 | |
#define | MPTCPD_ADDR_FLAG_SIGNAL (1U << 0) |
Trigger announcement of a new local IP address. | |
#define | MPTCPD_ADDR_FLAG_SUBFLOW (1U << 1) |
Create a new subflow. | |
#define | MPTCPD_ADDR_FLAG_BACKUP (1U << 2) |
Set backup priority on the subflow. | |
#define | MPTCPD_ADDR_FLAG_FULLMESH (1U << 3) |
Add local address to in-kernel fullmesh path management. | |
typedef uint32_t | mptcpd_flags_t |
MPTCP flags type. | |
mptcpd user space path manager attribute types.
Copyright (c) 2018-2021, Intel Corporation
#define MPTCPD_ADDR_FLAG_FULLMESH (1U << 3) |
Add local address to in-kernel fullmesh path management.
If this flag is set, create a subflow connection to each known remote address, originating from this local address. The total number of subflows is subject to the configured limits.
MPTCPD_ADDR_FLAG_SIGNAL
. #define MPTCPD_ADDR_FLAG_SIGNAL (1U << 0) |
Trigger announcement of a new local IP address.
MPTCPD_ADDR_FLAG_FULLMESH
. typedef void(* mptcpd_complete_func_t) (void *user_data) |
Type of function called on asynchronous call completion.
The mptcpd path manager API has several functions that complete asynchronously. Those functions accept a parameter of this type to allow the caller to be notified of completion of the asynchronous functions.
Functions of this type differ from user provided callbacks that are called when asynchronous results are available in that this type of function is called regardless of whether or not asynchronous results are available. Furthermore, they are only called once at the very end of the asynchronous call, whereas those called upon availability of results may be called multiple times for a single asynchronous call, such as the mptcpd_kpm_dump_addrs()
case.
Functions of this type are suitable for deallocating dynamically allocated user_data passed to asynchronous calls, for example.
[in,out] | user_data | Data provided the user at the time of the asynchronous call. |
typedef uint32_t mptcpd_flags_t |
MPTCP flags type.
MPTCP address flags integer type that contains set of flag bits.
typedef void(* mptcpd_kpm_get_addr_cb_t) (struct mptcpd_addr_info const *info, void *callback_data) |
Type of function called when an address is available.
The mptcpd path manager will call a function of this type when the result of calling mptcpd_kpm_get_addr()
or mptcpd_kpm_dump_addrs()
is available.
[in] | info | Network address information. NULL on error. |
[in,out] | callback_data | Data provided by the caller of mptcpd_kpm_get_addr() or mptcpd_kpm_dump_addrs() . |
typedef void(* mptcpd_pm_get_limits_cb) (struct mptcpd_limit const *limits, size_t len, void *callback_data) |
Type of function called when MPTCP resource limits are available.
The mptcpd path manager will call a function of this type when the result of calling mptcpd_kpm_get_limits()
is available.
[in] | limits | Array of MPTCP resource type/limit pairs. NULL on error. |
[in] | len | Length of the limits array. Zero on error. |
[in,out] | callback_data | Data provided by the caller of mptcpd_kpm_get_limits() . |
typedef uint32_t mptcpd_token_t |
MPTCP connection token type.
<linux/mptcp.h>
, e.g. 'typedef uint32_t mptcp_token_t'? enum mptcpd_limit_types |