Lines Matching refs:pif
1425 struct port_if* pif;
1433 pif = pc->pif;
1434 log_assert(pif->inuse > 0);
1436 pif->avail_ports[pif->avail_total - pif->inuse] = pc->number;
1438 pif->inuse--;
1439 pif->out[pc->index] = pif->out[pif->inuse];
1440 pif->out[pc->index]->index = pc->index;
1650 static int setup_if(struct port_if* pif, const char* addrstr,
1654 pif->avail_total = numavail;
1655 pif->avail_ports = (int*)memdup(avail, (size_t)numavail*sizeof(int));
1656 if(!pif->avail_ports)
1659 if(!ipstrtoaddr(addrstr, UNBOUND_DNS_PORT, &pif->addr, &pif->addrlen) &&
1661 &pif->addr, &pif->addrlen, &pif->pfxlen))
1663 pif->maxout = (int)numfd;
1664 pif->inuse = 0;
1665 pif->out = (struct port_comm**)calloc(numfd,
1667 if(!pif->out)
2116 struct port_if* pif;
2127 pif = &ifs[my_if];
2131 if(pif->inuse >= pif->avail_total) {
2138 my_port = pif->inuse + ub_random_max(outnet->rnd,
2139 pif->avail_total - pif->inuse);
2141 my_port = ub_random_max(outnet->rnd, pif->avail_total);
2142 if(my_port < pif->inuse) {
2144 pend->pc = pif->out[my_port];
2151 log_assert(pif->inuse < pif->maxout);
2152 portno = pif->avail_ports[my_port - pif->inuse];
2156 fd = udp_sockport(&pif->addr, pif->addrlen, pif->pfxlen,
2186 pend->pc->pif = pif;
2187 pend->pc->index = pif->inuse;
2192 pif->out[pif->inuse] = pend->pc;
2194 pif->avail_ports[my_port - pif->inuse] =
2195 pif->avail_ports[pif->avail_total-pif->inuse-1];
2197 pif->inuse++;
2264 log_addr(VERB_ALGO, "from local addr", &pend->pc->pif->addr, pend->pc->pif->addrlen);
2266 dt_msg_send_outside_query(outnet->dtenv, &pend->addr, &pend->pc->pif->addr, comm_udp, NULL,
3330 log_addr(VERB_ALGO, "to local addr", &p->pc->pif->addr,
3331 p->pc->pif->addrlen);
3333 &p->pc->pif->addr, c->type, c->ssl, sq->zone, sq->zonelen,
3583 struct port_if* pif;
3603 pif = &outnet->ip6_ifs[i];
3612 pif = &outnet->ip4_ifs[i];
3614 addr = &pif->addr;
3615 addrlen = pif->addrlen;
3617 pnum = ub_random_max(outnet->rnd, pif->avail_total);
3618 if(pnum < pif->inuse) {
3620 port = pif->out[pnum]->number;
3623 port = pif->avail_ports[pnum - pif->inuse];
3867 if_get_mem(struct port_if* pif)
3871 s = sizeof(*pif) +
3873 sizeof(int)*pif->avail_total +
3875 sizeof(struct port_comm*)*pif->maxout;
3876 for(i=0; i<pif->inuse; i++)
3877 s += sizeof(*pif->out[i]) +
3878 comm_point_get_mem(pif->out[i]->cp);