auto_ip_misc.c File Reference

Helper functions for Auto-IP. More...

#include "core/net.h"
#include "core/ethernet.h"
#include "ipv4/arp.h"
#include "ipv4/auto_ip.h"
#include "ipv4/auto_ip_misc.h"
#include "mdns/mdns_responder.h"
#include "debug.h"

Go to the source code of this file.

Macros

#define TRACE_LEVEL   AUTO_IP_TRACE_LEVEL
 

Functions

void autoIpTick (AutoIpContext *context)
 Auto-IP timer handler. More...
 
void autoIpLinkChangeEvent (AutoIpContext *context)
 Callback function for link change event. More...
 
void autoIpChangeState (AutoIpContext *context, AutoIpState newState, systime_t delay)
 Update Auto-IP FSM state. More...
 
void autoIpGenerateAddr (Ipv4Addr *ipAddr)
 Generate a random link-local address. More...
 
void autoIpResetConfig (AutoIpContext *context)
 Reset Auto-IP configuration. More...
 
void autoIpDumpConfig (AutoIpContext *context)
 Dump Auto-IP configuration for debugging purpose. More...
 

Variables

systime_t autoIpTickCounter
 

Detailed Description

Helper functions for Auto-IP.

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.

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

Definition in file auto_ip_misc.c.

Macro Definition Documentation

◆ TRACE_LEVEL

#define TRACE_LEVEL   AUTO_IP_TRACE_LEVEL

Definition at line 32 of file auto_ip_misc.c.

Function Documentation

◆ autoIpChangeState()

void autoIpChangeState ( AutoIpContext context,
AutoIpState  newState,
systime_t  delay 
)

Update Auto-IP FSM state.

Parameters
[in]contextPointer to the Auto-IP context
[in]newStateNew Auto-IP state to switch to
[in]delayInitial delay

Definition at line 318 of file auto_ip_misc.c.

◆ autoIpDumpConfig()

void autoIpDumpConfig ( AutoIpContext context)

Dump Auto-IP configuration for debugging purpose.

Parameters
[in]contextPointer to the Auto-IP context

Definition at line 399 of file auto_ip_misc.c.

◆ autoIpGenerateAddr()

void autoIpGenerateAddr ( Ipv4Addr ipAddr)

Generate a random link-local address.

Parameters
[out]ipAddrRandom link-local address

Definition at line 353 of file auto_ip_misc.c.

◆ autoIpLinkChangeEvent()

void autoIpLinkChangeEvent ( AutoIpContext context)

Callback function for link change event.

Parameters
[in]contextPointer to the Auto-IP context

Definition at line 270 of file auto_ip_misc.c.

◆ autoIpResetConfig()

void autoIpResetConfig ( AutoIpContext context)

Reset Auto-IP configuration.

Parameters
[in]contextPointer to the Auto-IP context

Definition at line 371 of file auto_ip_misc.c.

◆ autoIpTick()

void autoIpTick ( AutoIpContext context)

Auto-IP timer handler.

This routine must be periodically called by the TCP/IP stack to manage Auto-IP operation

Parameters
[in]contextPointer to the Auto-IP context

Definition at line 59 of file auto_ip_misc.c.

Variable Documentation

◆ autoIpTickCounter

systime_t autoIpTickCounter

Definition at line 47 of file auto_ip_misc.c.