equilibrium2-balance.h

Go to the documentation of this file.
00001 /*
00002  * $Id: equilibrium2-balance.h 346460 2009-11-14 05:06:47Z ssiano $
00003  *
00004  * This code is provided as is by Juniper Networks SDK Developer Support.
00005  * It is provided with no warranties or guarantees, and Juniper Networks
00006  * will not provide support or maintenance of this code in any fashion.
00007  * The code is provided only to help a developer better understand how
00008  * the SDK can be used.
00009  *
00010  * Copyright (c) 2008, Juniper Networks, Inc.
00011  * All rights reserved.
00012  */
00013 
00020 #ifndef __EQUILIBRIUM2_BALANCE_H__
00021 #define __EQUILIBRIUM2_BALANCE_H__
00022 
00023 #include <stdlib.h>
00024 #include <stdbool.h>
00025 #include <strings.h>
00026 #include <sys/types.h>
00027 #include <sys/queue.h>
00028 #include <isc/eventlib.h>
00029 #include <jnx/aux_types.h>
00030 #include <jnx/atomic.h>
00031 #include <jnx/msp_locks.h>
00032 #include <jnx/msp_policy_db.h>
00033 #include <jnx/multi-svcs/msvcs_events.h>
00034 
00036 typedef struct ssn_f_action_s {
00037     LIST_ENTRY(ssn_f_action_s) entry;      
00038     svr_addr_t                 *svr_addr;  
00039 } ssn_f_action_t;
00040 
00042 typedef struct ssn_r_action_s {
00043     LIST_ENTRY(ssn_r_action_s) entry;  
00044     in_addr_t                  addr;   
00045 } ssn_r_action_t;
00046 
00047 int                     balance_pid;      
00048 msvcs_control_context_t *ctrl_ctx;        
00049 sp_svc_set_head_t       svc_set_head;     
00050 msp_spinlock_t          svc_set_lock;     
00051 svr_group_head_t        *svr_group_head;  
00052 msp_spinlock_t          svr_group_lock;   
00053 uint16_t                svr_group_count;  
00054 msvcs_event_class_t     classify_ev_class;
00069 int equilibrium2_balance_data_hdlr(msvcs_data_context_t *ctx,
00070         msvcs_data_event_t ev);
00071 
00084 int equilibrium2_balance_ctrl_hdlr(msvcs_control_context_t *ctx,
00085         msvcs_control_event_t ev);
00086 
00103 sp_svc_set_t *get_svc_set(uint16_t id, bool active);
00104 
00112 void del_svc_set(sp_svc_set_t *ss);
00113 
00114 #endif /* __EQUILIBRIUM2_BALANCE_H__ */
00115 

2007-2009 Juniper Networks, Inc. All rights reserved. The information contained herein is confidential information of Juniper Networks, Inc., and may not be used, disclosed, distributed, modified, or copied without the prior written consent of Juniper Networks, Inc. in an express license. This information is subject to change by Juniper Networks, Inc. Juniper Networks, the Juniper Networks logo, and JUNOS are registered trademarks of Juniper Networks, Inc. in the United States and other countries. All other trademarks, service marks, registered trademarks, or registered service marks are the property of their respective owners.
Generated on Sun May 30 20:27:08 2010 for SDK Your Net Corporation Equilibrium II: equilibrium2-balance 1.0 by Doxygen 1.5.1