dhcpv6_client.c File Reference

DHCPv6 client (Dynamic Host Configuration Protocol for IPv6) More...

#include "core/net.h"
#include "ipv6/ipv6.h"
#include "ipv6/ipv6_misc.h"
#include "dhcpv6/dhcpv6_client.h"
#include "dhcpv6/dhcpv6_client_misc.h"
#include "debug.h"

Go to the source code of this file.

Macros

#define TRACE_LEVEL   DHCPV6_TRACE_LEVEL
 

Functions

void dhcpv6ClientGetDefaultSettings (Dhcpv6ClientSettings *settings)
 Initialize settings with default values. More...
 
error_t dhcpv6ClientInit (Dhcpv6ClientContext *context, const Dhcpv6ClientSettings *settings)
 DHCPv6 client initialization. More...
 
error_t dhcpv6ClientStart (Dhcpv6ClientContext *context)
 Start DHCPv6 client. More...
 
error_t dhcpv6ClientStop (Dhcpv6ClientContext *context)
 Stop DHCPv6 client. More...
 
error_t dhcpv6ClientRelease (Dhcpv6ClientContext *context)
 Release DHCPv6 lease. More...
 
Dhcpv6State dhcpv6ClientGetState (Dhcpv6ClientContext *context)
 Retrieve current state. More...
 

Detailed Description

DHCPv6 client (Dynamic Host Configuration Protocol for IPv6)

License

SPDX-License-Identifier: GPL-2.0-or-later

Copyright (C) 2010-2024 Oryx Embedded SARL. All rights reserved.

This file is part of CycloneTCP Open.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Description

The Dynamic Host Configuration Protocol for IPv6 enables DHCP servers to pass configuration parameters such as IPv6 network addresses to IPv6 nodes. This protocol is a stateful counterpart to IPv6 Stateless Address Autoconfiguration (RFC 2462), and can be used separately or concurrently with the latter to obtain configuration parameters. Refer to RFC 3315

Author
Oryx Embedded SARL (www.oryx-embedded.com)
Version
2.4.0

Definition in file dhcpv6_client.c.

Macro Definition Documentation

◆ TRACE_LEVEL

#define TRACE_LEVEL   DHCPV6_TRACE_LEVEL

Definition at line 40 of file dhcpv6_client.c.

Function Documentation

◆ dhcpv6ClientGetDefaultSettings()

void dhcpv6ClientGetDefaultSettings ( Dhcpv6ClientSettings settings)

Initialize settings with default values.

Parameters
[out]settingsStructure that contains DHCPv6 client settings

Definition at line 59 of file dhcpv6_client.c.

◆ dhcpv6ClientGetState()

Dhcpv6State dhcpv6ClientGetState ( Dhcpv6ClientContext context)

Retrieve current state.

Parameters
[in]contextPointer to the DHCPv6 client context
Returns
Current DHCPv6 client state

Definition at line 325 of file dhcpv6_client.c.

◆ dhcpv6ClientInit()

error_t dhcpv6ClientInit ( Dhcpv6ClientContext context,
const Dhcpv6ClientSettings settings 
)

DHCPv6 client initialization.

Parameters
[in]contextPointer to the DHCPv6 client context
[in]settingsDHCPv6 client specific settings
Returns
Error code

Definition at line 92 of file dhcpv6_client.c.

◆ dhcpv6ClientRelease()

error_t dhcpv6ClientRelease ( Dhcpv6ClientContext context)

Release DHCPv6 lease.

Parameters
[in]contextPointer to the DHCPv6 client context
Returns
Error code

Definition at line 259 of file dhcpv6_client.c.

◆ dhcpv6ClientStart()

error_t dhcpv6ClientStart ( Dhcpv6ClientContext context)

Start DHCPv6 client.

Parameters
[in]contextPointer to the DHCPv6 client context
Returns
Error code

Definition at line 142 of file dhcpv6_client.c.

◆ dhcpv6ClientStop()

error_t dhcpv6ClientStop ( Dhcpv6ClientContext context)

Stop DHCPv6 client.

Parameters
[in]contextPointer to the DHCPv6 client context
Returns
Error code

Definition at line 216 of file dhcpv6_client.c.