STM32F7 Ethernet interface for nucleo STM32F767

Embed: (wiki syntax)

« Back to documentation index

net_ipv6_api.h File Reference

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.
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_labelTrue to enable auto-generation.
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_mruThe 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.
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_idInterface ID.
enableTrue to enable.
Returns:
0 enabled/disabled OK.
<0 failed (for example invalid interface ID).
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_keyA pointer to secret key (will be copied by call).
key_lenThe length of the key.
Returns:
0 key set okay.
<0 key set failed (for example due to memory allocation).