server/failover.c File Reference

#include "cdefs.h"
#include "dhcpd.h"
#include <omapip/omapip_p.h>
#include "trace.h"

Go to the source code of this file.

Defines

#define FMA   (char *)0, (unsigned *)0, 0
#define FMA   (char *)0, (unsigned *)0, 0
#define FMA   (char *)0, (unsigned *)0, 0
#define FMA   (char *)0, (unsigned *)0, 0
#define FMA   (char *)0, (unsigned *)0, 0
#define FMA   (char *)0, (unsigned *)0, 0
#define FMA   (char *)0, (unsigned *)0, 0
#define FMA   (char *)0, (unsigned *)0, 0
#define FMA   (char *)0, (unsigned *)0, 0
#define FMA   (char *)0, (unsigned *)0, 0
#define FMA   (char *)0, (unsigned *)0, 0
#define FREE_LEASES   0
#define ACTIVE_LEASES   1
#define EXPIRED_LEASES   2
#define ABANDONED_LEASES   3
#define BACKUP_LEASES   4
#define RESERVED_LEASES   5

Functions

void dhcp_failover_startup ()
int dhcp_failover_write_all_states ()
isc_result_t enter_failover_peer (dhcp_failover_state_t *peer)
isc_result_t find_failover_peer (dhcp_failover_state_t **peer, const char *name, const char *file, int line)
isc_result_t dhcp_failover_link_initiate (omapi_object_t *h)
isc_result_t dhcp_failover_link_signal (omapi_object_t *h, const char *name, va_list ap)
isc_result_t dhcp_failover_link_set_value (omapi_object_t *h, omapi_object_t *id, omapi_data_string_t *name, omapi_typed_data_t *value)
isc_result_t dhcp_failover_link_get_value (omapi_object_t *h, omapi_object_t *id, omapi_data_string_t *name, omapi_value_t **value)
isc_result_t dhcp_failover_link_destroy (omapi_object_t *h, const char *file, int line)
isc_result_t dhcp_failover_link_stuff_values (omapi_object_t *c, omapi_object_t *id, omapi_object_t *l)
isc_result_t dhcp_failover_listen (omapi_object_t *h)
isc_result_t dhcp_failover_listener_signal (omapi_object_t *o, const char *name, va_list ap)
isc_result_t dhcp_failover_listener_set_value (omapi_object_t *h, omapi_object_t *id, omapi_data_string_t *name, omapi_typed_data_t *value)
isc_result_t dhcp_failover_listener_get_value (omapi_object_t *h, omapi_object_t *id, omapi_data_string_t *name, omapi_value_t **value)
isc_result_t dhcp_failover_listener_destroy (omapi_object_t *h, const char *file, int line)
isc_result_t dhcp_failover_listener_stuff (omapi_object_t *c, omapi_object_t *id, omapi_object_t *p)
isc_result_t dhcp_failover_register (omapi_object_t *h)
isc_result_t dhcp_failover_state_signal (omapi_object_t *o, const char *name, va_list ap)
isc_result_t dhcp_failover_state_transition (dhcp_failover_state_t *state, const char *name)
isc_result_t dhcp_failover_set_service_state (dhcp_failover_state_t *state)
isc_result_t dhcp_failover_set_state (dhcp_failover_state_t *state, enum failover_state new_state)
isc_result_t dhcp_failover_peer_state_changed (dhcp_failover_state_t *state, failover_message_t *msg)
void dhcp_failover_pool_rebalance (void *failover_state)
void dhcp_failover_pool_check (struct pool *pool)
int dhcp_failover_state_pool_check (dhcp_failover_state_t *state)
isc_result_t dhcp_failover_send_updates (dhcp_failover_state_t *state)
int dhcp_failover_queue_update (struct lease *lease, int immediate)
int dhcp_failover_send_acks (dhcp_failover_state_t *state)
void dhcp_failover_toack_queue_timeout (void *vs)
int dhcp_failover_queue_ack (dhcp_failover_state_t *state, failover_message_t *msg)
void dhcp_failover_ack_queue_remove (dhcp_failover_state_t *state, struct lease *lease)
isc_result_t dhcp_failover_state_set_value (omapi_object_t *h, omapi_object_t *id, omapi_data_string_t *name, omapi_typed_data_t *value)
void dhcp_failover_keepalive (void *vs)
void dhcp_failover_reconnect (void *vs)
void dhcp_failover_startup_timeout (void *vs)
void dhcp_failover_link_startup_timeout (void *vl)
void dhcp_failover_listener_restart (void *vs)
void dhcp_failover_auto_partner_down (void *vs)
isc_result_t dhcp_failover_state_get_value (omapi_object_t *h, omapi_object_t *id, omapi_data_string_t *name, omapi_value_t **value)
isc_result_t dhcp_failover_state_destroy (omapi_object_t *h, const char *file, int line)
isc_result_t dhcp_failover_state_stuff (omapi_object_t *c, omapi_object_t *id, omapi_object_t *h)
isc_result_t dhcp_failover_state_lookup (omapi_object_t **sp, omapi_object_t *id, omapi_object_t *ref)
isc_result_t dhcp_failover_state_create (omapi_object_t **sp, omapi_object_t *id)
isc_result_t dhcp_failover_state_remove (omapi_object_t *sp, omapi_object_t *id)
int dhcp_failover_state_match (dhcp_failover_state_t *state, u_int8_t *addr, unsigned addrlen)
int dhcp_failover_state_match_by_name (dhcp_failover_state_t *state, failover_option_t *name)
const char * dhcp_failover_reject_reason_print (int reason)
const char * dhcp_failover_state_name_print (enum failover_state state)
const char * dhcp_failover_message_name (unsigned type)
const char * dhcp_failover_option_name (unsigned type)
failover_option_tdhcp_failover_option_printf (unsigned code, char *obuf, unsigned *obufix, unsigned obufmax, const char *fmt,...)
failover_option_tdhcp_failover_make_option (unsigned code, char *obuf, unsigned *obufix, unsigned obufmax,...)
isc_result_t dhcp_failover_put_message (dhcp_failover_link_t *link, omapi_object_t *connection, int msg_type, u_int32_t xid,...)
void dhcp_failover_timeout (void *vstate)
void dhcp_failover_send_contact (void *vstate)
isc_result_t dhcp_failover_send_state (dhcp_failover_state_t *state)
isc_result_t dhcp_failover_send_connect (omapi_object_t *l)
isc_result_t dhcp_failover_send_connectack (omapi_object_t *l, dhcp_failover_state_t *state, int reason, const char *errmsg)
isc_result_t dhcp_failover_send_disconnect (omapi_object_t *l, int reason, const char *message)
isc_result_t dhcp_failover_send_bind_update (dhcp_failover_state_t *state, struct lease *lease)
isc_result_t dhcp_failover_send_bind_ack (dhcp_failover_state_t *state, failover_message_t *msg, int reason, const char *message)
isc_result_t dhcp_failover_send_poolreq (dhcp_failover_state_t *state)
isc_result_t dhcp_failover_send_poolresp (dhcp_failover_state_t *state, int leases)
isc_result_t dhcp_failover_send_update_request (dhcp_failover_state_t *state)
isc_result_t dhcp_failover_send_update_request_all (dhcp_failover_state_t *state)
isc_result_t dhcp_failover_send_update_done (dhcp_failover_state_t *state)
isc_result_t dhcp_failover_process_bind_update (dhcp_failover_state_t *state, failover_message_t *msg)
isc_result_t dhcp_failover_process_bind_ack (dhcp_failover_state_t *state, failover_message_t *msg)
isc_result_t dhcp_failover_generate_update_queue (dhcp_failover_state_t *state, int everythingp)
isc_result_t dhcp_failover_process_update_request (dhcp_failover_state_t *state, failover_message_t *msg)
isc_result_t dhcp_failover_process_update_request_all (dhcp_failover_state_t *state, failover_message_t *msg)
isc_result_t dhcp_failover_process_update_done (dhcp_failover_state_t *state, failover_message_t *msg)
void dhcp_failover_recover_done (void *sp)
int load_balance_mine (struct packet *packet, dhcp_failover_state_t *state)
int peer_wants_lease (struct lease *lp)
binding_state_t normal_binding_state_transition_check (struct lease *lease, dhcp_failover_state_t *state, binding_state_t binding_state, u_int32_t tsfp)
binding_state_t conflict_binding_state_transition_check (struct lease *lease, dhcp_failover_state_t *state, binding_state_t binding_state, u_int32_t tsfp)
int lease_mine_to_reallocate (struct lease *lease)
 OMAPI_OBJECT_ALLOC (dhcp_failover_state, dhcp_failover_state_t, dhcp_type_failover_state)

Variables

dhcp_failover_state_tfailover_states
dhcp_failover_listener_tfailover_listeners
unsigned char loadb_mx_tbl [256]

Define Documentation

#define ABANDONED_LEASES   3
#define ACTIVE_LEASES   1
#define BACKUP_LEASES   4
#define EXPIRED_LEASES   2
#define FMA   (char *)0, (unsigned *)0, 0
#define FMA   (char *)0, (unsigned *)0, 0
#define FMA   (char *)0, (unsigned *)0, 0
#define FMA   (char *)0, (unsigned *)0, 0
#define FMA   (char *)0, (unsigned *)0, 0
#define FMA   (char *)0, (unsigned *)0, 0
#define FMA   (char *)0, (unsigned *)0, 0
#define FMA   (char *)0, (unsigned *)0, 0
#define FMA   (char *)0, (unsigned *)0, 0
#define FMA   (char *)0, (unsigned *)0, 0
#define FMA   (char *)0, (unsigned *)0, 0
#define FREE_LEASES   0
#define RESERVED_LEASES   5

Function Documentation

binding_state_t conflict_binding_state_transition_check ( struct lease lease,
dhcp_failover_state_t state,
binding_state_t  binding_state,
u_int32_t  tsfp 
)

Definition at line 6138 of file failover.c.

void dhcp_failover_ack_queue_remove ( dhcp_failover_state_t state,
struct lease lease 
)

Definition at line 2901 of file failover.c.

void dhcp_failover_auto_partner_down ( void *  vs  ) 

Definition at line 3113 of file failover.c.

isc_result_t dhcp_failover_generate_update_queue ( dhcp_failover_state_t state,
int  everythingp 
)

Definition at line 5578 of file failover.c.

void dhcp_failover_keepalive ( void *  vs  ) 

Definition at line 3025 of file failover.c.

isc_result_t dhcp_failover_link_destroy ( omapi_object_t h,
const char *  file,
int  line 
)

Definition at line 907 of file failover.c.

isc_result_t dhcp_failover_link_get_value ( omapi_object_t h,
omapi_object_t id,
omapi_data_string_t name,
omapi_value_t **  value 
)

Definition at line 877 of file failover.c.

isc_result_t dhcp_failover_link_initiate ( omapi_object_t h  ) 

Definition at line 176 of file failover.c.

isc_result_t dhcp_failover_link_set_value ( omapi_object_t h,
omapi_object_t id,
omapi_data_string_t name,
omapi_typed_data_t value 
)

Definition at line 857 of file failover.c.

isc_result_t dhcp_failover_link_signal ( omapi_object_t h,
const char *  name,
va_list  ap 
)

Definition at line 278 of file failover.c.

void dhcp_failover_link_startup_timeout ( void *  vl  ) 

Definition at line 3069 of file failover.c.

isc_result_t dhcp_failover_link_stuff_values ( omapi_object_t c,
omapi_object_t id,
omapi_object_t l 
)

Definition at line 928 of file failover.c.

isc_result_t dhcp_failover_listen ( omapi_object_t h  ) 

Definition at line 969 of file failover.c.

isc_result_t dhcp_failover_listener_destroy ( omapi_object_t h,
const char *  file,
int  line 
)

Definition at line 1162 of file failover.c.

isc_result_t dhcp_failover_listener_get_value ( omapi_object_t h,
omapi_object_t id,
omapi_data_string_t name,
omapi_value_t **  value 
)

Definition at line 1148 of file failover.c.

void dhcp_failover_listener_restart ( void *  vs  ) 

Definition at line 3085 of file failover.c.

isc_result_t dhcp_failover_listener_set_value ( omapi_object_t h,
omapi_object_t id,
omapi_data_string_t name,
omapi_typed_data_t value 
)

Definition at line 1134 of file failover.c.

isc_result_t dhcp_failover_listener_signal ( omapi_object_t o,
const char *  name,
va_list  ap 
)

Definition at line 1062 of file failover.c.

isc_result_t dhcp_failover_listener_stuff ( omapi_object_t c,
omapi_object_t id,
omapi_object_t p 
)

Definition at line 1179 of file failover.c.

failover_option_t* dhcp_failover_make_option ( unsigned  code,
char *  obuf,
unsigned *  obufix,
unsigned  obufmax,
  ... 
)

Definition at line 3904 of file failover.c.

const char* dhcp_failover_message_name ( unsigned  type  ) 

Definition at line 3727 of file failover.c.

const char* dhcp_failover_option_name ( unsigned  type  ) 

Definition at line 3777 of file failover.c.

failover_option_t* dhcp_failover_option_printf ( unsigned  code,
char *  obuf,
unsigned *  obufix,
unsigned  obufmax,
const char *  fmt,
  ... 
)

Definition at line 3878 of file failover.c.

isc_result_t dhcp_failover_peer_state_changed ( dhcp_failover_state_t state,
failover_message_t msg 
)

Definition at line 1947 of file failover.c.

void dhcp_failover_pool_check ( struct pool pool  ) 

Definition at line 2603 of file failover.c.

void dhcp_failover_pool_rebalance ( void *  failover_state  ) 

Definition at line 2362 of file failover.c.

isc_result_t dhcp_failover_process_bind_ack ( dhcp_failover_state_t state,
failover_message_t msg 
)

Definition at line 5414 of file failover.c.

isc_result_t dhcp_failover_process_bind_update ( dhcp_failover_state_t state,
failover_message_t msg 
)

Definition at line 5056 of file failover.c.

isc_result_t dhcp_failover_process_update_done ( dhcp_failover_state_t state,
failover_message_t msg 
)

Definition at line 5691 of file failover.c.

isc_result_t dhcp_failover_process_update_request ( dhcp_failover_state_t state,
failover_message_t msg 
)

Definition at line 5624 of file failover.c.

isc_result_t dhcp_failover_process_update_request_all ( dhcp_failover_state_t state,
failover_message_t msg 
)

Definition at line 5659 of file failover.c.

isc_result_t dhcp_failover_put_message ( dhcp_failover_link_t link,
omapi_object_t connection,
int  msg_type,
u_int32_t  xid,
  ... 
)

Definition at line 4143 of file failover.c.

int dhcp_failover_queue_ack ( dhcp_failover_state_t state,
failover_message_t msg 
)

Definition at line 2861 of file failover.c.

int dhcp_failover_queue_update ( struct lease lease,
int  immediate 
)

Definition at line 2775 of file failover.c.

void dhcp_failover_reconnect ( void *  vs  ) 

Definition at line 3029 of file failover.c.

void dhcp_failover_recover_done ( void *  sp  ) 

Definition at line 5769 of file failover.c.

isc_result_t dhcp_failover_register ( omapi_object_t h  ) 

Definition at line 1194 of file failover.c.

const char* dhcp_failover_reject_reason_print ( int  reason  ) 

Definition at line 3600 of file failover.c.

int dhcp_failover_send_acks ( dhcp_failover_state_t state  ) 

Definition at line 2817 of file failover.c.

isc_result_t dhcp_failover_send_bind_ack ( dhcp_failover_state_t state,
failover_message_t msg,
int  reason,
const char *  message 
)

Definition at line 4683 of file failover.c.

isc_result_t dhcp_failover_send_bind_update ( dhcp_failover_state_t state,
struct lease lease 
)

Definition at line 4555 of file failover.c.

isc_result_t dhcp_failover_send_connect ( omapi_object_t l  ) 

Definition at line 4379 of file failover.c.

isc_result_t dhcp_failover_send_connectack ( omapi_object_t l,
dhcp_failover_state_t state,
int  reason,
const char *  errmsg 
)

Definition at line 4435 of file failover.c.

void dhcp_failover_send_contact ( void *  vstate  ) 

Definition at line 4282 of file failover.c.

isc_result_t dhcp_failover_send_disconnect ( omapi_object_t l,
int  reason,
const char *  message 
)

Definition at line 4506 of file failover.c.

isc_result_t dhcp_failover_send_poolreq ( dhcp_failover_state_t state  ) 

Definition at line 4769 of file failover.c.

isc_result_t dhcp_failover_send_poolresp ( dhcp_failover_state_t state,
int  leases 
)

Definition at line 4807 of file failover.c.

isc_result_t dhcp_failover_send_state ( dhcp_failover_state_t state  ) 

Definition at line 4327 of file failover.c.

isc_result_t dhcp_failover_send_update_done ( dhcp_failover_state_t state  ) 

Definition at line 4940 of file failover.c.

isc_result_t dhcp_failover_send_update_request ( dhcp_failover_state_t state  ) 

Definition at line 4848 of file failover.c.

isc_result_t dhcp_failover_send_update_request_all ( dhcp_failover_state_t state  ) 

Definition at line 4893 of file failover.c.

isc_result_t dhcp_failover_send_updates ( dhcp_failover_state_t state  ) 

Definition at line 2708 of file failover.c.

isc_result_t dhcp_failover_set_service_state ( dhcp_failover_state_t state  ) 

Definition at line 1608 of file failover.c.

isc_result_t dhcp_failover_set_state ( dhcp_failover_state_t state,
enum failover_state  new_state 
)

Definition at line 1699 of file failover.c.

void dhcp_failover_startup ( void   ) 

Definition at line 55 of file failover.c.

void dhcp_failover_startup_timeout ( void *  vs  ) 

Definition at line 3058 of file failover.c.

isc_result_t dhcp_failover_state_create ( omapi_object_t **  sp,
omapi_object_t id 
)

Definition at line 3550 of file failover.c.

isc_result_t dhcp_failover_state_destroy ( omapi_object_t h,
const char *  file,
int  line 
)

Definition at line 3223 of file failover.c.

isc_result_t dhcp_failover_state_get_value ( omapi_object_t h,
omapi_object_t id,
omapi_data_string_t name,
omapi_value_t **  value 
)

Definition at line 3124 of file failover.c.

isc_result_t dhcp_failover_state_lookup ( omapi_object_t **  sp,
omapi_object_t id,
omapi_object_t ref 
)

Definition at line 3489 of file failover.c.

int dhcp_failover_state_match ( dhcp_failover_state_t state,
u_int8_t *  addr,
unsigned  addrlen 
)

Definition at line 3562 of file failover.c.

int dhcp_failover_state_match_by_name ( dhcp_failover_state_t state,
failover_option_t name 
)

Definition at line 3589 of file failover.c.

const char* dhcp_failover_state_name_print ( enum failover_state  state  ) 

Definition at line 3682 of file failover.c.

int dhcp_failover_state_pool_check ( dhcp_failover_state_t state  ) 

Definition at line 2693 of file failover.c.

isc_result_t dhcp_failover_state_remove ( omapi_object_t sp,
omapi_object_t id 
)

Definition at line 3556 of file failover.c.

isc_result_t dhcp_failover_state_set_value ( omapi_object_t h,
omapi_object_t id,
omapi_data_string_t name,
omapi_typed_data_t value 
)

Definition at line 2961 of file failover.c.

isc_result_t dhcp_failover_state_signal ( omapi_object_t o,
const char *  name,
va_list  ap 
)

Definition at line 1238 of file failover.c.

isc_result_t dhcp_failover_state_stuff ( omapi_object_t c,
omapi_object_t id,
omapi_object_t h 
)

Definition at line 3268 of file failover.c.

isc_result_t dhcp_failover_state_transition ( dhcp_failover_state_t state,
const char *  name 
)

Definition at line 1491 of file failover.c.

void dhcp_failover_timeout ( void *  vstate  ) 

Definition at line 4258 of file failover.c.

void dhcp_failover_toack_queue_timeout ( void *  vs  ) 

Definition at line 2847 of file failover.c.

int dhcp_failover_write_all_states ( void   ) 

Definition at line 110 of file failover.c.

isc_result_t enter_failover_peer ( dhcp_failover_state_t peer  ) 

Definition at line 121 of file failover.c.

isc_result_t find_failover_peer ( dhcp_failover_state_t **  peer,
const char *  name,
const char *  file,
int  line 
)

Definition at line 144 of file failover.c.

int lease_mine_to_reallocate ( struct lease lease  ) 

Definition at line 6225 of file failover.c.

int load_balance_mine ( struct packet packet,
dhcp_failover_state_t state 
)

Definition at line 5845 of file failover.c.

binding_state_t normal_binding_state_transition_check ( struct lease lease,
dhcp_failover_state_t state,
binding_state_t  binding_state,
u_int32_t  tsfp 
)

Definition at line 5948 of file failover.c.

OMAPI_OBJECT_ALLOC ( dhcp_failover_state  ,
dhcp_failover_state_t  ,
dhcp_type_failover_state   
)

Definition at line 6378 of file failover.c.

int peer_wants_lease ( struct lease lp  ) 

Definition at line 5905 of file failover.c.


Variable Documentation

Definition at line 39 of file failover.c.

Definition at line 36 of file failover.c.

unsigned char loadb_mx_tbl[256]
Initial value:
 {
    251, 175, 119, 215,  81,  14,  79, 191, 103,  49,
    181, 143, 186, 157,   0, 232,  31,  32,  55,  60,
    152,  58,  17, 237, 174,  70, 160, 144, 220,  90,
    57,  223,  59,   3,  18, 140, 111, 166, 203, 196,
    134, 243, 124,  95, 222, 179, 197,  65, 180,  48,
     36,  15, 107,  46, 233, 130, 165,  30, 123, 161,
    209,  23,  97,  16,  40,  91, 219,  61, 100,  10,
    210, 109, 250, 127,  22, 138,  29, 108, 244,  67,
    207,   9, 178, 204,  74,  98, 126, 249, 167, 116,
    34,   77, 193, 200, 121,   5,  20, 113,  71,  35,
    128,  13, 182,  94,  25, 226, 227, 199,  75,  27,
     41, 245, 230, 224,  43, 225, 177,  26, 155, 150,
    212, 142, 218, 115, 241,  73,  88, 105,  39, 114,
     62, 255, 192, 201, 145, 214, 168, 158, 221, 148,
    154, 122,  12,  84,  82, 163,  44, 139, 228, 236,
    205, 242, 217,  11, 187, 146, 159,  64,  86, 239,
    195,  42, 106, 198, 118, 112, 184, 172,  87,   2,
    173, 117, 176, 229, 247, 253, 137, 185,  99, 164,
    102, 147,  45,  66, 231,  52, 141, 211, 194, 206,
    246, 238,  56, 110,  78, 248,  63, 240, 189,  93,
     92,  51,  53, 183,  19, 171,  72,  50,  33, 104,
    101,  69,   8, 252,  83, 120,  76, 135,  85,  54,
    202, 125, 188, 213,  96, 235, 136, 208, 162, 129,
    190, 132, 156,  38,  47,   1,   7, 254,  24,   4,
    216, 131,  89,  21,  28, 133,  37, 153, 149,  80,
    170,  68,   6, 169, 234, 151 }

Definition at line 5807 of file failover.c.


Generated on 5 Apr 2014 for ISC DHCP by  doxygen 1.6.1