« Back to documentation index 
    
autoip.c File Reference 
AutoIP Automatic LinkLocal IP Configuration.  
More... 
Go to the source code of this file. 
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: 
  
    netif network 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: 
  
    netif network 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: 
  
    netif network interface to use for autoip processing  hdr Incoming 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: 
  
    netif network 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: 
  
    netif network interface on which create the IP-Address  ipaddr ip 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: 
  
    netif The 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: 
  
    netif the 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: 
  
    netif network 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: 
  
    netif network interface on which stop the AutoIP client  
   
Definition at line 389  of file autoip.c .
 
 
Has to be called in loop every AUTOIP_TMR_INTERVAL milliseconds. 
Definition at line 400  of file autoip.c .