Lines Matching defs:state

66 void AURPsndRIAck(state, m, flags)
67 aurp_state_t *state;
79 sequence_number = state->rcv_sequence_number;
87 hdrp->connection_id = state->rcv_connection_id;
94 state->rem_node));
95 AURPsend(m, AUD_AURP, state->rem_node);
99 void AURPsndRIReq_locked(state)
100 aurp_state_t *state;
103 AURPsndRIReq(state);
108 void AURPsndRIReq(state)
109 aurp_state_t *state;
116 if (state->rcv_state == AURPSTATE_Unconnected) {
119 if (state->rcv_tmo && (state->rcv_state != AURPSTATE_WaitingForRIRsp)) {
129 hdrp->connection_id = state->rcv_connection_id;
134 /* update state info */
135 state->rcv_state = AURPSTATE_WaitingForRIRsp;
139 state->rem_node));
140 AURPsend(m, AUD_AURP, state->rem_node);
144 timeout(AURPsndRIReq_locked, state, AURP_RetryInterval*HZ);
145 state->rcv_tmo = 1;
149 void AURPsndRIRsp_locked(state)
150 aurp_state_t *state;
153 AURPsndRIRsp(state);
158 void AURPsndRIRsp(state)
159 aurp_state_t *state;
167 /* make sure we're in a valid state to send RI response */
168 if ((state->snd_state == AURPSTATE_Unconnected) ||
169 (state->snd_state == AURPSTATE_WaitingForRIAck2)) {
173 /* update state info */
174 state->snd_state = AURPSTATE_WaitingForRIAck1;
176 if (state->rsp_m == 0) {
179 timeout(AURPsndRIRsp_locked, state, AURP_RetryInterval*HZ);
180 state->snd_tmo = 1;
184 state->rsp_m = m;
188 hdrp->connection_id = state->snd_connection_id;
189 hdrp->sequence_number = state->snd_sequence_number;
194 state->snd_next_entry = AURPgetri(
195 state->snd_next_entry, gbuf_wptr(m), &len);
199 if (!state->snd_next_entry)
204 m = (gbuf_t *)gbuf_dupb(state->rsp_m);
207 timeout(AURPsndRIRsp_locked, state, AURP_RetryInterval*HZ);
208 state->snd_tmo = 1;
214 AURPsend(m, AUD_AURP, state->rem_node);
219 void AURPsndRIUpd_locked(state)
220 aurp_state_t *state;
223 AURPsndRIUpd(state);
228 void AURPsndRIUpd(state)
229 aurp_state_t *state;
237 /* make sure we're in a valid state to send update */
238 if (state->snd_next_entry || (state->upd_m == 0) ||
239 (state->snd_state == AURPSTATE_Unconnected) ||
240 (state->snd_state == AURPSTATE_WaitingForRIAck1)) {
244 /* update state info */
245 state->snd_state = AURPSTATE_WaitingForRIAck2;
247 if (state->snd_tmo == 0) {
249 m = state->upd_m;
255 hdrp->connection_id = state->snd_connection_id;
256 hdrp->sequence_number = state->snd_sequence_number;
262 m = (gbuf_t *)gbuf_dupb(state->upd_m);
265 timeout(AURPsndRIUpd_locked, state, AURP_RetryInterval*HZ);
266 state->snd_tmo = 1;
272 AURPsend(m, AUD_AURP, state->rem_node);
278 void AURPrcvRIReq(state, m)
279 aurp_state_t *state;
286 /* make sure we're in a valid state to accept it */
287 if ((state->snd_state == AURPSTATE_Unconnected) ||
288 (state->snd_state == AURPSTATE_WaitingForRIAck2)) {
295 if (hdrp->connection_id != state->snd_connection_id) {
298 hdrp->connection_id, state->snd_connection_id));
303 if (state->snd_state != AURPSTATE_WaitingForRIAck1) {
304 state->snd_next_entry = 0;
305 if (state->rsp_m) {
306 gbuf_freem(state->rsp_m);
307 state->rsp_m = 0;
309 AURPsndRIRsp(state);
316 void AURPrcvRIRsp(state, m)
317 aurp_state_t *state;
323 /* make sure we're in a valid state to accept it */
324 if (state->rcv_state != AURPSTATE_WaitingForRIRsp) {
331 if (hdrp->connection_id != state->rcv_connection_id) {
334 hdrp->connection_id, state->rcv_connection_id));
340 if (hdrp->sequence_number != state->rcv_sequence_number) {
341 if ( ((state->rcv_sequence_number == AURP_FirstSeqNum) &&
343 (hdrp->sequence_number == (state->rcv_sequence_number-1)) ) {
344 AURPsndRIAck(state, m, AURPFLG_SZI);
348 hdrp->sequence_number, state->rcv_sequence_number));
355 state->rcv_state = AURPSTATE_Connected;
360 untimeout(AURPsndRIReq_locked, state);
361 state->rcv_tmo = 0;
364 AURPsndRIAck(state, 0, AURPFLG_SZI);
366 /* update state info */
367 if (++state->rcv_sequence_number == 0)
368 state->rcv_sequence_number = AURP_FirstSeqNum;
371 if (AURPsetri(state->rem_node, m)) {
377 if (state->rcv_state == AURPSTATE_Connected)
378 state->get_zi = 1;
382 void AURPrcvRIUpd(state, m)
383 aurp_state_t *state;
388 /* make sure we're in a valid state to accept it */
389 if (state->rcv_state == AURPSTATE_Unconnected) {
396 if (hdrp->connection_id != state->rcv_connection_id) {
399 hdrp->connection_id, state->rcv_connection_id));
405 if (hdrp->sequence_number != state->rcv_sequence_number) {
406 if ( ((state->rcv_sequence_number == AURP_FirstSeqNum) &&
408 (hdrp->sequence_number == (state->rcv_sequence_number-1)) ) {
409 AURPsndRIAck(state, m, AURPFLG_SZI);
413 hdrp->sequence_number, state->rcv_sequence_number));
423 AURPsndRIAck(state, 0, AURPFLG_SZI);
425 /* update state info */
426 if (++state->rcv_sequence_number == 0)
427 state->rcv_sequence_number = AURP_FirstSeqNum;
430 if (AURPupdateri(state->rem_node, m)) {
435 state->get_zi = 1;
441 void AURPrcvRIAck(state, m)
442 aurp_state_t *state;
450 dPrintf(D_M_AURP, D_L_INFO, ("AURPrcvRIAck: state=%d\n",
451 state->snd_state));
453 /* make sure we're in a valid state to accept it */
454 snd_state = state->snd_state;
457 (hdrp->sequence_number == state->snd_sequence_number)) {
461 untimeout(AURPsndRIRsp_locked, state);
462 dat_m = state->rsp_m;
463 state->rsp_m = 0;
467 untimeout(AURPsndRIUpd_locked, state);
468 dat_m = state->upd_m;
469 state->upd_m = 0;
472 state->snd_tmo = 0;
476 if (++state->snd_sequence_number == 0)
477 state->snd_sequence_number = AURP_FirstSeqNum;
479 /* update state info */
480 state->snd_state = AURPSTATE_Connected;
482 if (state->snd_next_entry) /* more RI responses to send? */
483 AURPsndRIRsp(state);
487 AURPsndZRsp(state, dat_m, flag);
770 aurp_state_t *state = (aurp_state_t *)&aurp_state[1];
811 for (node=1; node <= dst_addr_cnt; node++, state++) {
813 (!(state->snd_sui & AURPFLG_NA))) continue;
815 (!(state->snd_sui & AURPFLG_ND))) continue;
817 (!(state->snd_sui & AURPFLG_NDC))) continue;
818 if ((state->snd_state != AURPSTATE_Unconnected) &&
819 (state->snd_state != AURPSTATE_WaitingForRIAck2)) {
820 if ((m = state->upd_m) == 0) {
826 state->upd_m = m;
843 AURPsndRIUpd(state);