UDP Forward#

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.

Typedefs#

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

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.

Typedef Documentation#

otUdpForwarder#

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

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.


Definition at line 261 of file include/openthread/udp.h

Function Documentation#

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.


Definition at line 274 of file include/openthread/udp.h

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.

Warnings

  • No matter the call success or fail, the message is freed.


Definition at line 287 of file include/openthread/udp.h

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.


Definition at line 302 of file include/openthread/udp.h