Lines Matching defs:mgr
118 dns_dispatchmgr_t *mgr; /*%< dispatch manager */
178 dispatchmgr_destroy(dns_dispatchmgr_t *mgr);
189 dispatch_createudp(dns_dispatchmgr_t *mgr, const isc_sockaddr_t *localaddr,
248 mgr_log(dns_dispatchmgr_t *mgr, int level, const char *fmt, ...)
252 mgr_log(dns_dispatchmgr_t *mgr, int level, const char *fmt, ...) {
265 DNS_LOGMODULE_DISPATCH, level, "dispatchmgr %p: %s", mgr,
270 inc_stats(dns_dispatchmgr_t *mgr, isc_statscounter_t counter) {
271 if (mgr->stats != NULL) {
272 isc_stats_increment(mgr->stats, counter);
277 dec_stats(dns_dispatchmgr_t *mgr, isc_statscounter_t counter) {
278 if (mgr->stats != NULL) {
279 isc_stats_decrement(mgr->stats, counter);
346 dns_dispatchmgr_t *mgr = disp->mgr;
356 nports = mgr->nv4ports;
357 ports = mgr->v4ports;
359 nports = mgr->nv6ports;
360 ports = mgr->v6ports;
537 if (disp->mgr->blackhole != NULL &&
538 dns_acl_match(&netaddr, NULL, disp->mgr->blackhole, NULL, &match,
584 inc_stats(disp->mgr, dns_resstatscounter_mismatch);
695 cds_lfht_lookup(disp->mgr->qids, qid_hash(&key), qid_match, &key,
929 setavailports(dns_dispatchmgr_t *mgr, isc_portset_t *v4portset,
939 v4ports = isc_mem_cget(mgr->mctx, nv4ports, sizeof(in_port_t));
943 v6ports = isc_mem_cget(mgr->mctx, nv6ports, sizeof(in_port_t));
958 if (mgr->v4ports != NULL) {
959 isc_mem_cput(mgr->mctx, mgr->v4ports, mgr->nv4ports,
962 mgr->v4ports = v4ports;
963 mgr->nv4ports = nv4ports;
965 if (mgr->v6ports != NULL) {
966 isc_mem_cput(mgr->mctx, mgr->v6ports, mgr->nv6ports,
969 mgr->v6ports = v6ports;
970 mgr->nv6ports = nv6ports;
982 dns_dispatchmgr_t *mgr = NULL;
989 mgr = isc_mem_get(mctx, sizeof(dns_dispatchmgr_t));
990 *mgr = (dns_dispatchmgr_t){
997 __func__, __FILE__, __LINE__, mgr);
999 isc_refcount_init(&mgr->references, 1);
1001 isc_mem_attach(mctx, &mgr->mctx);
1002 isc_nm_attach(nm, &mgr->nm);
1004 mgr->tcps = isc_mem_cget(mgr->mctx, mgr->nloops, sizeof(mgr->tcps[0]));
1005 for (size_t i = 0; i < mgr->nloops; i++) {
1006 mgr->tcps[i] = cds_lfht_new(
1011 create_default_portset(mgr->mctx, AF_INET, &v4portset);
1012 create_default_portset(mgr->mctx, AF_INET6, &v6portset);
1014 setavailports(mgr, v4portset, v6portset);
1016 isc_portset_destroy(mgr->mctx, &v4portset);
1017 isc_portset_destroy(mgr->mctx, &v6portset);
1019 mgr->qids = cds_lfht_new(QIDS_INIT_SIZE, QIDS_MIN_SIZE, 0,
1023 mgr->magic = DNS_DISPATCHMGR_MAGIC;
1025 *mgrp = mgr;
1036 dns_dispatchmgr_setblackhole(dns_dispatchmgr_t *mgr, dns_acl_t *blackhole) {
1037 REQUIRE(VALID_DISPATCHMGR(mgr));
1038 if (mgr->blackhole != NULL) {
1039 dns_acl_detach(&mgr->blackhole);
1041 dns_acl_attach(blackhole, &mgr->blackhole);
1045 dns_dispatchmgr_getblackhole(dns_dispatchmgr_t *mgr) {
1046 REQUIRE(VALID_DISPATCHMGR(mgr));
1047 return mgr->blackhole;
1051 dns_dispatchmgr_setavailports(dns_dispatchmgr_t *mgr, isc_portset_t *v4portset,
1053 REQUIRE(VALID_DISPATCHMGR(mgr));
1054 return setavailports(mgr, v4portset, v6portset);
1058 dispatchmgr_destroy(dns_dispatchmgr_t *mgr) {
1059 REQUIRE(VALID_DISPATCHMGR(mgr));
1061 isc_refcount_destroy(&mgr->references);
1063 mgr->magic = 0;
1065 RUNTIME_CHECK(!cds_lfht_destroy(mgr->qids, NULL));
1067 for (size_t i = 0; i < mgr->nloops; i++) {
1068 RUNTIME_CHECK(!cds_lfht_destroy(mgr->tcps[i], NULL));
1070 isc_mem_cput(mgr->mctx, mgr->tcps, mgr->nloops, sizeof(mgr->tcps[0]));
1072 if (mgr->blackhole != NULL) {
1073 dns_acl_detach(&mgr->blackhole);
1076 if (mgr->stats != NULL) {
1077 isc_stats_detach(&mgr->stats);
1080 if (mgr->v4ports != NULL) {
1081 isc_mem_cput(mgr->mctx, mgr->v4ports, mgr->nv4ports,
1084 if (mgr->v6ports != NULL) {
1085 isc_mem_cput(mgr->mctx, mgr->v6ports, mgr->nv6ports,
1089 isc_nm_detach(&mgr->nm);
1091 isc_mem_putanddetach(&mgr->mctx, mgr, sizeof(dns_dispatchmgr_t));
1095 dns_dispatchmgr_setstats(dns_dispatchmgr_t *mgr, isc_stats_t *stats) {
1096 REQUIRE(VALID_DISPATCHMGR(mgr));
1097 REQUIRE(mgr->stats == NULL);
1099 isc_stats_attach(stats, &mgr->stats);
1106 dispatch_allocate(dns_dispatchmgr_t *mgr, isc_socktype_t type, uint32_t tid,
1110 REQUIRE(VALID_DISPATCHMGR(mgr));
1118 disp = isc_mem_get(mgr->mctx, sizeof(*disp));
1127 isc_mem_attach(mgr->mctx, &disp->mctx);
1129 dns_dispatchmgr_attach(mgr, &disp->mgr);
1176 dns_dispatch_createtcp(dns_dispatchmgr_t *mgr, const isc_sockaddr_t *localaddr,
1183 REQUIRE(VALID_DISPATCHMGR(mgr));
1186 dispatch_allocate(mgr, isc_socktype_tcp, tid, &disp);
1214 cds_lfht_add(mgr->tcps[tid], dispatch_hash(&key),
1225 mgr_log(mgr, ISC_LOG_DEBUG(90),
1236 dns_dispatch_gettcp(dns_dispatchmgr_t *mgr, const isc_sockaddr_t *destaddr,
1244 REQUIRE(VALID_DISPATCHMGR(mgr));
1257 cds_lfht_for_each_entry_duplicate(mgr->tcps[tid], dispatch_hash(&key),
1320 dns_dispatch_createudp(dns_dispatchmgr_t *mgr, const isc_sockaddr_t *localaddr,
1325 REQUIRE(VALID_DISPATCHMGR(mgr));
1329 result = dispatch_createudp(mgr, localaddr, isc_tid(), &disp);
1338 dispatch_createudp(dns_dispatchmgr_t *mgr, const isc_sockaddr_t *localaddr,
1355 dispatch_allocate(mgr, isc_socktype_udp, tid, &disp);
1362 mgr_log(mgr, ISC_LOG_DEBUG(90),
1373 * ISC_LIST_APPEND(mgr->list, disp, link);
1391 dns_dispatchmgr_t *mgr = disp->mgr;
1399 (void)cds_lfht_del(mgr->tcps[tid], &disp->ht_node);
1417 dns_dispatchmgr_detach(&disp->mgr);
1480 inc_stats(disp->mgr, dns_resstatscounter_dispsockfail);
1499 cds_lfht_add_unique(disp->mgr->qids, qid_hash(resp),
1536 inc_stats(disp->mgr, (disp->socktype == isc_socktype_udp)
1589 REQUIRE(VALID_DISPATCHMGR(resp->disp->mgr));
1631 dec_stats(disp->mgr, dns_resstatscounter_disprequdp);
1633 (void)cds_lfht_del(disp->mgr->qids, &resp->ht_node);
1652 REQUIRE(VALID_DISPATCHMGR(resp->disp->mgr));
1728 dec_stats(disp->mgr, dns_resstatscounter_dispreqtcp);
1730 (void)cds_lfht_del(disp->mgr->qids, &resp->ht_node);
1961 isc_nm_udpconnect(disp->mgr->nm, &resp->local, &resp->peer,
2012 isc_nm_streamdnsconnect(disp->mgr->nm, &disp->local,
2239 dns_dispatchmgr_t *mgr = NULL;
2246 mgr = source->mgr;
2260 result = dispatch_createudp(mgr, &source->local, i,