Loading...
Searching...
No Matches
acd.h File Reference
`#include "lwip/opt.h"`
`#include "lwip/netif.h"`
`#include "lwip/etharp.h"`
`#include "lwip/prot/acd.h"`

## Data Structures

struct | acd

## Macros

#define | ACD_TMR_INTERVAL 100

## Typedefs

typedef void(* | acd_conflict_callback_t) (struct netif *netif, acd_callback_enum_t state)

## Functions

err_t | acd_add (struct netif *netif, struct acd *acd, acd_conflict_callback_t acd_conflict_callback)
void | acd_remove (struct netif *netif, struct acd *acd)
err_t | acd_start (struct netif *netif, struct acd *acd, ip4_addr_t ipaddr)
err_t | acd_stop (struct acd *acd)
void | acd_arp_reply (struct netif *netif, struct etharp_hdr *hdr)
void | acd_tmr (void)
void | acd_network_changed_link_down (struct netif *netif)
void | acd_netif_ip_addr_changed (struct netif *netif, const ip_addr_t *old_addr, const ip_addr_t *new_addr)

## Detailed Description

ACD IPv4 Address Conflict Detection

## Macro Definition Documentation

## ACD_TMR_INTERVAL

#define ACD_TMR_INTERVAL 100

ACD Timing ACD_TMR_INTERVAL msecs, I recommend a value of 100. The value must divide 1000 with a remainder almost 0. Possible values are 1000, 500, 333, 250, 200, 166, 142, 125, 111, 100 ....

## Typedef Documentation

## acd_conflict_callback_t

typedef void(* acd_conflict_callback_t) (struct netif *netif, acd_callback_enum_t state)

Callback function: Handle conflict information from ACD module

Parameters

  netif | network interface to handle conflict information on
  state | acd_callback_enum_t

## Function Documentation

## acd_arp_reply()

void acd_arp_reply | ( | struct netif * | netif,
|  | struct etharp_hdr * | hdr )

Handles every incoming ARP Packet, called by etharp_input().

Parameters

  netif | network interface to use for acd processing
  hdr | Incoming ARP packet

## acd_tmr()

void acd_tmr | ( | void |  | ) |

Has to be called in loop every ACD_TMR_INTERVAL milliseconds