1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/sys/include/net/dhcpv6.h
Karl Fessel 05f114d0af doc: fix unbalaced grouping
- most were trivial
    - missing group close or open
    - extra space
    - no doxygen comment
- name commad might open an implicit group
    this hould also be implicit cosed but does not happen somtimes
- crazy: internal declared groups have to be closed internal
2022-09-14 15:05:25 +02:00

114 lines
4.0 KiB
C

/*
* Copyright (C) 2018 Freie Universität Berlin
*
* This file is subject to the terms and conditions of the GNU Lesser
* General Public License v2.1. See the file LICENSE in the top level
* directory for more details.
*/
/**
* @defgroup net_dhcpv6 Dynamic Host Configuration Protocol for IPv6 (DHCPv6)
* @ingroup net_ipv6
* @brief DHCPv6 definitions
* @{
*
* @file
* @brief DHCPv6 definitions
* @note This header is based on [RFC 8415](https://tools.ietf.org/html/rfc8415)
*
* @author Martine Lenders <m.lenders@fu-berlin.de>
*/
#ifndef NET_DHCPV6_H
#define NET_DHCPV6_H
#ifdef __cplusplus
extern "C" {
#endif
/**
* @name DHCPv6 ports
* @see [RFC 8415, section 7.2]
* (https://tools.ietf.org/html/rfc8415#section-7.2)
* @{
*/
#define DHCPV6_CLIENT_PORT (546U) /**< client port */
#ifndef DHCPV6_SERVER_PORT /* only reconfigure for testing!!1! */
#define DHCPV6_SERVER_PORT (547U) /**< server and relay agent port */
#endif
/** @} */
/**
* @name DHCPv6 message types
* @anchor net_dhcp6_msg_types
* @see [RFC 8415, section 7.3]
* (https://tools.ietf.org/html/rfc8415#section-7.3)
* @{
*/
#define DHCPV6_SOLICIT (1U) /**< SOLICIT */
#define DHCPV6_ADVERTISE (2U) /**< ADVERTISE */
#define DHCPV6_REQUEST (3U) /**< REQUEST */
#define DHCPV6_CONFIRM (4U) /**< CONFIRM */
#define DHCPV6_RENEW (5U) /**< RENEW */
#define DHCPV6_REBIND (6U) /**< REBIND */
#define DHCPV6_REPLY (7U) /**< REPLY */
#define DHCPV6_RELEASE (8U) /**< RELEASE */
#define DHCPV6_DECLINE (9U) /**< DECLINE */
#define DHCPV6_INFO_REQUEST (11U) /**< INFORMATION-REQUEST */
#define DHCPV6_RELAY_FORW (12U) /**< RELAY-FORW */
#define DHCPV6_RELAY_REPL (13U) /**< RELAY-REPL */
/** @} */
/**
* @name DHCPv6 option codes
* @anchor net_dhcp6_opt_codes
* @see [RFC 8415, section 21]
* (https://tools.ietf.org/html/rfc8415#section-21)
* @{
*/
#define DHCPV6_OPT_CID (1U) /**< client identifier option */
#define DHCPV6_OPT_SID (2U) /**< server identifier option */
#define DHCPV6_OPT_IA_NA (3U) /**< identity association for
non-temporary addresses option */
#define DHCPV6_OPT_IAADDR (5U) /**< IA address option */
#define DHCPV6_OPT_ORO (6U) /**< option request option */
#define DHCPV6_OPT_PREF (7U) /**< preference option */
#define DHCPV6_OPT_ELAPSED_TIME (8U) /**< elapsed time option */
#define DHCPV6_OPT_RELAY_MSG (9U) /**< relay message option */
#define DHCPV6_OPT_STATUS (13U) /**< status code option */
#define DHCPV6_OPT_IID (18U) /**< interface-id option */
#define DHCPV6_OPT_DNS_RNS (23U) /**< DNS recursive name server option */
#define DHCPV6_OPT_IA_PD (25U) /**< identity association for prefix
* delegation (IA_PD) option */
#define DHCPV6_OPT_IAPFX (26U) /**< IA prefix option */
#define DHCPV6_OPT_IRT (32U) /**< Information Refresh Time Option */
#define DHCPV6_OPT_SMR (82U) /**< SOL_MAX_RT option */
#define DHCPV6_OPT_IMR (83U) /**< INF_MAX_RT option */
#define DHCPV6_OPT_MUD_URL (112U) /**< MUD URL option (see RFC 8520) */
/** @} */
/**
* @name DHCPv6 status codes
* @anchor net_dhcp6_status_codes
* @see [RFC 8415, section 21.13]
* (https://tools.ietf.org/html/rfc8415#section-21.13)
* @{
*/
#define DHCPV6_STATUS_SUCCESS (0U) /**< Success */
/** @} */
/**
* @name DHCPv6 unique identifier (DUID) types
* @see [RFC 8415, section 11.1]
* (https://tools.ietf.org/html/rfc8415#section-11.1)
* @{
*/
#define DHCPV6_DUID_TYPE_L2 (3U) /**< Link-layer address */
/** @} */
#ifdef __cplusplus
}
#endif
#endif /* NET_DHCPV6_H */
/** @} */