Lines Matching defs:sctp

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