Nordic's IPv6 stack. Currently, only a Host role is supported.
More...
Nordic's IPv6 stack. Currently, only a Host role is supported.
Nordic's IPv6 stack provides minimal implementations of ICMP, UDP for a Host, and IPv6 Neighbor Discovery for Host. Router, neighbor, and prefix cache are not maintained across BLE link disconnections or power cycles.
Asynchronous event identifiers type.
Enumerator |
---|
IPV6_EVT_INTERFACE_ADD |
Notification of a new IPv6 interface added.
|
IPV6_EVT_INTERFACE_DELETE |
Notification of IPv6 interface deleted.
|
IPV6_EVT_INTERFACE_RX_DATA |
Notification of IPv6 data, depending on configuration. For example, IPV6_ENABLE_USNUPORTED_PROTOCOLS_TO_APPLICATION.
|
Finds the best matched address and interface.
API used to find the most suitable interface and address to a given destination address.
To look only for the interface, set p_addr_r to NULL.
To find the best matched address, IPV6_ADDR_STATE_PREFERRED state of address is required.
- Parameters
-
[out] | pp_interface | Interface to be found. |
[out] | p_addr_r | Best matching address if procedure succeeded and this value was not NULL. |
[in,out] | p_addr_f | IPv6 address for which best matching interface and/or address are requested. |
- Return values
-
NRF_SUCCESS | If the operation was successful. |
NRF_ERROR_NOT_FOUND | If no interface was found. |
NRF_ERROR_NOT_SUPPORTED | If the operation was not supported. |
Removes address from specific interface.
API used to remove an IPv6 address from an interface.
- Parameters
-
[in] | p_interface | The interface from which the address must be removed. |
[in] | p_addr | IPv6 address to remove. |
- Return values
-
NRF_SUCCESS | If the operation was successful. |
NRF_ERROR_NOT_FOUND | If no address was found. |
Sets address to specific interface.
API used to add or update an IPv6 address on an interface. The address can have three specific states that determine transmitting capabilities.
- Parameters
-
[in] | p_interface | The interface on which the address must be assigned. |
[in] | p_addr | IPv6 address and state to be assigned/updated. |
- Return values
-
NRF_SUCCESS | If the operation was successful. |
NRF_ERROR_NO_MEM | If no memory was available. |
Initializes the IPv6 stack module.
- Parameters
-
[in] | p_init | Initialization parameters. |
- Return values
-
NRF_SUCCESS | If initialization was successful. Otherwise, an error code is returned. |
Sends IPv6 packet.
API used to send an IPv6 packet. Which interface that packet must be sent to is determined by analyzing the destination address.
- Parameters
-
[in] | p_interface | The interface to which the packet is to be sent. |
[in] | p_packet | IPv6 packet to send. The packet should be allocated using iot_pbuffer_allocate, to give stack control and to release the memory buffer. |
- Return values
-
NRF_SUCCESS | If the send request was successful. |
NRF_ERROR_NOT_FOUND | If there was a failure while looking for the interface. |
NRF_ERROR_INVALID_PARAM | If there was an error in processing the IPv6 packet. |
NRF_ERROR_NO_MEM | If no memory was available in the transport interface. |