auto_ip.c File Reference

Auto-IP (Dynamic Configuration of IPv4 Link-Local Addresses) More...

#include "core/net.h"
#include "ipv4/auto_ip.h"
#include "ipv4/auto_ip_misc.h"
#include "debug.h"

Go to the source code of this file.

Macros

#define TRACE_LEVEL   AUTO_IP_TRACE_LEVEL
 

Functions

void autoIpGetDefaultSettings (AutoIpSettings *settings)
 Initialize settings with default values. More...
 
error_t autoIpInit (AutoIpContext *context, const AutoIpSettings *settings)
 Auto-IP initialization. More...
 
error_t autoIpStart (AutoIpContext *context)
 Start Auto-IP process. More...
 
error_t autoIpStop (AutoIpContext *context)
 Stop Auto-IP process. More...
 
AutoIpState autoIpGetState (AutoIpContext *context)
 Retrieve current state. More...
 

Detailed Description

Auto-IP (Dynamic Configuration of IPv4 Link-Local Addresses)

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

Auto-IP describes a method by which a host may automatically configure an interface with an IPv4 address in the 169.254/16 prefix that is valid for Link-Local communication on that interface. This is especially valuable in environments where no other configuration mechanism is available. Refer to the following RFCs for complete details:

  • RFC 3927: Dynamic Configuration of IPv4 Link-Local Addresses
  • RFC 5227: IPv4 Address Conflict Detection
Author
Oryx Embedded SARL (www.oryx-embedded.com)
Version
2.4.0

Definition in file auto_ip.c.

Macro Definition Documentation

◆ TRACE_LEVEL

#define TRACE_LEVEL   AUTO_IP_TRACE_LEVEL

Definition at line 42 of file auto_ip.c.

Function Documentation

◆ autoIpGetDefaultSettings()

void autoIpGetDefaultSettings ( AutoIpSettings settings)

Initialize settings with default values.

Parameters
[out]settingsStructure that contains Auto-IP settings

Definition at line 59 of file auto_ip.c.

◆ autoIpGetState()

AutoIpState autoIpGetState ( AutoIpContext context)

Retrieve current state.

Parameters
[in]contextPointer to the Auto-IP context
Returns
Current Auto-IP state

Definition at line 196 of file auto_ip.c.

◆ autoIpInit()

error_t autoIpInit ( AutoIpContext context,
const AutoIpSettings settings 
)

Auto-IP initialization.

Parameters
[in]contextPointer to the Auto-IP context
[in]settingsAuto-IP specific settings
Returns
Error code

Definition at line 82 of file auto_ip.c.

◆ autoIpStart()

error_t autoIpStart ( AutoIpContext context)

Start Auto-IP process.

Parameters
[in]contextPointer to the Auto-IP context
Returns
Error code

Definition at line 129 of file auto_ip.c.

◆ autoIpStop()

error_t autoIpStop ( AutoIpContext context)

Stop Auto-IP process.

Parameters
[in]contextPointer to the Auto-IP context
Returns
Error code

Definition at line 165 of file auto_ip.c.