ReactOS 0.4.16-dev-297-gc569aee
acd.h File Reference

Go to the source code of this file.

Macros

#define PROBE_WAIT   1 /* second (initial random delay) */
 
#define PROBE_MIN   1 /* second (minimum delay till repeated probe) */
 
#define PROBE_MAX   2 /* seconds (maximum delay till repeated probe) */
 
#define PROBE_NUM   3 /* (number of probe packets) */
 
#define ANNOUNCE_NUM   2 /* (number of announcement packets) */
 
#define ANNOUNCE_INTERVAL   2 /* seconds (time between announcement packets) */
 
#define ANNOUNCE_WAIT   2 /* seconds (delay before announcing) */
 
#define MAX_CONFLICTS   10 /* (max conflicts before rate limiting) */
 
#define RATE_LIMIT_INTERVAL   60 /* seconds (delay between successive attempts) */
 
#define DEFEND_INTERVAL   10 /* seconds (minimum interval between defensive ARPs) */
 

Enumerations

enum  acd_state_enum_t {
  ACD_STATE_OFF , ACD_STATE_PROBE_WAIT , ACD_STATE_PROBING , ACD_STATE_ANNOUNCE_WAIT ,
  ACD_STATE_ANNOUNCING , ACD_STATE_ONGOING , ACD_STATE_PASSIVE_ONGOING , ACD_STATE_RATE_LIMIT
}
 
enum  acd_callback_enum_t { ACD_IP_OK , ACD_RESTART_CLIENT , ACD_DECLINE }
 

Detailed Description

ACD protocol definitions

Definition in file acd.h.

Macro Definition Documentation

◆ ANNOUNCE_INTERVAL

#define ANNOUNCE_INTERVAL   2 /* seconds (time between announcement packets) */

Definition at line 51 of file acd.h.

◆ ANNOUNCE_NUM

#define ANNOUNCE_NUM   2 /* (number of announcement packets) */

Definition at line 50 of file acd.h.

◆ ANNOUNCE_WAIT

#define ANNOUNCE_WAIT   2 /* seconds (delay before announcing) */

Definition at line 52 of file acd.h.

◆ DEFEND_INTERVAL

#define DEFEND_INTERVAL   10 /* seconds (minimum interval between defensive ARPs) */

Definition at line 55 of file acd.h.

◆ MAX_CONFLICTS

#define MAX_CONFLICTS   10 /* (max conflicts before rate limiting) */

Definition at line 53 of file acd.h.

◆ PROBE_MAX

#define PROBE_MAX   2 /* seconds (maximum delay till repeated probe) */

Definition at line 48 of file acd.h.

◆ PROBE_MIN

#define PROBE_MIN   1 /* second (minimum delay till repeated probe) */

Definition at line 47 of file acd.h.

◆ PROBE_NUM

#define PROBE_NUM   3 /* (number of probe packets) */

Definition at line 49 of file acd.h.

◆ PROBE_WAIT

#define PROBE_WAIT   1 /* second (initial random delay) */

Definition at line 46 of file acd.h.

◆ RATE_LIMIT_INTERVAL

#define RATE_LIMIT_INTERVAL   60 /* seconds (delay between successive attempts) */

Definition at line 54 of file acd.h.

Enumeration Type Documentation

◆ acd_callback_enum_t

Enumerator
ACD_IP_OK 
ACD_RESTART_CLIENT 
ACD_DECLINE 

Definition at line 81 of file acd.h.

81 {
82 ACD_IP_OK, /* IP address is good, no conflicts found in checking state */
83 ACD_RESTART_CLIENT, /* Conflict found -> the client should try again */
84 ACD_DECLINE /* Decline the received IP address (rate limiting)*/
acd_callback_enum_t
Definition: acd.h:81
@ ACD_RESTART_CLIENT
Definition: acd.h:83
@ ACD_IP_OK
Definition: acd.h:82
@ ACD_DECLINE
Definition: acd.h:84

◆ acd_state_enum_t

Enumerator
ACD_STATE_OFF 
ACD_STATE_PROBE_WAIT 
ACD_STATE_PROBING 
ACD_STATE_ANNOUNCE_WAIT 
ACD_STATE_ANNOUNCING 
ACD_STATE_ONGOING 
ACD_STATE_PASSIVE_ONGOING 
ACD_STATE_RATE_LIMIT 

Definition at line 58 of file acd.h.

58 {
59 /* ACD is module is off */
61 /* Waiting before probing can be started */
63 /* Probing the ipaddr */
65 /* Waiting before announcing the probed ipaddr */
67 /* Announcing the new ipaddr */
69 /* Performing ongoing conflict detection with one defend within defend inferval */
71 /* Performing ongoing conflict detection but immediately back off and Release
72 * the address when a conflict occurs. This state is used for LL addresses
73 * that stay active even if the netif has a routable address selected.
74 * In such a case, we cannot defend our address */
76 /* To many conflicts occurred, we need to wait before restarting the selection
77 * process */
acd_state_enum_t
Definition: acd.h:58
@ ACD_STATE_PROBE_WAIT
Definition: acd.h:62
@ ACD_STATE_PASSIVE_ONGOING
Definition: acd.h:75
@ ACD_STATE_ANNOUNCE_WAIT
Definition: acd.h:66
@ ACD_STATE_PROBING
Definition: acd.h:64
@ ACD_STATE_RATE_LIMIT
Definition: acd.h:78
@ ACD_STATE_ONGOING
Definition: acd.h:70
@ ACD_STATE_OFF
Definition: acd.h:60
@ ACD_STATE_ANNOUNCING
Definition: acd.h:68