38#ifndef ZEPHYR_INCLUDE_NET_DPLPMTUD_H_
39#define ZEPHYR_INCLUDE_NET_DPLPMTUD_H_
48#define NET_DPLPMTUD_BASE_PLPMTU 1200U
61 struct net_sockaddr_storage
dst;
int net_dplpmtud_on_path_probe_acked(struct net_dplpmtud_path *path, uint16_t probe_size)
Report that a probe was acknowledged for a path.
int net_dplpmtud_on_path_probe_sent(struct net_dplpmtud_path *path, uint16_t probe_size)
Report that a probe has been sent for a path.
void net_dplpmtud_set_path_max_plpmtu(struct net_dplpmtud_path *path, uint16_t max_plpmtu)
Update the transport-local maximum PLPMTU for a path.
bool net_dplpmtud_path_probe_in_flight(struct net_dplpmtud_path *path)
Check whether a probe is currently in flight for a path.
net_dplpmtud_state
DPLPMTUD search state.
Definition dplpmtud.h:51
int net_dplpmtud_on_path_probe_lost(struct net_dplpmtud_path *path, uint16_t probe_size)
Report that a probe was lost for a path.
int net_dplpmtud_init_path(struct net_dplpmtud_path *path, const struct net_sockaddr *dst, uint16_t max_plpmtu)
Initialize a DPLPMTUD path handle for a remote destination.
void net_dplpmtud_note_path_blackhole(struct net_dplpmtud_path *path)
Report black-hole fallback for a path.
int net_dplpmtud_get_path_probe_size(struct net_dplpmtud_path *path)
Get the next probe size a transport may transmit for a path.
int net_dplpmtud_get_path_mtu(struct net_dplpmtud_path *path)
Get the currently validated PLPMTU for a path.
@ NET_DPLPMTUD_STATE_SEARCH_COMPLETE
Path has no larger probe candidate.
Definition dplpmtud.h:54
@ NET_DPLPMTUD_STATE_BASE
Path is using the base PLPMTU.
Definition dplpmtud.h:52
@ NET_DPLPMTUD_STATE_SEARCHING
Path is actively probing for a larger PLPMTU.
Definition dplpmtud.h:53
@ NET_DPLPMTUD_STATE_ERROR
Path fell back after black-hole detection.
Definition dplpmtud.h:55
IPv6 and IPv4 definitions.
__UINT16_TYPE__ uint16_t
Definition stdint.h:89
Transport-owned DPLPMTUD path handle.
Definition dplpmtud.h:59
struct net_sockaddr_storage dst
Remote destination for this path.
Definition dplpmtud.h:61
bool in_use
Path handle is initialized.
Definition dplpmtud.h:67
uint16_t max_plpmtu
Transport-local maximum PLPMTU, or UINT16_MAX if uncapped.
Definition dplpmtud.h:64
Generic sockaddr struct.
Definition net_ip.h:455