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
Modules | |
DHCPv6 | |
DHCPv6 client: IPv6 address autoconfiguration as per RFC 3315 (stateful DHCPv6) and RFC 3736 (stateless DHCPv6). | |
MLD6 | |
Multicast listener discovery for IPv6. | |
IPv6 Zones | |
Functions | |
const ip_addr_t * | ip6_select_source_address (struct netif *netif, const ip6_addr_t *dest) |
Select the best IPv6 source address for a given destination IPv6 address. |
Function Documentation
const ip_addr_t* ip6_select_source_address | ( | struct netif * | netif, |
const ip6_addr_t * | dest | ||
) |
Select the best IPv6 source address for a given destination IPv6 address.
This implementation follows RFC 6724 Sec. 5 to the following extent:
- Rules 1, 2, 3: fully implemented
- Rules 4, 5, 5.5: not applicable
- Rule 6: not implemented
- Rule 7: not applicable
- Rule 8: limited to "prefer /64 subnet match over non-match"
For Rule 2, we deliberately deviate from RFC 6724 Sec. 3.1 by considering ULAs to be of smaller scope than global addresses, to avoid that a preferred ULA is picked over a deprecated global address when given a global address as destination, as that would likely result in broken two-way communication.
As long as temporary addresses are not supported (as used in Rule 7), a proper implementation of Rule 8 would obviate the need to implement Rule 6.
- Parameters:
-
netif the netif on which to send a packet dest the destination we are trying to reach (possibly not properly zoned)
- Returns:
- the most suitable source address to use, or NULL if no suitable source address is found
Definition at line 283 of file lwip_ip6.c.
Generated on Tue Jul 12 2022 13:55:22 by
