This module includes functions for UDP forward feature.

Typedefs

typedef void(* otUdpForwarder ) ( otMessage *aMessage, uint16_t aPeerPort, otIp6Address *aPeerAddr, uint16_t aSockPort, void *aContext)
This function pointer delivers the UDP packet to host and host should send the packet through its own network stack.

Functions

void otUdpForwardSetForwarder ( otInstance *aInstance, otUdpForwarder aForwarder, void *aContext)
Set UDP forward callback to deliver UDP packets to host.
void otUdpForwardReceive ( otInstance *aInstance, otMessage *aMessage, uint16_t aPeerPort, const otIp6Address *aPeerAddr, uint16_t aSockPort)
Handle a UDP packet received from host.
bool otUdpIsPortInUse ( otInstance *aInstance, uint16_t port)
Determines if the given UDP port is exclusively opened by OpenThread API.

Detailed Description

This module includes functions for UDP forward feature.

The functions in this module are available when udp-forward feature ( OPENTHREAD_CONFIG_UDP_FORWARD_ENABLE ) is enabled.

Typedef Documentation

otUdpForwarder

typedef void(* otUdpForwarder) ( otMessage *aMessage, uint16_t aPeerPort, otIp6Address *aPeerAddr, uint16_t aSockPort, void *aContext)

This function pointer delivers the UDP packet to host and host should send the packet through its own network stack.

Parameters
[in] aMessage A pointer to the UDP Message.
[in] aPeerPort The destination UDP port.
[in] aPeerAddr A pointer to the destination IPv6 address.
[in] aSockPort The source UDP port.
[in] aContext A pointer to application-specific context.

Function Documentation

otUdpForwardReceive()

void otUdpForwardReceive ( otInstance * aInstance,
otMessage * aMessage,
uint16_t aPeerPort,
const otIp6Address * aPeerAddr,
uint16_t aSockPort
)

Handle a UDP packet received from host.

Parameters
[in] aInstance A pointer to an OpenThread instance.
[in] aMessage A pointer to the UDP Message.
[in] aPeerPort The source UDP port.
[in] aPeerAddr A pointer to the source address.
[in] aSockPort The destination UDP port.
Warning
No matter the call success or fail, the message is freed.

otUdpForwardSetForwarder()

void otUdpForwardSetForwarder ( otInstance * aInstance,
otUdpForwarder aForwarder,
void * aContext
)

Set UDP forward callback to deliver UDP packets to host.

Parameters
[in] aInstance A pointer to an OpenThread instance.
[in] aForwarder A pointer to a function called to forward UDP packet to host.
[in] aContext A pointer to application-specific context.

otUdpIsPortInUse()

bool otUdpIsPortInUse ( otInstance * aInstance,
uint16_t port
)

Determines if the given UDP port is exclusively opened by OpenThread API.

Parameters
[in] aInstance A pointer to an OpenThread instance.
[in] port UDP port number to verify.
Return values
true The port is being used exclusively by OpenThread.
false The port is not used by any of the OpenThread API or is shared (e.g. is Backbone socket).