dhcpv6: initial import of protocol defintions
Imports all relevant constants into a generic header.
This commit is contained in:
parent
d03d2b409e
commit
89903fa096
96
sys/include/net/dhcpv6.h
Normal file
96
sys/include/net/dhcpv6.h
Normal file
@ -0,0 +1,96 @@
|
||||
/*
|
||||
* 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 */
|
||||
#define DHCPV6_SERVER_PORT (547U) /**< server and relay agent port */
|
||||
/** @} */
|
||||
|
||||
/**
|
||||
* @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_RENEW (5U) /**< RENEW */
|
||||
#define DHCPV6_REBIND (6U) /**< REBIND */
|
||||
#define DHCPV6_REPLY (7U) /**< REPLY */
|
||||
/** @ } */
|
||||
|
||||
/**
|
||||
* @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_ORO (6U) /**< option request option */
|
||||
#define DHCPV6_OPT_PREF (7U) /**< preference option */
|
||||
#define DHCPV6_OPT_ELAPSED_TIME (8U) /**< elapsed time option */
|
||||
#define DHCPV6_OPT_STATUS (13U) /**< status code 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_SMR (82U) /**< SOL_MAX_RT option */
|
||||
/** @} */
|
||||
|
||||
/**
|
||||
* @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 */
|
||||
/** @} */
|
||||
Loading…
x
Reference in New Issue
Block a user