lwIP
2.1.0
Lightweight IP stack
|
#include "lwip/opt.h"
#include "lwip/mem.h"
#include "lwip/ip_addr.h"
#include "lwip/netif.h"
#include "lwip/autoip.h"
#include "lwip/etharp.h"
#include "lwip/prot/autoip.h"
#include <string.h>
Macros | |
#define | LWIP_AUTOIP_RAND(netif) |
#define | LWIP_AUTOIP_CREATE_SEED_ADDR(netif) |
Functions | |
void | autoip_set_struct (struct netif *netif, struct autoip *autoip) |
err_t | autoip_start (struct netif *netif) |
void | autoip_network_changed (struct netif *netif) |
err_t | autoip_stop (struct netif *netif) |
void | autoip_tmr (void) |
void | autoip_arp_reply (struct netif *netif, struct etharp_hdr *hdr) |
u8_t | autoip_supplied_address (const struct netif *netif) |
AutoIP Automatic LinkLocal IP Configuration
This is a AutoIP implementation for the lwIP TCP/IP stack. It aims to conform with RFC 3927.
#define LWIP_AUTOIP_CREATE_SEED_ADDR | ( | netif | ) |
Macro that generates the initial IP address to be tried by AUTOIP. If you want to override this, define it to something else in lwipopts.h.
#define LWIP_AUTOIP_RAND | ( | netif | ) |
Pseudo random macro based on netif informations. You could use "rand()" from the C Library if you define LWIP_AUTOIP_RAND in lwipopts.h
void autoip_arp_reply | ( | struct netif * | netif, |
struct etharp_hdr * | hdr | ||
) |
Handles every incoming ARP Packet, called by etharp_input().
netif | network interface to use for autoip processing |
hdr | Incoming ARP packet |
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.
u8_t autoip_supplied_address | ( | const struct netif * | netif | ) |
void autoip_tmr | ( | void | ) |
Has to be called in loop every AUTOIP_TMR_INTERVAL milliseconds