diff --git a/sys/include/net/netopt.h b/sys/include/net/netopt.h index 04b42b642c180..200517d4ecc8e 100644 --- a/sys/include/net/netopt.h +++ b/sys/include/net/netopt.h @@ -924,11 +924,22 @@ enum { #if IS_ACTIVE(CONFIG_GNRC_IPV6_STABLE_PRIVACY) || defined(DOXYGEN) /** - * @brief Data for @ref NETOPT_IPV6_IID when using RFC7217 + * @brief Data for @ref NETOPT_IPV6_IID when using RFC7217, + * passed on to ipv6_get_rfc7217_iid, + * from which the descriptions are also copied */ typedef struct { + /** + * @param[out] where to store the generated interface identifier + */ eui64_t *iid; + /** + * @param[in] pfx The prefix for which the IID is to be generated. + */ const ipv6_addr_t *pfx; + /** + * @param[in,out] dad_ctr ("DAD_Counter" in rfc7217) + */ uint8_t *dad_ctr; } netopt_ipv6_rfc7217_iid_data; #endif diff --git a/sys/net/gnrc/network_layer/ipv6/nib/_nib-slaac.h b/sys/net/gnrc/network_layer/ipv6/nib/_nib-slaac.h index a8855fa27f3d6..ece69f580c2a7 100644 --- a/sys/net/gnrc/network_layer/ipv6/nib/_nib-slaac.h +++ b/sys/net/gnrc/network_layer/ipv6/nib/_nib-slaac.h @@ -48,7 +48,7 @@ extern "C" { */ #define SLAAC_PREFIX_LENGTH (64U) -/* +/** * "the address architecture [RFC4291] also defines the length of the interface identifiers" * - https://datatracker.ietf.org/doc/html/rfc4862#section-2 * @@ -73,6 +73,9 @@ extern "C" { #define STABLE_PRIVACY_IDGEN_RETRIES (3U) /*default value*/ #endif +/** + * @brief Upper limit for random time to wait between IDGEN retries + */ #ifndef STABLE_PRIVACY_IDGEN_DELAY_MS #define STABLE_PRIVACY_IDGEN_DELAY_MS 1000 /*default value*/ #endif @@ -90,6 +93,7 @@ void _auto_configure_addr(gnrc_netif_t *netif, const ipv6_addr_t *pfx, uint8_t pfx_len); #if IS_ACTIVE(CONFIG_GNRC_IPV6_STABLE_PRIVACY) || defined(DOXYGEN) /** + * @brief Overload of @ref _auto_configure_addr * @param dad_ctr rfc7217 DAD_Counter */ void _auto_configure_addr_with_dad_ctr(gnrc_netif_t *netif, const ipv6_addr_t *pfx, @@ -121,7 +125,7 @@ bool _stable_privacy_should_retry_idgen(uint8_t *dad_ctr, const char *reason); /** * @brief * @pre @p iid is all 0 bits (iid->uint64.u64 == 0) - * @param[out] iid + * @param[out] iid where to store the generated interface identifier * @param[in] netif The network interface to use as source for IID generation. * ("Net_iface" in rfc7217) * @param[in] pfx The prefix for which the IID is to be generated.