Lines Matching refs:sctp
136 sctp_conn_request(sctp_t *sctp, mblk_t *mp, uint_t ifindex, uint_t ip_hdr_len, in sctp_conn_request() argument
148 sctp_listen_cnt_t *slc = sctp->sctp_listen_cnt; in sctp_conn_request()
160 connp = sctp->sctp_connp; in sctp_conn_request()
161 sctps = sctp->sctp_sctps; in sctp_conn_request()
190 if ((eager = sctp_create_eager(sctp)) == NULL) { in sctp_conn_request()
274 err = sctp_accept_comm(sctp, eager, mp, ip_hdr_len, iack); in sctp_conn_request()
331 if ((eager->sctp_ulpd = sctp->sctp_ulp_newconn(sctp->sctp_ulpd, in sctp_conn_request()
349 sctp_connect(sctp_t *sctp, const struct sockaddr *dst, uint32_t addrlen, in sctp_connect() argument
360 int sleep = sctp->sctp_cansleep ? KM_SLEEP : KM_NOSLEEP; in sctp_connect()
363 sctp_stack_t *sctps = sctp->sctp_sctps; in sctp_connect()
364 conn_t *connp = sctp->sctp_connp; in sctp_connect()
431 sctp->sctp_linklocal = 1; in sctp_connect()
447 RUN_SCTP(sctp); in sctp_connect()
451 WAKE_SCTP(sctp); in sctp_connect()
473 switch (sctp->sctp_state) { in sctp_connect()
486 ASSERT(sctp->sctp_nsaddrs == 0); in sctp_connect()
490 WAKE_SCTP(sctp); in sctp_connect()
491 if ((err = sctp_bind(sctp, (struct sockaddr *)&ss, in sctp_connect()
495 RUN_SCTP(sctp); in sctp_connect()
500 ASSERT(sctp->sctp_nsaddrs > 0); in sctp_connect()
512 sctp_conn_hash_remove(sctp); in sctp_connect()
516 lsctp = sctp_lookup(sctp, &dstaddr, tbf, &connp->conn_ports, in sctp_connect()
522 WAKE_SCTP(sctp); in sctp_connect()
530 if ((err = sctp_add_faddr(sctp, &dstaddr, sleep, in sctp_connect()
533 WAKE_SCTP(sctp); in sctp_connect()
536 cur_fp = sctp->sctp_faddrs; in sctp_connect()
542 WAKE_SCTP(sctp); in sctp_connect()
546 sctp->sctp_primary = cur_fp; in sctp_connect()
547 sctp->sctp_current = cur_fp; in sctp_connect()
548 sctp->sctp_mss = cur_fp->sf_pmss; in sctp_connect()
549 sctp_conn_hash_insert(tbf, sctp, 1); in sctp_connect()
563 if ((err = sctp_set_hdraddrs(sctp)) != 0) { in sctp_connect()
564 sctp_conn_hash_remove(sctp); in sctp_connect()
565 WAKE_SCTP(sctp); in sctp_connect()
569 if ((err = sctp_build_hdrs(sctp, KM_SLEEP)) != 0) { in sctp_connect()
570 sctp_conn_hash_remove(sctp); in sctp_connect()
571 WAKE_SCTP(sctp); in sctp_connect()
591 SCTP_FADDR_TIMER_RESTART(sctp, cur_fp, cur_fp->sf_rto); in sctp_connect()
592 sctp->sctp_state = SCTPS_COOKIE_WAIT; in sctp_connect()
598 initmp = sctp_init_mp(sctp, cur_fp); in sctp_connect()
606 if (sctp->sctp_nsaddrs == 0) { in sctp_connect()
607 sctp_conn_hash_remove(sctp); in sctp_connect()
609 WAKE_SCTP(sctp); in sctp_connect()
614 WAKE_SCTP(sctp); in sctp_connect()
629 fsize = sizeof (in6_addr_t) * sctp->sctp_nfaddrs; in sctp_connect()
630 ssize = sizeof (in6_addr_t) * sctp->sctp_nsaddrs; in sctp_connect()
634 sctp_get_saddr_list(sctp, slist, ssize); in sctp_connect()
635 sctp_get_faddr_list(sctp, flist, fsize); in sctp_connect()
637 sctp->sctp_nsaddrs, connp->conn_lport, in sctp_connect()
638 flist, sctp->sctp_nfaddrs, connp->conn_fport, in sctp_connect()
639 B_TRUE, (cl_sctp_handle_t)sctp); in sctp_connect()
645 BUMP_LOCAL(sctp->sctp_opkts); in sctp_connect()
646 WAKE_SCTP(sctp); in sctp_connect()
649 sctp_set_ulp_prop(sctp); in sctp_connect()
653 ip0dbg(("sctp_connect: invalid state. %d\n", sctp->sctp_state)); in sctp_connect()
654 WAKE_SCTP(sctp); in sctp_connect()