Home | History | Annotate | Download | only in netinet

Lines Matching refs:stcb

223 copy_out_local_addresses(struct sctp_inpcb *inp, struct sctp_tcb *stcb, struct sysctl_req *req)
238 if (stcb) {
240 loopback_scope = stcb->asoc.scope.loopback_scope;
241 ipv4_local_scope = stcb->asoc.scope.ipv4_local_scope;
242 local_scope = stcb->asoc.scope.local_scope;
243 site_scope = stcb->asoc.scope.site_scope;
244 ipv4_addr_legal = stcb->asoc.scope.ipv4_addr_legal;
245 ipv6_addr_legal = stcb->asoc.scope.ipv6_addr_legal;
247 conn_addr_legal = stcb->asoc.scope.conn_addr_legal;
293 if (stcb) {
298 if (sctp_is_addr_restricted(stcb, sctp_ifa))
380 if (stcb && sctp_is_addr_restricted(stcb, laddr->ifa))
432 struct sctp_tcb *stcb;
454 LIST_FOREACH(stcb, &inp->sctp_asoc_list, sctp_tcblist) {
457 TAILQ_FOREACH(net, &stcb->asoc.nets, sctp_next) {
528 LIST_FOREACH(stcb, &inp->sctp_asoc_list, sctp_tcblist) {
529 SCTP_TCB_LOCK(stcb);
530 atomic_add_int(&stcb->asoc.refcnt, 1);
531 SCTP_TCB_UNLOCK(stcb);
534 xstcb.remote_port = ntohs(stcb->rport);
535 if (stcb->asoc.primary_destination != NULL)
536 xstcb.primary_addr = stcb->asoc.primary_destination->ro._l_addr;
537 xstcb.heartbeat_interval = stcb->asoc.heart_beat_delay;
538 xstcb.state = SCTP_GET_STATE(&stcb->asoc); /* FIXME */
542 xstcb.assoc_id = sctp_get_associd(stcb);
543 xstcb.peers_rwnd = stcb->asoc.peers_rwnd;
546 xstcb.assoc_id = sctp_get_associd(stcb);
547 xstcb.peers_rwnd = stcb->asoc.peers_rwnd;
549 xstcb.in_streams = stcb->asoc.streamincnt;
550 xstcb.out_streams = stcb->asoc.streamoutcnt;
551 xstcb.max_nr_retrans = stcb->asoc.overall_error_count;
553 xstcb.T1_expireries = stcb->asoc.timoinit + stcb->asoc.timocookie;
554 xstcb.T2_expireries = stcb->asoc.timoshutdown + stcb->asoc.timoshutdownack;
555 xstcb.retransmitted_tsns = stcb->asoc.marked_retrans;
556 xstcb.start_time.tv_sec = (uint32_t)stcb->asoc.start_time.tv_sec;
557 xstcb.start_time.tv_usec = (uint32_t)stcb->asoc.start_time.tv_usec;
558 xstcb.discontinuity_time.tv_sec = (uint32_t)stcb->asoc.discontinuity_time.tv_sec;
559 xstcb.discontinuity_time.tv_usec = (uint32_t)stcb->asoc.discontinuity_time.tv_usec;
560 xstcb.total_sends = stcb->total_sends;
561 xstcb.total_recvs = stcb->total_recvs;
562 xstcb.local_tag = stcb->asoc.my_vtag;
563 xstcb.remote_tag = stcb->asoc.peer_vtag;
564 xstcb.initial_tsn = stcb->asoc.init_seq_number;
565 xstcb.highest_tsn = stcb->asoc.sending_seq - 1;
566 xstcb.cumulative_tsn = stcb->asoc.last_acked_seq;
567 xstcb.cumulative_tsn_ack = stcb->asoc.cumulative_tsn;
568 xstcb.mtu = stcb->asoc.smallest_mtu;
569 xstcb.refcnt = stcb->asoc.refcnt;
575 atomic_subtract_int(&stcb->asoc.refcnt, 1);
580 error = copy_out_local_addresses(inp, stcb, req);
583 atomic_subtract_int(&stcb->asoc.refcnt, 1);
586 TAILQ_FOREACH(net, &stcb->asoc.nets, sctp_next) {
616 atomic_subtract_int(&stcb->asoc.refcnt, 1);
622 atomic_subtract_int(&stcb->asoc.refcnt, 1);