Lines Matching refs:dreq

976 appl_request_downstream_free(struct appl_request_downstream *dreq)  in appl_request_downstream_free()  argument
980 if (dreq == NULL) in appl_request_downstream_free()
983 RB_REMOVE(appl_requests, &(dreq->ard_backend->ab_requests), dreq); in appl_request_downstream_free()
984 evtimer_del(&(dreq->ard_timer)); in appl_request_downstream_free()
986 for (vb = dreq->ard_vblist; vb != NULL; vb = vb->avi_next) { in appl_request_downstream_free()
992 appl_request_upstream_resolve(dreq->ard_request); in appl_request_downstream_free()
993 free(dreq); in appl_request_downstream_free()
1000 struct appl_request_downstream *dreq; in appl_request_upstream_resolve() local
1020 dreq = NULL; in appl_request_upstream_resolve()
1065 if (dreq == NULL) { in appl_request_upstream_resolve()
1066 if ((dreq = malloc(sizeof(*dreq))) == NULL) in appl_request_upstream_resolve()
1069 dreq->ard_request = ureq; in appl_request_upstream_resolve()
1070 dreq->ard_vblist = vb; in appl_request_upstream_resolve()
1071 dreq->ard_backend = vb->avi_region->ar_backend; in appl_request_upstream_resolve()
1072 dreq->ard_retries = dreq->ard_backend->ab_retries; in appl_request_upstream_resolve()
1073 dreq->ard_requesttype = ureq->aru_requesttype; in appl_request_upstream_resolve()
1079 if (dreq->ard_requesttype == SNMP_C_GETBULKREQ && in appl_request_upstream_resolve()
1080 dreq->ard_backend->ab_fn->ab_getbulk == NULL) in appl_request_upstream_resolve()
1081 dreq->ard_requesttype = SNMP_C_GETNEXTREQ; in appl_request_upstream_resolve()
1088 dreq->ard_maxrepetitions = 0; in appl_request_upstream_resolve()
1089 dreq->ard_nonrepeaters = 1; in appl_request_upstream_resolve()
1091 dreq->ard_maxrepetitions = maxrepetitions; in appl_request_upstream_resolve()
1092 dreq->ard_nonrepeaters = 0; in appl_request_upstream_resolve()
1095 dreq->ard_requestid = arc4random(); in appl_request_upstream_resolve()
1097 &(dreq->ard_backend->ab_requests), dreq) != NULL); in appl_request_upstream_resolve()
1101 dreq->ard_nonrepeaters++; in appl_request_upstream_resolve()
1103 &(dreq->ard_vblist->avi_varbind); in appl_request_upstream_resolve()
1104 vb->avi_next = dreq->ard_vblist; in appl_request_upstream_resolve()
1105 dreq->ard_vblist = vb; in appl_request_upstream_resolve()
1114 if (dreq->ard_maxrepetitions > maxrepetitions || in appl_request_upstream_resolve()
1115 dreq->ard_maxrepetitions == 0) in appl_request_upstream_resolve()
1116 dreq->ard_maxrepetitions = maxrepetitions; in appl_request_upstream_resolve()
1119 vb->avi_request_downstream = dreq; in appl_request_upstream_resolve()
1125 if (dreq == NULL) { in appl_request_upstream_resolve()
1134 evtimer_set(&(dreq->ard_timer), appl_request_downstream_timeout, dreq); in appl_request_upstream_resolve()
1135 evtimer_add(&(dreq->ard_timer), &tv); in appl_request_upstream_resolve()
1137 appl_request_downstream_send(dreq); in appl_request_upstream_resolve()
1142 appl_request_downstream_send(struct appl_request_downstream *dreq) in appl_request_downstream_send() argument
1145 appl_pdu_log(dreq->ard_backend, dreq->ard_requesttype, in appl_request_downstream_send()
1146 dreq->ard_requestid, 0, 0, &(dreq->ard_vblist->avi_varbind)); in appl_request_downstream_send()
1148 if (dreq->ard_requesttype == SNMP_C_GETREQ) { in appl_request_downstream_send()
1149 dreq->ard_backend->ab_fn->ab_get(dreq->ard_backend, in appl_request_downstream_send()
1150 dreq->ard_request->aru_transactionid, in appl_request_downstream_send()
1151 dreq->ard_requestid, in appl_request_downstream_send()
1152 APPL_CONTEXT_NAME(dreq->ard_request->aru_ctx), in appl_request_downstream_send()
1153 &(dreq->ard_vblist->avi_varbind)); in appl_request_downstream_send()
1154 } else if (dreq->ard_requesttype == SNMP_C_GETNEXTREQ) { in appl_request_downstream_send()
1155 dreq->ard_backend->ab_fn->ab_getnext(dreq->ard_backend, in appl_request_downstream_send()
1156 dreq->ard_request->aru_transactionid, in appl_request_downstream_send()
1157 dreq->ard_requestid, in appl_request_downstream_send()
1158 APPL_CONTEXT_NAME(dreq->ard_request->aru_ctx), in appl_request_downstream_send()
1159 &(dreq->ard_vblist->avi_varbind)); in appl_request_downstream_send()
1167 struct appl_request_downstream *dreq = cookie; in appl_request_downstream_timeout() local
1170 dreq->ard_backend->ab_name, dreq->ard_requestid, in appl_request_downstream_timeout()
1171 dreq->ard_retries > 0 ? ": retrying" : ""); in appl_request_downstream_timeout()
1172 if (dreq->ard_retries > 0) { in appl_request_downstream_timeout()
1173 dreq->ard_retries--; in appl_request_downstream_timeout()
1174 appl_request_downstream_send(dreq); in appl_request_downstream_timeout()
1176 appl_response(dreq->ard_backend, dreq->ard_requestid, in appl_request_downstream_timeout()
1177 APPL_ERROR_GENERR, 1, &(dreq->ard_vblist->avi_varbind)); in appl_request_downstream_timeout()
1295 struct appl_request_downstream *dreq, search; in appl_response() local
1308 dreq = RB_FIND(appl_requests, &(backend->ab_requests), &search); in appl_response()
1309 if (dreq == NULL) { in appl_response()
1314 ureq = dreq->ard_request; in appl_response()
1317 origvb = dreq->ard_vblist; in appl_response()
1318 if (!appl_error_valid(error, dreq->ard_requesttype)) { in appl_response()
1411 if (dreq != NULL) { in appl_response()
1413 appl_varbind_error(dreq->ard_vblist, APPL_ERROR_GENERR); in appl_response()
1414 appl_request_downstream_free(dreq); in appl_response()