Lines Matching defs:hc_rule

388 ilbd_hc_copy_srvs(uint32_t *rbuf, size_t *rbufsz, ilbd_hc_rule_t *hc_rule,
407 tmp_srv = list_head(&hc_rule->hcr_servers);
423 tmp_srv = list_next(&hc_rule->hcr_servers, tmp_srv);
437 ilbd_hc_rule_t *hc_rule;
441 for (hc_rule = list_head(&hc->ihc_rules); hc_rule != NULL;
442 hc_rule = list_next(&hc->ihc_rules, hc_rule)) {
443 if (strcasecmp(hc_rule->hcr_rule->irl_name,
447 ilbd_hc_copy_srvs(rbuf, rbufsz, hc_rule, rulename);
731 ilbd_hc_srv_add(ilbd_hc_t *hc, ilbd_hc_rule_t *hc_rule,
740 new_srv->shc_hc_rule = hc_rule;
747 if ((hc_rule->hcr_rule->irl_flags & ILB_FLAGS_RULE_ENABLED) &&
759 list_insert_tail(&hc_rule->hcr_servers, new_srv);
779 ilbd_hc_srv_rem(ilbd_hc_rule_t *hc_rule, const ilb_sg_srv_t *srv)
783 for (tmp_srv = list_head(&hc_rule->hcr_servers); tmp_srv != NULL;
784 tmp_srv = list_next(&hc_rule->hcr_servers, tmp_srv)) {
786 list_remove(&hc_rule->hcr_servers, tmp_srv);
799 ilbd_hc_srv_rem_all(ilbd_hc_rule_t *hc_rule)
803 while ((srv = list_remove_head(&hc_rule->hcr_servers)) != NULL) {
816 ilbd_hc_rule_t *hc_rule;
833 if ((hc_rule = calloc(1, sizeof (ilbd_hc_rule_t))) == NULL) {
838 hc_rule->hcr_rule = rule;
839 list_create(&hc_rule->hcr_servers, sizeof (ilbd_hc_srv_t),
846 if ((ret = ilbd_hc_srv_add(hc, hc_rule, &ilbd_srv->isv_srv,
849 ilbd_hc_srv_rem_all(hc_rule);
850 list_destroy(&hc_rule->hcr_servers);
851 free(hc_rule);
855 list_insert_tail(&hc->ihc_rules, hc_rule);
866 ilbd_hc_rule_t *hc_rule;
874 for (hc_rule = list_head(&hc->ihc_rules); hc_rule != NULL;
875 hc_rule = list_next(&hc->ihc_rules, hc_rule)) {
876 if (hc_rule->hcr_rule == rule)
879 if (hc_rule == NULL) {
884 ilbd_hc_srv_rem_all(hc_rule);
885 list_remove(&hc->ihc_rules, hc_rule);
887 list_destroy(&hc_rule->hcr_servers);
888 free(hc_rule);
895 * ilbd_hc_rule_t is returned in **hc_rule.
899 ilbd_hc_t **hc, ilbd_hc_rule_t **hc_rule)
910 *hc_rule = tmp_hc_rule;
923 ilbd_hc_rule_t *hc_rule;
925 if (!ilbd_hc_check_rule(rule->irl_hcname, rule, &hc, &hc_rule))
927 return (ilbd_hc_srv_add(hc, hc_rule, srv, ev_port));
935 ilbd_hc_rule_t *hc_rule;
937 if (!ilbd_hc_check_rule(rule->irl_hcname, rule, &hc, &hc_rule))
939 return (ilbd_hc_srv_rem(hc_rule, srv));
948 ilbd_hc_rule_t *hc_rule;
952 if (!ilbd_hc_check_rule(rule->irl_hcname, rule, &hc, &hc_rule))
954 for (tmp_srv = list_head(&hc_rule->hcr_servers); tmp_srv != NULL;
955 tmp_srv = list_next(&hc_rule->hcr_servers, tmp_srv)) {
1007 ilbd_hc_rule_t *hc_rule;
1011 if (!ilbd_hc_check_rule(rule->irl_hcname, rule, &hc, &hc_rule))
1014 for (tmp_srv = list_head(&hc_rule->hcr_servers); tmp_srv != NULL;
1015 tmp_srv = list_next(&hc_rule->hcr_servers, tmp_srv)) {
1050 for (tmp_srv = list_prev(&hc_rule->hcr_servers, tmp_srv);
1052 tmp_srv = list_prev(&hc_rule->hcr_servers, tmp_srv)) {