static int ip_vs_dh_update_svc(struct ip_vs_service *svc) { struct ip_vs_dh_bucket *tbl = svc->sched_data; /* got to clean up hash buckets here */ ip_vs_dh_flush(tbl); /* assign the hash buckets with the updated service */ ip_vs_dh_assign(tbl, svc); return 0; }
static int ip_vs_dh_update_svc(struct ip_vs_service *svc) { struct ip_vs_dh_bucket *tbl = svc->sched_data; ip_vs_dh_flush(tbl); ip_vs_dh_assign(tbl, svc); return 0; }
static int ip_vs_dh_init_svc(struct ip_vs_service *svc) { struct ip_vs_dh_bucket *tbl; tbl = kmalloc(sizeof(struct ip_vs_dh_bucket)*IP_VS_DH_TAB_SIZE, GFP_ATOMIC); if (tbl == NULL) return -ENOMEM; svc->sched_data = tbl; IP_VS_DBG(6, "DH hash table (memory=%Zdbytes) allocated for " "current service\n", sizeof(struct ip_vs_dh_bucket)*IP_VS_DH_TAB_SIZE); ip_vs_dh_assign(tbl, svc); return 0; }
static int ip_vs_dh_init_svc(struct ip_vs_service *svc) { struct ip_vs_dh_bucket *tbl; /* allocate the DH table for this service */ tbl = kmalloc(sizeof(struct ip_vs_dh_bucket)*IP_VS_DH_TAB_SIZE, GFP_KERNEL); if (tbl == NULL) return -ENOMEM; svc->sched_data = tbl; IP_VS_DBG(6, "DH hash table (memory=%Zdbytes) allocated for " "current service\n", sizeof(struct ip_vs_dh_bucket)*IP_VS_DH_TAB_SIZE); /* assign the hash buckets with the updated service */ ip_vs_dh_assign(tbl, svc); return 0; }