Home | History | Annotate | Download | only in netinet

Lines Matching refs:it

187 	 * change before we fail it.
371 * before we can mark it ..
396 * be the bounds and don't worry about it. This
460 * If it is less than DATAGRAM_ACKED it MUST
475 * seconds past our min.. forget it we will
489 /* ok it was sent after our boundary time. */
503 /* Is it expired? */
507 /* Yes so drop it */
782 * the association. This may fail it if SACKs are not coming
795 /* Was it our primary? */
798 * Yes, note it as such and find an alternate
800 * the primary if it goes active AND if someone does
881 /* If we have more than one addr use it */
974 /* is it what we want */
1044 /* compose a new ASCONF chunk and send it */
1078 * ASCONFs but maybe is to data etc. e.g. it is not
1211 /* Check to see if some data queued, if so report it */
1228 /* Probably should go in and make it go back through and add fragments allowed */
1248 /* Zero PBA, if it needs it */
1341 * the timer though just in case it is updated
1346 /* ok it will fit out the door */
1433 sctp_iterator_timer(struct sctp_iterator *it)
1443 if (it->inp == NULL) {
1448 LIST_REMOVE(it, sctp_nxt_itr);
1453 callout_stop(&it->tmr.timer);
1454 if (it->function_atend != NULL) {
1455 (*it->function_atend)(it->pointer, it->val);
1457 callout_destroy(&it->tmr.timer);
1458 free(it, M_PCB);
1462 SCTP_INP_WLOCK(it->inp);
1463 while ((it->pcb_flags) && ((it->inp->sctp_flags & it->pcb_flags) != it->pcb_flags)) {
1465 if (it->iterator_flags & SCTP_ITERATOR_DO_SINGLE_INP) {
1466 SCTP_INP_WUNLOCK(it->inp);
1469 SCTP_INP_WUNLOCK(it->inp);
1470 it->inp = LIST_NEXT(it->inp, sctp_list);
1471 if (it->inp == NULL) {
1474 SCTP_INP_WLOCK(it->inp);
1476 if ((it->inp->inp_starting_point_for_iterator != NULL) &&
1477 (it->inp->inp_starting_point_for_iterator != it)) {
1479 it->inp);
1480 SCTP_INP_WUNLOCK(it->inp);
1484 it->inp->inp_starting_point_for_iterator = it;
1485 SCTP_INP_WUNLOCK(it->inp);
1486 SCTP_INP_RLOCK(it->inp);
1490 if (it->stcb == NULL) {
1491 it->stcb = LIST_FIRST(&it->inp->sctp_asoc_list);
1493 if (it->stcb->asoc.stcb_starting_point_for_iterator == it) {
1494 it->stcb->asoc.stcb_starting_point_for_iterator = NULL;
1496 while (it->stcb) {
1497 SCTP_TCB_LOCK(it->stcb);
1498 if (it->asoc_state && ((it->stcb->asoc.state & it->asoc_state) != it->asoc_state)) {
1499 SCTP_TCB_UNLOCK(it->stcb);
1500 it->stcb = LIST_NEXT(it->stcb, sctp_tcblist);
1505 SCTP_INP_RUNLOCK(it->inp);
1506 (*it->function_toapply)(it->inp, it->stcb, it->pointer, it->val);
1507 sctp_chunk_output(it->inp, it->stcb, 1);
1508 SCTP_TCB_UNLOCK(it->stcb);
1511 it->stcb->asoc.stcb_starting_point_for_iterator = it;
1514 sctp_timer_start(SCTP_TIMER_TYPE_ITERATOR, (struct sctp_inpcb *)it, NULL, NULL);
1517 SCTP_INP_RLOCK(it->inp);
1518 it->stcb = LIST_NEXT(it->stcb, sctp_tcblist);
1521 SCTP_INP_RUNLOCK(it->inp);
1522 SCTP_INP_WLOCK(it->inp);
1523 it->inp->inp_starting_point_for_iterator = NULL;
1524 SCTP_INP_WUNLOCK(it->inp);
1525 if (it->iterator_flags & SCTP_ITERATOR_DO_SINGLE_INP) {
1526 it->inp = NULL;
1529 it->inp = LIST_NEXT(it->inp, sctp_list);
1532 if (it->inp == NULL) {