NetServices Stack source

Dependents:   HelloWorld ServoInterfaceBoardExample1 4180_Lab4

Embed: (wiki syntax)

« Back to documentation index

autoip.c File Reference

autoip.c File Reference

AutoIP Automatic LinkLocal IP Configuration. More...

Go to the source code of this file.

Functions

static void autoip_handle_arp_conflict (struct netif *netif)
 Handle a IP address conflict after an ARP conflict detection.
static void autoip_create_addr (struct netif *netif, ip_addr_t *ipaddr)
 Create an IP-Address out of range 169.254.1.0 to 169.254.254.255.
static err_t autoip_arp_probe (struct netif *netif)
 Sends an ARP probe from a network interface.
static err_t autoip_arp_announce (struct netif *netif)
 Sends an ARP announce from a network interface.
static err_t autoip_bind (struct netif *netif)
 Configure interface for use with current LL IP-Address.
void autoip_init (void)
 Initialize this module.
void autoip_set_struct (struct netif *netif, struct autoip *autoip)
 Set a statically allocated struct autoip to work with.
static void autoip_restart (struct netif *netif)
 Restart AutoIP client and check the next address (conflict detected)
err_t autoip_start (struct netif *netif)
 Start AutoIP client.
void autoip_network_changed (struct netif *netif)
 Handle a possible change in the network configuration.
err_t autoip_stop (struct netif *netif)
 Stop AutoIP client.
void autoip_tmr ()
 Has to be called in loop every AUTOIP_TMR_INTERVAL milliseconds.
void autoip_arp_reply (struct netif *netif, struct etharp_hdr *hdr)
 Handles every incoming ARP Packet, called by etharp_arp_input.

Detailed Description

AutoIP Automatic LinkLocal IP Configuration.

Definition in file autoip.c.


Function Documentation

static err_t autoip_arp_announce ( struct netif *  netif ) [static]

Sends an ARP announce from a network interface.

Parameters:
netifnetwork interface used to send the announce

Definition at line 250 of file autoip.c.

static err_t autoip_arp_probe ( struct netif *  netif ) [static]

Sends an ARP probe from a network interface.

Parameters:
netifnetwork interface used to send the probe

Definition at line 237 of file autoip.c.

void autoip_arp_reply ( struct netif *  netif,
struct etharp_hdr *  hdr 
)

Handles every incoming ARP Packet, called by etharp_arp_input.

Parameters:
netifnetwork interface to use for autoip processing
hdrIncoming ARP packet

Definition at line 486 of file autoip.c.

static err_t autoip_bind ( struct netif *  netif ) [static]

Configure interface for use with current LL IP-Address.

Parameters:
netifnetwork interface to configure with current LL IP-Address

Definition at line 263 of file autoip.c.

static void autoip_create_addr ( struct netif *  netif,
ip_addr_t *  ipaddr 
) [static]

Create an IP-Address out of range 169.254.1.0 to 169.254.254.255.

Parameters:
netifnetwork interface on which create the IP-Address
ipaddrip address to initialize

Definition at line 204 of file autoip.c.

static void autoip_handle_arp_conflict ( struct netif *  netif ) [static]

Handle a IP address conflict after an ARP conflict detection.

Definition at line 168 of file autoip.c.

void autoip_init ( void   )

Initialize this module.

Init srand, has to be called before entering mainloop.

Definition at line 129 of file autoip.c.

void autoip_network_changed ( struct netif *  netif )

Handle a possible change in the network configuration.

If there is an AutoIP address configured, take the interface down and begin probing with the same address.

Definition at line 375 of file autoip.c.

static void autoip_restart ( struct netif *  netif ) [static]

Restart AutoIP client and check the next address (conflict detected)

Parameters:
netifThe netif under AutoIP control

Definition at line 158 of file autoip.c.

void autoip_set_struct ( struct netif *  netif,
struct autoip *  autoip 
)

Set a statically allocated struct autoip to work with.

Set a struct autoip allocated by the application to work with.

Using this prevents autoip_start to allocate it using mem_malloc.

Parameters:
netifthe netif for which to set the struct autoip
dhcp(uninitialised) dhcp struct allocated by the application

Definition at line 141 of file autoip.c.

err_t autoip_start ( struct netif *  netif )

Start AutoIP client.

Parameters:
netifnetwork interface on which start the AutoIP client

Definition at line 293 of file autoip.c.

err_t autoip_stop ( struct netif *  netif )

Stop AutoIP client.

Parameters:
netifnetwork interface on which stop the AutoIP client

Definition at line 389 of file autoip.c.

void autoip_tmr ( void   )

Has to be called in loop every AUTOIP_TMR_INTERVAL milliseconds.

Definition at line 400 of file autoip.c.