Lines Matching defs:hc_rule

385 ilbd_hc_copy_srvs(uint32_t *rbuf, size_t *rbufsz, ilbd_hc_rule_t *hc_rule,
404 tmp_srv = list_head(&hc_rule->hcr_servers);
420 tmp_srv = list_next(&hc_rule->hcr_servers, tmp_srv);
434 ilbd_hc_rule_t *hc_rule;
438 for (hc_rule = list_head(&hc->ihc_rules); hc_rule != NULL;
439 hc_rule = list_next(&hc->ihc_rules, hc_rule)) {
440 if (strcasecmp(hc_rule->hcr_rule->irl_name,
444 ilbd_hc_copy_srvs(rbuf, rbufsz, hc_rule, rulename);
728 ilbd_hc_srv_add(ilbd_hc_t *hc, ilbd_hc_rule_t *hc_rule,
737 new_srv->shc_hc_rule = hc_rule;
744 if ((hc_rule->hcr_rule->irl_flags & ILB_FLAGS_RULE_ENABLED) &&
756 list_insert_tail(&hc_rule->hcr_servers, new_srv);
776 ilbd_hc_srv_rem(ilbd_hc_rule_t *hc_rule, const ilb_sg_srv_t *srv)
780 for (tmp_srv = list_head(&hc_rule->hcr_servers); tmp_srv != NULL;
781 tmp_srv = list_next(&hc_rule->hcr_servers, tmp_srv)) {
783 list_remove(&hc_rule->hcr_servers, tmp_srv);
796 ilbd_hc_srv_rem_all(ilbd_hc_rule_t *hc_rule)
800 while ((srv = list_remove_head(&hc_rule->hcr_servers)) != NULL) {
813 ilbd_hc_rule_t *hc_rule;
830 if ((hc_rule = calloc(1, sizeof (ilbd_hc_rule_t))) == NULL) {
835 hc_rule->hcr_rule = rule;
836 list_create(&hc_rule->hcr_servers, sizeof (ilbd_hc_srv_t),
843 if ((ret = ilbd_hc_srv_add(hc, hc_rule, &ilbd_srv->isv_srv,
846 ilbd_hc_srv_rem_all(hc_rule);
847 free(hc_rule);
851 list_insert_tail(&hc->ihc_rules, hc_rule);
862 ilbd_hc_rule_t *hc_rule;
870 for (hc_rule = list_head(&hc->ihc_rules); hc_rule != NULL;
871 hc_rule = list_next(&hc->ihc_rules, hc_rule)) {
872 if (hc_rule->hcr_rule == rule)
875 if (hc_rule == NULL) {
880 ilbd_hc_srv_rem_all(hc_rule);
881 list_remove(&hc->ihc_rules, hc_rule);
889 * ilbd_hc_rule_t is returned in **hc_rule.
893 ilbd_hc_t **hc, ilbd_hc_rule_t **hc_rule)
904 *hc_rule = tmp_hc_rule;
917 ilbd_hc_rule_t *hc_rule;
919 if (!ilbd_hc_check_rule(rule->irl_hcname, rule, &hc, &hc_rule))
921 return (ilbd_hc_srv_add(hc, hc_rule, srv, ev_port));
929 ilbd_hc_rule_t *hc_rule;
931 if (!ilbd_hc_check_rule(rule->irl_hcname, rule, &hc, &hc_rule))
933 return (ilbd_hc_srv_rem(hc_rule, srv));
942 ilbd_hc_rule_t *hc_rule;
946 if (!ilbd_hc_check_rule(rule->irl_hcname, rule, &hc, &hc_rule))
948 for (tmp_srv = list_head(&hc_rule->hcr_servers); tmp_srv != NULL;
949 tmp_srv = list_next(&hc_rule->hcr_servers, tmp_srv)) {
1001 ilbd_hc_rule_t *hc_rule;
1005 if (!ilbd_hc_check_rule(rule->irl_hcname, rule, &hc, &hc_rule))
1008 for (tmp_srv = list_head(&hc_rule->hcr_servers); tmp_srv != NULL;
1009 tmp_srv = list_next(&hc_rule->hcr_servers, tmp_srv)) {
1044 for (tmp_srv = list_prev(&hc_rule->hcr_servers, tmp_srv);
1046 tmp_srv = list_prev(&hc_rule->hcr_servers, tmp_srv)) {