Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: TYBLE16_simple_data_logger TYBLE16_MP3_Air
net_ipv6_api.h File Reference
IPv6 configuration API. More...
Go to the source code of this file.
Functions | |
int8_t | arm_nwk_ipv6_frag_mru (uint16_t frag_mru) |
Set maximum IPv6 fragmented datagram reception size. | |
int8_t | arm_nwk_ipv6_max_cache_entries (uint16_t max_entries) |
Set the maximum number of entries for the neighbour cache and destination cache. | |
int8_t | arm_nwk_ipv6_destination_cache_configure (uint16_t max_entries, uint16_t short_term_threshold, uint16_t long_term_threshold, uint16_t lifetime) |
Configure destination cache. | |
int8_t | arm_nwk_ipv6_neighbour_cache_configure (uint16_t max_entries, uint16_t short_term_threshold, uint16_t long_term_threshold, uint16_t lifetime) |
Configure neighbour cache. | |
void | arm_nwk_ipv6_auto_flow_label (bool auto_flow_label) |
Configure automatic flow label calculation. | |
int8_t | arm_nwk_ipv6_opaque_iid_key (const void *secret_key, uint8_t key_len) |
Set the key for opaque IPv6 interface identifiers. | |
int8_t | arm_nwk_ipv6_opaque_iid_enable (int8_t interface_id, bool enable) |
Enable/disable opaque IPv6 interface identifiers by interface. |
Detailed Description
IPv6 configuration API.
Definition in file net_ipv6_api.h.
Function Documentation
void arm_nwk_ipv6_auto_flow_label | ( | bool | auto_flow_label ) |
Configure automatic flow label calculation.
Enable or disable automatic generation of IPv6 flow labels for outgoing packets.
- Parameters:
-
auto_flow_label True to enable auto-generation.
Definition at line 56 of file net_ipv6.c.
int8_t arm_nwk_ipv6_destination_cache_configure | ( | uint16_t | max_entries, |
uint16_t | short_term_threshold, | ||
uint16_t | long_term_threshold, | ||
uint16_t | lifetime | ||
) |
Configure destination cache.
Set destination cache maximum entry count, thresholds where amount of entries is kept during operation and lifetime.
Note: This must be called before arm_nwk_interface_lowpan_init()
- Parameters:
-
max_entries Maximum number of entries allowed in destination cache at any time. short_term_threshold Amount of cache entries kept in memory in short term. Must be less than max_entries. long_term_threshold Amount of entries kept in memory over long period of time. Must be less than short_term_threshold. lifetime Lifetime of cache entry, must be over 120 seconds
- Returns:
- 0 Change OK.
- <0 Change invalid - unable to change the maximum for cache.
Definition at line 46 of file net_ipv6.c.
int8_t arm_nwk_ipv6_frag_mru | ( | uint16_t | frag_mru ) |
Set maximum IPv6 fragmented datagram reception size.
Set the maximum size limit for fragmented datagram reception.
RFC 2460 requires this to be at least 1500. It should also be at least as large as the MTU of each attached link.
- Parameters:
-
frag_mru The fragmented Maximum Receive Unit in octets.
- Returns:
- 0 Change OK - actual MRU is at least the requested value.
- <0 Change invalid - unable to set the specified MRU.
Definition at line 35 of file net_ipv6.c.
int8_t arm_nwk_ipv6_max_cache_entries | ( | uint16_t | max_entries ) |
Set the maximum number of entries for the neighbour cache and destination cache.
Default value is 64 and minimum allowed value is 4.
Note: This must be called before arm_nwk_interface_lowpan_init()
- Parameters:
-
max_entries The absolute maximum entries allowed in cache at any time.
- Returns:
- 0 Change OK.
- <0 Change invalid - unable to change the maximum for cache.
Definition at line 41 of file net_ipv6.c.
int8_t arm_nwk_ipv6_neighbour_cache_configure | ( | uint16_t | max_entries, |
uint16_t | short_term_threshold, | ||
uint16_t | long_term_threshold, | ||
uint16_t | lifetime | ||
) |
Configure neighbour cache.
Set neighbour cache maximum entry count, thresholds where amount of entries is kept during operation and lifetime.
Note: This must be called before arm_nwk_interface_lowpan_init()
- Parameters:
-
max_entries Maximum number of entries allowed in neighbour cache at any time. short_term_threshold Amount of cache entries kept in memory in short term. Must be less than max_entries. long_term_threshold Amount of entries kept in memory over long period of time. Must be less than short_term_threshold. lifetime Lifetime of cache entry, must be over 120 seconds
- Returns:
- 0 Change OK.
- <0 Change invalid - unable to change the maximum for cache.
Definition at line 51 of file net_ipv6.c.
int8_t arm_nwk_ipv6_opaque_iid_enable | ( | int8_t | interface_id, |
bool | enable | ||
) |
Enable/disable opaque IPv6 interface identifiers by interface.
Enable or disable RFC 7217 opaque IIDs generated by SLAAC, per interface. By default opaque IIDs are enabled if the opaque key is set. If disabled, SLAAC IIDs will be EUI-64-based as per RFC 4291.
- Parameters:
-
interface_id Interface ID. enable True to enable.
- Returns:
- 0 enabled/disabled OK.
- <0 failed (for example invalid interface ID).
Definition at line 66 of file net_ipv6.c.
int8_t arm_nwk_ipv6_opaque_iid_key | ( | const void * | secret_key, |
uint8_t | key_len | ||
) |
Set the key for opaque IPv6 interface identifiers.
This call sets the secret key used to generate opaque interface identifiers, as per RFC 7217. Once this has been set, all interfaces will use opaque interface identifiers by default. If secret_key is NULL, opaque interface identifiers will be disabled.
Correct implementation of RFC 7217 would require that this key be randomly generated at first bootstrap, and thereafter remain constant, which would require non-volatile storage. The next closest alternative would be to base this on a MAC address.
- Parameters:
-
secret_key A pointer to secret key (will be copied by call). key_len The length of the key.
- Returns:
- 0 key set okay.
- <0 key set failed (for example due to memory allocation).
Definition at line 61 of file net_ipv6.c.
Generated on Tue Jul 12 2022 13:55:16 by
