DHCPv6 relay agent (Dynamic Host Configuration Protocol for IPv6) More...
Go to the source code of this file.
Data Structures | |
| struct | Dhcpv6RelaySettings | 
| DHCPv6 relay agent settings.  More... | |
| struct | Dhcpv6RelayContext | 
| DHCPv6 relay agent context.  More... | |
Macros | |
| #define | DHCPV6_RELAY_SUPPORT ENABLED | 
| #define | DHCPV6_RELAY_STACK_SIZE 500 | 
| #define | DHCPV6_RELAY_PRIORITY OS_TASK_PRIORITY_NORMAL | 
| #define | DHCPV6_RELAY_MAX_CLIENT_IF 4 | 
| #define | DHCPV6_RELAY_FORW_OVERHEAD (sizeof(Dhcpv6RelayMessage) + 2 * sizeof(Dhcpv6Option) + sizeof(uint32_t)) | 
Functions | |
| error_t | dhcpv6RelayStart (Dhcpv6RelayContext *context, const Dhcpv6RelaySettings *settings) | 
| Start DHCPv6 relay agent.  More... | |
| error_t | dhcpv6RelayStop (Dhcpv6RelayContext *context) | 
| Stop DHCPv6 relay agent.  More... | |
| error_t | dhcpv6RelayJoinMulticastGroup (Dhcpv6RelayContext *context) | 
| Join All_DHCP_Relay_Agents_and_Servers multicast group.  More... | |
| error_t | dhcpv6RelayLeaveMulticastGroup (Dhcpv6RelayContext *context) | 
| Leave All_DHCP_Relay_Agents_and_Servers multicast group.  More... | |
| void | dhcpv6RelayTask (void *param) | 
| DHCPv6 relay agent task.  More... | |
| error_t | dhcpv6ForwardClientMessage (Dhcpv6RelayContext *context, uint_t index) | 
| Forward client message.  More... | |
| error_t | dhcpv6ForwardRelayReplyMessage (Dhcpv6RelayContext *context) | 
| Forward Relay-Reply message.  More... | |
Detailed Description
DHCPv6 relay agent (Dynamic Host Configuration Protocol for IPv6)
License
SPDX-License-Identifier: GPL-2.0-or-later
Copyright (C) 2010-2025 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.
- Version
 - 2.5.4
 
Definition in file dhcpv6_relay.h.
Macro Definition Documentation
◆ DHCPV6_RELAY_FORW_OVERHEAD
| #define DHCPV6_RELAY_FORW_OVERHEAD (sizeof(Dhcpv6RelayMessage) + 2 * sizeof(Dhcpv6Option) + sizeof(uint32_t)) | 
Definition at line 65 of file dhcpv6_relay.h.
◆ DHCPV6_RELAY_MAX_CLIENT_IF
| #define DHCPV6_RELAY_MAX_CLIENT_IF 4 | 
Definition at line 59 of file dhcpv6_relay.h.
◆ DHCPV6_RELAY_PRIORITY
| #define DHCPV6_RELAY_PRIORITY OS_TASK_PRIORITY_NORMAL | 
Definition at line 54 of file dhcpv6_relay.h.
◆ DHCPV6_RELAY_STACK_SIZE
| #define DHCPV6_RELAY_STACK_SIZE 500 | 
Definition at line 47 of file dhcpv6_relay.h.
◆ DHCPV6_RELAY_SUPPORT
| #define DHCPV6_RELAY_SUPPORT ENABLED | 
Definition at line 40 of file dhcpv6_relay.h.
Function Documentation
◆ dhcpv6ForwardClientMessage()
| error_t dhcpv6ForwardClientMessage | ( | Dhcpv6RelayContext * | context, | 
| uint_t | index | ||
| ) | 
Forward client message.
- Parameters
 - 
  
[in] context Pointer to the DHCPv6 relay agent context [in] index Index identifying the interface on which the message was received  
- Returns
 - Error code
 
Definition at line 446 of file dhcpv6_relay.c.
◆ dhcpv6ForwardRelayReplyMessage()
| error_t dhcpv6ForwardRelayReplyMessage | ( | Dhcpv6RelayContext * | context | ) | 
Forward Relay-Reply message.
- Parameters
 - 
  
[in] context Pointer to the DHCPv6 relay agent context  
- Returns
 - Error code
 
Definition at line 575 of file dhcpv6_relay.c.
◆ dhcpv6RelayJoinMulticastGroup()
| error_t dhcpv6RelayJoinMulticastGroup | ( | Dhcpv6RelayContext * | context | ) | 
Join All_DHCP_Relay_Agents_and_Servers multicast group.
- Parameters
 - 
  
[in] context Pointer to the DHCPv6 relay agent context  
Definition at line 306 of file dhcpv6_relay.c.
◆ dhcpv6RelayLeaveMulticastGroup()
| error_t dhcpv6RelayLeaveMulticastGroup | ( | Dhcpv6RelayContext * | context | ) | 
Leave All_DHCP_Relay_Agents_and_Servers multicast group.
- Parameters
 - 
  
[in] context Pointer to the DHCPv6 relay agent context  
Definition at line 348 of file dhcpv6_relay.c.
◆ dhcpv6RelayStart()
| error_t dhcpv6RelayStart | ( | Dhcpv6RelayContext * | context, | 
| const Dhcpv6RelaySettings * | settings | ||
| ) | 
Start DHCPv6 relay agent.
- Parameters
 - 
  
[in] context Pointer to the DHCPv6 relay agent context [in] settings DHCPv6 relay agent specific settings  
- Returns
 - Error code
 
Definition at line 58 of file dhcpv6_relay.c.
◆ dhcpv6RelayStop()
| error_t dhcpv6RelayStop | ( | Dhcpv6RelayContext * | context | ) | 
Stop DHCPv6 relay agent.
- Parameters
 - 
  
[in] context Pointer to the DHCPv6 relay agent context  
- Returns
 - Error code
 
Definition at line 254 of file dhcpv6_relay.c.
◆ dhcpv6RelayTask()
| void dhcpv6RelayTask | ( | void * | param | ) | 
DHCPv6 relay agent task.
- Parameters
 - 
  
[in] param Pointer to the DHCPv6 relay agent context  
Definition at line 371 of file dhcpv6_relay.c.
