ip_vs_service
struct ip_vs_conn *ip_vs_new_conn_out(struct ip_vs_service *svc,
int ip_vs_bind_scheduler(struct ip_vs_service *svc,
void ip_vs_unbind_scheduler(struct ip_vs_service *svc,
ip_vs_schedule(struct ip_vs_service *svc, struct sk_buff *skb,
int ip_vs_leave(struct ip_vs_service *svc, struct sk_buff *skb,
void ip_vs_scheduler_err(struct ip_vs_service *svc, const char *msg);
struct ip_vs_service *
static inline int ip_vs_register_conntrack(struct ip_vs_service *svc)
static inline void ip_vs_unregister_conntrack(struct ip_vs_service *svc)
struct ip_vs_service __rcu *svc; /* service it belongs to */
int (*init_service)(struct ip_vs_service *svc);
void (*done_service)(struct ip_vs_service *svc);
int (*add_dest)(struct ip_vs_service *svc, struct ip_vs_dest *dest);
int (*del_dest)(struct ip_vs_service *svc, struct ip_vs_dest *dest);
int (*upd_dest)(struct ip_vs_service *svc, struct ip_vs_dest *dest);
struct ip_vs_dest* (*schedule)(struct ip_vs_service *svc,
struct ip_vs_conn* (*conn_out)(struct ip_vs_service *svc,
struct ip_vs_service *svc;
struct ip_vs_conn *ip_vs_new_conn_out(struct ip_vs_service *svc,
struct ip_vs_service *svc;
struct ip_vs_service *svc;
struct ip_vs_service *svc;
ip_vs_conn_stats(struct ip_vs_conn *cp, struct ip_vs_service *svc)
ip_vs_conn_fill_param_persist(const struct ip_vs_service *svc,
ip_vs_sched_persist(struct ip_vs_service *svc,
ip_vs_schedule(struct ip_vs_service *svc, struct sk_buff *skb,
int ip_vs_leave(struct ip_vs_service *svc, struct sk_buff *skb,
ip_vs_new_dest(struct ip_vs_service *svc, struct ip_vs_dest_user_kern *udest)
ip_vs_add_dest(struct ip_vs_service *svc, struct ip_vs_dest_user_kern *udest)
ip_vs_edit_dest(struct ip_vs_service *svc, struct ip_vs_dest_user_kern *udest)
static void __ip_vs_unlink_dest(struct ip_vs_service *svc,
ip_vs_del_dest(struct ip_vs_service *svc, struct ip_vs_dest_user_kern *udest)
struct ip_vs_service **svc_p)
struct ip_vs_service *svc = NULL;
svc = kzalloc_obj(struct ip_vs_service);
ip_vs_edit_service(struct ip_vs_service *svc, struct ip_vs_service_user_kern *u)
static void __ip_vs_del_service(struct ip_vs_service *svc, bool cleanup)
static void ip_vs_unlink_service(struct ip_vs_service *svc, bool cleanup)
static int ip_vs_del_service(struct ip_vs_service *svc)
struct ip_vs_service *svc;
struct ip_vs_service *svc;
static int ip_vs_zero_service(struct ip_vs_service *svc)
struct ip_vs_service *svc;
static struct ip_vs_service *ip_vs_info_array(struct seq_file *seq, loff_t pos)
struct ip_vs_service *svc;
struct ip_vs_service *svc;
return hlist_entry(e, struct ip_vs_service, s_list);
return hlist_entry(e, struct ip_vs_service, f_list);
const struct ip_vs_service *svc = v;
struct ip_vs_service *svc;
ip_vs_copy_service(struct ip_vs_service_entry *dst, struct ip_vs_service *src)
struct ip_vs_service *svc;
struct ip_vs_service *svc;
struct ip_vs_service *svc;
struct ip_vs_service *svc)
struct ip_vs_service *svc,
struct ip_vs_service *svc;
struct ip_vs_service **ret_svc)
struct ip_vs_service *svc;
static int ip_vs_svc_hash(struct ip_vs_service *svc)
static struct ip_vs_service *ip_vs_genl_find_service(struct netns_ipvs *ipvs,
struct ip_vs_service *svc;
struct ip_vs_service *svc;
static int ip_vs_svc_unhash(struct ip_vs_service *svc)
struct ip_vs_service *svc = NULL;
static inline struct ip_vs_service *
struct ip_vs_service *svc;
struct ip_vs_service *svc;
static inline struct ip_vs_service *
struct ip_vs_service *svc;
struct ip_vs_service *
struct ip_vs_service *svc;
__ip_vs_bind_svc(struct ip_vs_dest *dest, struct ip_vs_service *svc)
static void ip_vs_service_free(struct ip_vs_service *svc)
struct ip_vs_service *svc;
svc = container_of(head, struct ip_vs_service, rcu_head);
static void __ip_vs_svc_put(struct ip_vs_service *svc)
static void __ip_vs_del_service(struct ip_vs_service *svc, bool cleanup);
ip_vs_lookup_dest(struct ip_vs_service *svc, int dest_af,
struct ip_vs_service *svc;
ip_vs_trash_get_dest(struct ip_vs_service *svc, int dest_af,
struct ip_vs_service *svc = rcu_dereference_protected(dest->svc, 1);
__ip_vs_update_dest(struct ip_vs_service *svc, struct ip_vs_dest *dest,
struct ip_vs_service *old_svc;
static int ip_vs_dh_init_svc(struct ip_vs_service *svc)
static void ip_vs_dh_done_svc(struct ip_vs_service *svc)
static int ip_vs_dh_dest_changed(struct ip_vs_service *svc,
ip_vs_dh_schedule(struct ip_vs_service *svc, const struct sk_buff *skb,
ip_vs_dh_reassign(struct ip_vs_dh_state *s, struct ip_vs_service *svc)
ip_vs_fo_schedule(struct ip_vs_service *svc, const struct sk_buff *skb,
struct ip_vs_service *svc; /* pointer back to service */
static void ip_vs_lblc_flush(struct ip_vs_service *svc)
static int sysctl_lblc_expiration(struct ip_vs_service *svc)
static inline void ip_vs_lblc_full_check(struct ip_vs_service *svc)
struct ip_vs_service *svc = tbl->svc;
static int ip_vs_lblc_init_svc(struct ip_vs_service *svc)
static void ip_vs_lblc_done_svc(struct ip_vs_service *svc)
__ip_vs_lblc_schedule(struct ip_vs_service *svc)
is_overloaded(struct ip_vs_dest *dest, struct ip_vs_service *svc)
ip_vs_lblc_schedule(struct ip_vs_service *svc, const struct sk_buff *skb,
struct ip_vs_service *svc; /* pointer back to service */
static void ip_vs_lblcr_flush(struct ip_vs_service *svc)
static int sysctl_lblcr_expiration(struct ip_vs_service *svc)
static inline void ip_vs_lblcr_full_check(struct ip_vs_service *svc)
struct ip_vs_service *svc = tbl->svc;
static int ip_vs_lblcr_init_svc(struct ip_vs_service *svc)
static void ip_vs_lblcr_done_svc(struct ip_vs_service *svc)
__ip_vs_lblcr_schedule(struct ip_vs_service *svc)
is_overloaded(struct ip_vs_dest *dest, struct ip_vs_service *svc)
ip_vs_lblcr_schedule(struct ip_vs_service *svc, const struct sk_buff *skb,
ip_vs_lc_schedule(struct ip_vs_service *svc, const struct sk_buff *skb,
struct ip_vs_service *svc)
struct ip_vs_service *svc)
ip_vs_mh_get(struct ip_vs_service *svc, struct ip_vs_mh_state *s,
ip_vs_mh_get_fallback(struct ip_vs_service *svc, struct ip_vs_mh_state *s,
struct ip_vs_service *svc)
static int ip_vs_mh_gcd_weight(struct ip_vs_service *svc)
static int ip_vs_mh_shift_weight(struct ip_vs_service *svc, int gcd)
static int ip_vs_mh_init_svc(struct ip_vs_service *svc)
static void ip_vs_mh_done_svc(struct ip_vs_service *svc)
static int ip_vs_mh_dest_changed(struct ip_vs_service *svc,
ip_vs_mh_schedule(struct ip_vs_service *svc, const struct sk_buff *skb,
ip_vs_nq_schedule(struct ip_vs_service *svc, const struct sk_buff *skb,
ip_vs_ovf_schedule(struct ip_vs_service *svc, const struct sk_buff *skb,
ip_vs_sip_conn_out(struct ip_vs_service *svc,
struct ip_vs_service *svc;
struct ip_vs_service *svc;
struct ip_vs_service *svc;
static int ip_vs_rr_init_svc(struct ip_vs_service *svc)
static int ip_vs_rr_del_dest(struct ip_vs_service *svc, struct ip_vs_dest *dest)
ip_vs_rr_schedule(struct ip_vs_service *svc, const struct sk_buff *skb,
void ip_vs_scheduler_err(struct ip_vs_service *svc, const char *msg)
int ip_vs_bind_scheduler(struct ip_vs_service *svc,
void ip_vs_unbind_scheduler(struct ip_vs_service *svc,
ip_vs_sed_schedule(struct ip_vs_service *svc, const struct sk_buff *skb,
ip_vs_sh_get(struct ip_vs_service *svc, struct ip_vs_sh_state *s,
ip_vs_sh_get_fallback(struct ip_vs_service *svc, struct ip_vs_sh_state *s,
ip_vs_sh_reassign(struct ip_vs_sh_state *s, struct ip_vs_service *svc)
static int ip_vs_sh_init_svc(struct ip_vs_service *svc)
static void ip_vs_sh_done_svc(struct ip_vs_service *svc)
static int ip_vs_sh_dest_changed(struct ip_vs_service *svc,
ip_vs_sh_schedule(struct ip_vs_service *svc, const struct sk_buff *skb,
static struct ip_vs_dest *ip_vs_twos_schedule(struct ip_vs_service *svc,
ip_vs_wlc_schedule(struct ip_vs_service *svc, const struct sk_buff *skb,
static int ip_vs_wrr_init_svc(struct ip_vs_service *svc)
static void ip_vs_wrr_done_svc(struct ip_vs_service *svc)
static int ip_vs_wrr_dest_changed(struct ip_vs_service *svc,
ip_vs_wrr_schedule(struct ip_vs_service *svc, const struct sk_buff *skb,
static int ip_vs_wrr_gcd_weight(struct ip_vs_service *svc)
static int ip_vs_wrr_max_weight(struct ip_vs_service *svc)