usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2264
mib2_sctp_t *sctp = (mib2_sctp_t *)item->valp;
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2266
sctpEntrySize = sctp->sctpEntrySize;
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2267
sctpLocalEntrySize = sctp->sctpLocalEntrySize;
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2268
sctpRemoteEntrySize = sctp->sctpRemoteEntrySize;
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2438
mib2_sctp_t *sctp = (mib2_sctp_t *)item->valp;
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2444
print_sctp_stats(sctp);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2651
print_sctp_stats(mib2_sctp_t *sctp)
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2654
pr_sctp_rtoalgo("sctpRtoAlgorithm", sctp->sctpRtoAlgorithm);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2655
prval("sctpRtoMin", sctp->sctpRtoMin);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2656
prval("sctpRtoMax", sctp->sctpRtoMax);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2657
prval("sctpRtoInitial", sctp->sctpRtoInitial);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2658
pr_int_val("sctpMaxAssocs", sctp->sctpMaxAssocs);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2659
prval("sctpValCookieLife", sctp->sctpValCookieLife);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2660
prval("sctpMaxInitRetr", sctp->sctpMaxInitRetr);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2661
prval("sctpCurrEstab", sctp->sctpCurrEstab);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2662
prval("sctpActiveEstab", sctp->sctpActiveEstab);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2663
prval("sctpPassiveEstab", sctp->sctpPassiveEstab);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2664
prval("sctpAborted", sctp->sctpAborted);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2665
prval("sctpShutdowns", sctp->sctpShutdowns);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2666
prval("sctpOutOfBlue", sctp->sctpOutOfBlue);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2667
prval("sctpChecksumError", sctp->sctpChecksumError);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2668
prval64("sctpOutCtrlChunks", sctp->sctpOutCtrlChunks);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2669
prval64("sctpOutOrderChunks", sctp->sctpOutOrderChunks);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2670
prval64("sctpOutUnorderChunks", sctp->sctpOutUnorderChunks);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2671
prval64("sctpRetransChunks", sctp->sctpRetransChunks);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2672
prval("sctpOutAck", sctp->sctpOutAck);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2673
prval("sctpOutAckDelayed", sctp->sctpOutAckDelayed);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2674
prval("sctpOutWinUpdate", sctp->sctpOutWinUpdate);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2675
prval("sctpOutFastRetrans", sctp->sctpOutFastRetrans);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2676
prval("sctpOutWinProbe", sctp->sctpOutWinProbe);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2677
prval64("sctpInCtrlChunks", sctp->sctpInCtrlChunks);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2678
prval64("sctpInOrderChunks", sctp->sctpInOrderChunks);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2679
prval64("sctpInUnorderChunks", sctp->sctpInUnorderChunks);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2680
prval("sctpInAck", sctp->sctpInAck);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2681
prval("sctpInDupAck", sctp->sctpInDupAck);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2682
prval("sctpInAckUnsent", sctp->sctpInAckUnsent);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2683
prval64("sctpFragUsrMsgs", sctp->sctpFragUsrMsgs);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2684
prval64("sctpReasmUsrMsgs", sctp->sctpReasmUsrMsgs);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2685
prval64("sctpOutSCTPPkts", sctp->sctpOutSCTPPkts);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2686
prval64("sctpInSCTPPkts", sctp->sctpInSCTPPkts);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2687
prval("sctpInInvalidCookie", sctp->sctpInInvalidCookie);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2688
prval("sctpTimRetrans", sctp->sctpTimRetrans);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2689
prval("sctpTimRetransDrop", sctp->sctpTimRetransDrop);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2690
prval("sctpTimHearBeatProbe", sctp->sctpTimHeartBeatProbe);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2691
prval("sctpTimHearBeatDrop", sctp->sctpTimHeartBeatDrop);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2692
prval("sctpListenDrop", sctp->sctpListenDrop);
usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c
2693
prval("sctpInClosed", sctp->sctpInClosed);
usr/src/cmd/cmd-inet/usr.sbin/snoop/snoop_sctp.c
1064
interpret_sctp(int flags, sctp_hdr_t *sctp, int iplen, int fraglen)
usr/src/cmd/cmd-inet/usr.sbin/snoop/snoop_sctp.c
1078
if (!IS_P2ALIGNED(sctp, SCTP_ALIGN)) {
usr/src/cmd/cmd-inet/usr.sbin/snoop/snoop_sctp.c
1086
fraglen -= sizeof (*sctp);
usr/src/cmd/cmd-inet/usr.sbin/snoop/snoop_sctp.c
1095
len_from_iphdr = iplen - sizeof (*sctp);
usr/src/cmd/cmd-inet/usr.sbin/snoop/snoop_sctp.c
1101
sport = ntohs(sctp->sh_sport);
usr/src/cmd/cmd-inet/usr.sbin/snoop/snoop_sctp.c
1102
dport = ntohs(sctp->sh_dport);
usr/src/cmd/cmd-inet/usr.sbin/snoop/snoop_sctp.c
1105
cp = (sctp_chunk_hdr_t *)(sctp + 1);
usr/src/cmd/cmd-inet/usr.sbin/snoop/snoop_sctp.c
1139
"Verification tag = 0x%.8x", ntohl(sctp->sh_verf));
usr/src/cmd/cmd-inet/usr.sbin/snoop/snoop_sctp.c
1141
"CRC-32c = 0x%.8x", ntohl(sctp->sh_chksum));
usr/src/cmd/mdb/common/modules/genunix/vfs.c
562
sctp_getsockaddr(sctp_t *sctp, struct sockaddr *addr)
usr/src/cmd/mdb/common/modules/genunix/vfs.c
574
conn_t *connp = sctp->sctp_connp;
usr/src/cmd/mdb/common/modules/genunix/vfs.c
577
if (sctp->sctp_nsaddrs == 0)
usr/src/cmd/mdb/common/modules/genunix/vfs.c
583
if (sctp->sctp_state >= SCTPS_ESTABLISHED && !sctp->sctp_loopback) {
usr/src/cmd/mdb/common/modules/genunix/vfs.c
588
if (sctp->sctp_saddrs[i].ipif_count == 0)
usr/src/cmd/mdb/common/modules/genunix/vfs.c
591
pobj = list_object(&sctp->sctp_saddrs[i].sctp_ipif_list,
usr/src/cmd/mdb/common/modules/genunix/vfs.c
592
sctp->sctp_saddrs[i].sctp_ipif_list.list_head.list_next);
usr/src/cmd/mdb/common/modules/genunix/vfs.c
599
for (l = 0; l < sctp->sctp_saddrs[i].ipif_count; l++) {
usr/src/cmd/mdb/common/modules/genunix/vfs.c
617
if (scanned >= sctp->sctp_nsaddrs)
usr/src/cmd/mdb/common/modules/genunix/vfs.c
621
pnode = list_d2l(&sctp->sctp_saddrs[i].
usr/src/cmd/mdb/common/modules/genunix/vfs.c
628
pobj = list_object(&sctp->sctp_saddrs[i].
usr/src/cmd/mdb/common/modules/genunix/vfs.c
643
if ((sctp->sctp_state <= SCTPS_LISTEN) &&
usr/src/cmd/mdb/common/modules/genunix/vfs.c
644
sctp->sctp_bound_to_all) {
usr/src/cmd/mdb/common/modules/genunix/vfs.c
659
if ((sctp->sctp_state <= SCTPS_LISTEN) &&
usr/src/cmd/mdb/common/modules/genunix/vfs.c
660
sctp->sctp_bound_to_all) {
usr/src/cmd/mdb/common/modules/genunix/vfs.c
680
if (scanned >= sctp->sctp_nsaddrs)
usr/src/cmd/mdb/common/modules/genunix/vfs.c
684
pnode = list_d2l(&sctp->sctp_saddrs[i].sctp_ipif_list,
usr/src/cmd/mdb/common/modules/genunix/vfs.c
691
pobj = list_object(&sctp->sctp_saddrs[i].
usr/src/cmd/mdb/common/modules/genunix/vfs.c
708
sctp_getpeeraddr(sctp_t *sctp, struct sockaddr *addr)
usr/src/cmd/mdb/common/modules/genunix/vfs.c
714
conn_t *connp = sctp->sctp_connp;
usr/src/cmd/mdb/common/modules/genunix/vfs.c
716
if (sctp->sctp_faddrs == NULL)
usr/src/cmd/mdb/common/modules/genunix/vfs.c
721
(uintptr_t)sctp->sctp_primary) == -1) {
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1007
listen_next(sctp_t *sctp)
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1009
return ((uintptr_t)sctp->sctp_listen_hash_next);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1020
conn_next(sctp_t *sctp)
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1022
return ((uintptr_t)sctp->sctp_conn_hash_next);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1041
bind_next(sctp_t *sctp)
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1043
return ((uintptr_t)sctp->sctp_bind_hash);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1057
sctp_t sctp;
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1060
if (fw->sctp != 0) {
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1062
if (mdb_vread(&sctp, sizeof (sctp), fw->sctp) == -1) {
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1063
mdb_warn("failed to read sctp at %p", fw->sctp);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1066
fw->sctp = fw->getnext(&sctp);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1067
if (fw->sctp != 0)
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1068
return (fw->sctp);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1085
fw->sctp = (uintptr_t)tf.tf_sctp;
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1086
return (fw->sctp);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1110
lw->sctp = 0;
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1126
sctp_t sctp;
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1129
if (mdb_vread(&sctp, sizeof (sctp), addr) == -1) {
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1134
status = wsp->walk_callback(addr, &sctp, wsp->walk_cbdata);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1206
sctp_t sctp;
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1211
if (mdb_vread(&sctp, sizeof (sctp), wsp->walk_addr) == -1) {
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1215
if ((wsp->walk_addr = (uintptr_t)sctp.sctp_faddrs) != 0)
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1249
sctp_t sctp;
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1257
sctp_t *sctp;
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1265
sctp = &swalker->sctp;
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1266
if (mdb_vread(sctp, sizeof (sctp_t), wsp->walk_addr) == -1) {
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1274
if (sctp->sctp_saddrs[i].ipif_count > 0) {
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1277
addr_list = &sctp->sctp_saddrs[i].sctp_ipif_list;
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1298
sctp_t *sctp;
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1311
sctp = &swalker->sctp;
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1319
if (j++ < sctp->sctp_saddrs[i].ipif_count) {
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1327
if (sctp->sctp_saddrs[i].ipif_count > 0) {
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1328
lst = &sctp->sctp_saddrs[i].sctp_ipif_list;
usr/src/cmd/mdb/common/modules/sctp/sctp.c
1593
"display sctp control structure", sctp, sctp_help },
usr/src/cmd/mdb/common/modules/sctp/sctp.c
342
sctp_t sctp;
usr/src/cmd/mdb/common/modules/sctp/sctp.c
347
if (mdb_vread(&sctp, sizeof (sctp), addr) == -1)
usr/src/cmd/mdb/common/modules/sctp/sctp.c
351
if (sctp_sent_list(sctp.sctp_xmit_head) < 0)
usr/src/cmd/mdb/common/modules/sctp/sctp.c
355
if (sctp_unsent_list(sctp.sctp_xmit_unsent) < 0)
usr/src/cmd/mdb/common/modules/sctp/sctp.c
546
state2str(sctp_t *sctp)
usr/src/cmd/mdb/common/modules/sctp/sctp.c
548
switch (sctp->sctp_state) {
usr/src/cmd/mdb/common/modules/sctp/sctp.c
564
show_sctp_flags(sctp_t *sctp)
usr/src/cmd/mdb/common/modules/sctp/sctp.c
567
sctp->sctp_understands_asconf);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
568
mdb_printf("\tdebug\t\t\t%d\n", sctp->sctp_connp->conn_debug);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
569
mdb_printf("\tcchunk_pend\t\t%d\n", sctp->sctp_cchunk_pend);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
571
sctp->sctp_connp->conn_dgram_errind);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
573
mdb_printf("\tlinger\t\t\t%d\n", sctp->sctp_connp->conn_linger);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
574
if (sctp->sctp_lingering)
usr/src/cmd/mdb/common/modules/sctp/sctp.c
576
mdb_printf("\tlingering\t\t%d\n", sctp->sctp_lingering);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
577
mdb_printf("\tloopback\t\t%d\n", sctp->sctp_loopback);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
578
mdb_printf("\tforce_sack\t\t%d\n", sctp->sctp_force_sack);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
580
mdb_printf("\tack_timer_runing\t%d\n", sctp->sctp_ack_timer_running);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
582
sctp->sctp_connp->conn_recv_ancillary.crb_recvdstaddr);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
583
mdb_printf("\thwcksum\t\t\t%d\n", sctp->sctp_hwcksum);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
584
mdb_printf("\tunderstands_addip\t%d\n", sctp->sctp_understands_addip);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
586
mdb_printf("\tbound_to_all\t\t%d\n", sctp->sctp_bound_to_all);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
587
mdb_printf("\tcansleep\t\t%d\n", sctp->sctp_cansleep);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
588
mdb_printf("\tdetached\t\t%d\n", sctp->sctp_detached);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
589
mdb_printf("\tsend_adaptation\t\t%d\n", sctp->sctp_send_adaptation);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
591
mdb_printf("\trecv_adaptation\t\t%d\n", sctp->sctp_recv_adaptation);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
592
mdb_printf("\tndelay\t\t\t%d\n", sctp->sctp_ndelay);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
593
mdb_printf("\tcondemned\t\t%d\n", sctp->sctp_condemned);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
594
mdb_printf("\tchk_fast_rexmit\t\t%d\n", sctp->sctp_chk_fast_rexmit);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
596
mdb_printf("\tprsctp_aware\t\t%d\n", sctp->sctp_prsctp_aware);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
597
mdb_printf("\tlinklocal\t\t%d\n", sctp->sctp_linklocal);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
598
mdb_printf("\trexmitting\t\t%d\n", sctp->sctp_rexmitting);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
599
mdb_printf("\tzero_win_probe\t\t%d\n", sctp->sctp_zero_win_probe);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
601
mdb_printf("\trecvsndrcvinfo\t\t%d\n", sctp->sctp_recvsndrcvinfo);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
602
mdb_printf("\trecvassocevnt\t\t%d\n", sctp->sctp_recvassocevnt);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
603
mdb_printf("\trecvpathevnt\t\t%d\n", sctp->sctp_recvpathevnt);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
604
mdb_printf("\trecvsendfailevnt\t%d\n", sctp->sctp_recvsendfailevnt);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
606
mdb_printf("\trecvpeerevnt\t\t%d\n", sctp->sctp_recvpeererr);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
607
mdb_printf("\trecvchutdownevnt\t%d\n", sctp->sctp_recvshutdownevnt);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
608
mdb_printf("\trecvcpdnevnt\t\t%d\n", sctp->sctp_recvpdevnt);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
609
mdb_printf("\trecvcalevnt\t\t%d\n\n", sctp->sctp_recvalevnt);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
686
sctp_t sctps, *sctp;
usr/src/cmd/mdb/common/modules/sctp/sctp.c
700
sctp = &sctps;
usr/src/cmd/mdb/common/modules/sctp/sctp.c
703
(uintptr_t)sctp->sctp_connp) == -1) {
usr/src/cmd/mdb/common/modules/sctp/sctp.c
704
mdb_warn("failed to read conn_t at: %p\n", sctp->sctp_connp);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
710
connp->conn_sctp = sctp;
usr/src/cmd/mdb/common/modules/sctp/sctp.c
711
sctp->sctp_connp = connp;
usr/src/cmd/mdb/common/modules/sctp/sctp.c
738
for (fp = sctp->sctp_faddrs; fp != NULL; fp = faddr.sf_next) {
usr/src/cmd/mdb/common/modules/sctp/sctp.c
753
state2str(sctp), lport, fport,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
756
if (sctp->sctp_faddrs) {
usr/src/cmd/mdb/common/modules/sctp/sctp.c
759
(uintptr_t)sctp->sctp_faddrs) != -1)
usr/src/cmd/mdb/common/modules/sctp/sctp.c
768
mdb_printf("nsaddrs\t\t%?d\n", sctp->sctp_nsaddrs);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
772
mdb_printf("nfaddrs\t\t%?d\n", sctp->sctp_nfaddrs);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
777
sctp->sctp_lastfaddr, sctp->sctp_primary);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
779
sctp->sctp_current, sctp->sctp_lastdata);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
785
sctp->sctp_xmit_head, sctp->sctp_xmit_tail);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
787
sctp->sctp_xmit_unsent, sctp->sctp_xmit_unsent_tail);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
788
mdb_printf("xmit_unacked\t%?p\n", sctp->sctp_xmit_unacked);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
790
sctp->sctp_unacked, sctp->sctp_unsent);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
792
sctp->sctp_ltsn, sctp->sctp_lastack_rxd);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
794
sctp->sctp_recovery_tsn, sctp->sctp_adv_pap);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
796
sctp->sctp_num_ostr, sctp->sctp_ostrcntrs);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
798
sctp->sctp_pad_mp, sctp->sctp_err_chunks);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
799
mdb_printf("err_len\t\t%?u\n", sctp->sctp_err_len);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
803
sctp->sctp_def_stream, sctp->sctp_def_flags);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
805
sctp->sctp_def_ppid, sctp->sctp_def_context);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
807
sctp->sctp_def_timetolive);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
813
sctp->sctp_sack_info, sctp->sctp_sack_gaps);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
814
dump_sack_info((uintptr_t)sctp->sctp_sack_info);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
816
sctp->sctp_ftsn, sctp->sctp_lastacked);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
818
sctp->sctp_istr_nmsgs, sctp->sctp_sack_toggle);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
819
mdb_printf("ack_mp\t\t%?p\n", sctp->sctp_ack_mp);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
821
sctp->sctp_num_istr, sctp->sctp_instr);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
822
mdb_printf("unord_reass\t%?p\n", sctp->sctp_uo_frags);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
828
sctp->sctp_rtt_tsn, sctp->sctp_out_time);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
837
connp->conn_sndlowat, sctp->sctp_frwnd,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
838
sctp->sctp_rwnd, sctp->sctp_arwnd, sctp->sctp_rxqueued,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
839
sctp->sctp_cwnd_max);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
850
"lvtag\t\t%?x\tfvtag\t\t%?x\n", sctp->sctp_iphc,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
851
sctp->sctp_iphc6, sctp->sctp_iphc_len,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
852
sctp->sctp_iphc6_len, sctp->sctp_hdr_len,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
853
sctp->sctp_hdr6_len, sctp->sctp_ipha, sctp->sctp_ip6h,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
854
sctp->sctp_ip_hdr_len, sctp->sctp_ip_hdr6_len,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
855
sctp->sctp_sctph, sctp->sctp_sctph6, sctp->sctp_lvtag,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
856
sctp->sctp_fvtag);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
863
sctp->sctp_last_mtu_probe, sctp->sctp_mtu_probe_intvl,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
864
sctp->sctp_mss);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
874
"rxt_nxttsn\t%?u\trxt_maxtsn\t%?u\n", sctp->sctp_cookie_mp,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
875
sctp->sctp_strikes, sctp->sctp_max_init_rxt,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
876
sctp->sctp_pa_max_rxt, sctp->sctp_pp_max_rxt,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
877
sctp->sctp_rto_max, sctp->sctp_rto_min,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
878
sctp->sctp_rto_initial, sctp->sctp_rto_max_init,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
879
sctp->sctp_rxt_nxttsn, sctp->sctp_rxt_maxtsn);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
885
sctp->sctp_last_secret_update);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
890
mdb_printf("0x%02x", sctp->sctp_secret[i]);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
892
mdb_printf("%02x ", sctp->sctp_secret[i]);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
898
mdb_printf("0x%02x", sctp->sctp_old_secret[i]);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
900
mdb_printf("%02x ", sctp->sctp_old_secret[i]);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
913
sctp->sctp_opkts, sctp->sctp_obchunks,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
914
sctp->sctp_odchunks, sctp->sctp_oudchunks,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
915
sctp->sctp_rxtchunks, sctp->sctp_T1expire,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
916
sctp->sctp_T2expire, sctp->sctp_T3expire,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
917
sctp->sctp_msgcount, sctp->sctp_prsctpdrop,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
918
sctp->sctp_assoc_start_time);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
922
sctp->sctp_ipkts, sctp->sctp_ibchunks,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
923
sctp->sctp_idchunks, sctp->sctp_iudchunks,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
924
sctp->sctp_fragdmsgs, sctp->sctp_reassmsgs);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
929
mdb_printf("conn_hash_next\t%?p\t", sctp->sctp_conn_hash_next);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
930
mdb_printf("conn_hash_prev\t%?p\n", sctp->sctp_conn_hash_prev);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
933
sctp->sctp_listen_hash_next);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
935
sctp->sctp_listen_hash_prev);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
940
mdb_printf("conn_tfp\t%?p\t", sctp->sctp_conn_tfp);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
941
mdb_printf("listen_tfp\t%?p\n", sctp->sctp_listen_tfp);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
944
sctp->sctp_bind_hash, sctp->sctp_ptpbhn);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
946
sctp->sctp_bind_lockp);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
955
sctp->sctp_shutdown_faddr, sctp->sctp_client_errno,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
956
connp->conn_lingertime, sctp->sctp_refcnt);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
967
connp->conn_bound_if, sctp->sctp_heartbeat_mp,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
970
sctp->sctp_hb_interval, sctp->sctp_autoclose,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
971
sctp->sctp_active, sctp->sctp_tx_adaptation_code,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
972
sctp->sctp_rx_adaptation_code, sctp->sctp_timer_mp,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
973
sctp->sctp_pd_point);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
979
"fcsn\t\t%?x\n", sctp->sctp_cxmit_list, sctp->sctp_lcsn,
usr/src/cmd/mdb/common/modules/sctp/sctp.c
980
sctp->sctp_fcsn);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
985
show_sctp_flags(sctp);
usr/src/cmd/mdb/common/modules/sctp/sctp.c
994
uintptr_t sctp;
usr/src/uts/common/fs/nfs/nfs_server.c
443
SVC_CALLOUT_TABLE *sctp = NULL;
usr/src/uts/common/fs/nfs/nfs_server.c
496
error = nfs_srv_set_sc_versions(fp, &sctp,
usr/src/uts/common/fs/nfs/nfs_server.c
511
sctp, NULL, NFS_SVCPOOL_ID, TRUE);
usr/src/uts/common/inet/cc.h
101
struct sctp_s *sctp;
usr/src/uts/common/inet/ip/ip_attr.c
1327
sctp_t *sctp;
usr/src/uts/common/inet/ip/ip_attr.c
1330
sctp = CONN2SCTP(connp);
usr/src/uts/common/inet/ip/ip_attr.c
1331
RUN_SCTP(sctp);
usr/src/uts/common/inet/ip/ip_attr.c
1333
for (fp = sctp->sctp_faddrs; fp != NULL; fp = fp->sf_next)
usr/src/uts/common/inet/ip/ip_attr.c
1335
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp.c
1023
if (mss < sctp->sctp_sctps->sctps_mss_min)
usr/src/uts/common/inet/sctp/sctp.c
1037
if (fp == sctp->sctp_current) {
usr/src/uts/common/inet/sctp/sctp.c
1038
sctp->sctp_ipha->
usr/src/uts/common/inet/sctp/sctp.c
1055
sctp_t *sctp = (sctp_t *)arg;
usr/src/uts/common/inet/sctp/sctp.c
1061
for (fp = sctp->sctp_faddrs; fp != NULL; fp = fp->sf_next) {
usr/src/uts/common/inet/sctp/sctp.c
1066
sctp_update_pmtu(sctp, fp, B_FALSE);
usr/src/uts/common/inet/sctp/sctp.c
1082
sctp_icmp_error(sctp_t *sctp, mblk_t *mp)
usr/src/uts/common/inet/sctp/sctp.c
1090
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp.c
1092
dprint(1, ("sctp_icmp_error: sctp=%p, mp=%p\n", (void *)sctp,
usr/src/uts/common/inet/sctp/sctp.c
1098
sctp_icmp_error_ipv6(sctp, mp);
usr/src/uts/common/inet/sctp/sctp.c
1139
fp = sctp_lookup_faddr(sctp, &dst);
usr/src/uts/common/inet/sctp/sctp.c
1143
sctp_update_pmtu(sctp, fp, B_TRUE);
usr/src/uts/common/inet/sctp/sctp.c
1152
sctp_rexmit(sctp, fp);
usr/src/uts/common/inet/sctp/sctp.c
1156
switch (sctp->sctp_state) {
usr/src/uts/common/inet/sctp/sctp.c
1160
if (!sctp_icmp_verf(sctp, sctph, mp)) {
usr/src/uts/common/inet/sctp/sctp.c
1164
sctp_assoc_event(sctp, SCTP_CANT_STR_ASSOC, 0,
usr/src/uts/common/inet/sctp/sctp.c
1166
sctp_clean_death(sctp, ECONNREFUSED);
usr/src/uts/common/inet/sctp/sctp.c
1173
sctp->sctp_client_errno = (icmph->icmph_code ==
usr/src/uts/common/inet/sctp/sctp.c
1195
sctp_icmp_error_ipv6(sctp_t *sctp, mblk_t *mp)
usr/src/uts/common/inet/sctp/sctp.c
1203
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp.c
1244
fp = sctp_lookup_faddr(sctp, &ip6h->ip6_dst);
usr/src/uts/common/inet/sctp/sctp.c
1249
sctp_update_pmtu(sctp, fp, B_TRUE);
usr/src/uts/common/inet/sctp/sctp.c
1258
sctp_rexmit(sctp, fp);
usr/src/uts/common/inet/sctp/sctp.c
1265
if (!sctp_icmp_verf(sctp, sctpha, mp)) {
usr/src/uts/common/inet/sctp/sctp.c
1268
if (sctp->sctp_state == SCTPS_COOKIE_WAIT ||
usr/src/uts/common/inet/sctp/sctp.c
1269
sctp->sctp_state == SCTPS_COOKIE_ECHOED) {
usr/src/uts/common/inet/sctp/sctp.c
1271
sctp_assoc_event(sctp, SCTP_CANT_STR_ASSOC, 0,
usr/src/uts/common/inet/sctp/sctp.c
1273
sctp_clean_death(sctp, ECONNREFUSED);
usr/src/uts/common/inet/sctp/sctp.c
1282
sctp->sctp_client_errno = EHOSTUNREACH;
usr/src/uts/common/inet/sctp/sctp.c
129
#define SCTP_CONDEMNED(sctp) \
usr/src/uts/common/inet/sctp/sctp.c
1295
if (!sctp_icmp_verf(sctp, sctpha, mp)) {
usr/src/uts/common/inet/sctp/sctp.c
1298
if (sctp->sctp_state == SCTPS_COOKIE_WAIT) {
usr/src/uts/common/inet/sctp/sctp.c
130
mutex_enter(&(sctp)->sctp_reflock); \
usr/src/uts/common/inet/sctp/sctp.c
1300
sctp_assoc_event(sctp, SCTP_CANT_STR_ASSOC, 0,
usr/src/uts/common/inet/sctp/sctp.c
1302
sctp_clean_death(sctp, ECONNREFUSED);
usr/src/uts/common/inet/sctp/sctp.c
131
((sctp)->sctp_condemned = B_TRUE); \
usr/src/uts/common/inet/sctp/sctp.c
132
mutex_exit(&(sctp)->sctp_reflock);
usr/src/uts/common/inet/sctp/sctp.c
1325
sctp_t *sctp, *psctp;
usr/src/uts/common/inet/sctp/sctp.c
135
#define SCTP_LINK(sctp, sctps) \
usr/src/uts/common/inet/sctp/sctp.c
137
list_insert_tail(&sctps->sctps_g_list, (sctp)); \
usr/src/uts/common/inet/sctp/sctp.c
1375
sctp = CONN2SCTP(connp);
usr/src/uts/common/inet/sctp/sctp.c
1376
sctp->sctp_sctps = sctps;
usr/src/uts/common/inet/sctp/sctp.c
1378
if ((ack_mp = sctp_timer_alloc(sctp, sctp_ack_timer, sleep)) == NULL ||
usr/src/uts/common/inet/sctp/sctp.c
1379
(hb_mp = sctp_timer_alloc(sctp, sctp_heartbeat_timer,
usr/src/uts/common/inet/sctp/sctp.c
1384
sctp->sctp_sctps = NULL;
usr/src/uts/common/inet/sctp/sctp.c
1389
sctp->sctp_ack_mp = ack_mp;
usr/src/uts/common/inet/sctp/sctp.c
1390
sctp->sctp_heartbeat_mp = hb_mp;
usr/src/uts/common/inet/sctp/sctp.c
140
#define SCTP_UNLINK(sctp, sctps) \
usr/src/uts/common/inet/sctp/sctp.c
1401
if (sctp_init_values(sctp, psctp, sleep) != 0) {
usr/src/uts/common/inet/sctp/sctp.c
1405
sctp->sctp_sctps = NULL;
usr/src/uts/common/inet/sctp/sctp.c
1409
sctp->sctp_cansleep = ((flags & SCTP_CAN_BLOCK) == SCTP_CAN_BLOCK);
usr/src/uts/common/inet/sctp/sctp.c
1411
sctp->sctp_mss = sctps->sctps_initial_mtu - ((family == AF_INET6) ?
usr/src/uts/common/inet/sctp/sctp.c
1412
sctp->sctp_hdr6_len : sctp->sctp_hdr_len);
usr/src/uts/common/inet/sctp/sctp.c
142
ASSERT((sctp)->sctp_condemned); \
usr/src/uts/common/inet/sctp/sctp.c
1424
if (sctp_dup_saddrs(psctp, sctp, sleep)) {
usr/src/uts/common/inet/sctp/sctp.c
1428
sctp_headers_free(sctp);
usr/src/uts/common/inet/sctp/sctp.c
143
list_remove(&(sctps)->sctps_g_list, (sctp)); \
usr/src/uts/common/inet/sctp/sctp.c
1430
sctp->sctp_sctps = NULL;
usr/src/uts/common/inet/sctp/sctp.c
1441
sctp->sctp_state = SCTPS_BOUND;
usr/src/uts/common/inet/sctp/sctp.c
1468
(void) random_get_pseudo_bytes((uint8_t *)&sctp->sctp_lvtag,
usr/src/uts/common/inet/sctp/sctp.c
1469
sizeof (sctp->sctp_lvtag));
usr/src/uts/common/inet/sctp/sctp.c
1470
if (sctp->sctp_lvtag == 0)
usr/src/uts/common/inet/sctp/sctp.c
1471
sctp->sctp_lvtag = (uint32_t)gethrtime();
usr/src/uts/common/inet/sctp/sctp.c
1472
ASSERT(sctp->sctp_lvtag != 0);
usr/src/uts/common/inet/sctp/sctp.c
1474
sctp->sctp_ltsn = sctp->sctp_lvtag + 1;
usr/src/uts/common/inet/sctp/sctp.c
1475
sctp->sctp_lcsn = sctp->sctp_ltsn;
usr/src/uts/common/inet/sctp/sctp.c
1476
sctp->sctp_recovery_tsn = sctp->sctp_lastack_rxd = sctp->sctp_ltsn - 1;
usr/src/uts/common/inet/sctp/sctp.c
1477
sctp->sctp_adv_pap = sctp->sctp_lastack_rxd;
usr/src/uts/common/inet/sctp/sctp.c
1481
sctp->sctp_ulpd = ulpd;
usr/src/uts/common/inet/sctp/sctp.c
1484
sctp->sctp_upcalls = upcalls;
usr/src/uts/common/inet/sctp/sctp.c
1489
sbl->sbl_rxbuf = sctp->sctp_rwnd;
usr/src/uts/common/inet/sctp/sctp.c
1493
SCTP_LINK(sctp, sctps);
usr/src/uts/common/inet/sctp/sctp.c
1495
return (sctp);
usr/src/uts/common/inet/sctp/sctp.c
177
sctp_t *sctp;
usr/src/uts/common/inet/sctp/sctp.c
1774
sctp_find_next_tq(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp.c
1778
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp.c
1790
if (taskq_dispatch(tq, sctp_process_recvq, sctp,
usr/src/uts/common/inet/sctp/sctp.c
1792
sctp->sctp_recvq_tq = tq;
usr/src/uts/common/inet/sctp/sctp.c
1806
if (taskq_dispatch(tq, sctp_process_recvq, sctp, TQ_NOSLEEP) !=
usr/src/uts/common/inet/sctp/sctp.c
1808
sctp->sctp_recvq_tq = tq;
usr/src/uts/common/inet/sctp/sctp.c
1830
sctp_add_recvq(sctp_t *sctp, mblk_t *mp, boolean_t caller_hold_lock,
usr/src/uts/common/inet/sctp/sctp.c
1834
ip_stack_t *ipst = sctp->sctp_sctps->sctps_netstack->netstack_ip;
usr/src/uts/common/inet/sctp/sctp.c
1839
mutex_enter(&sctp->sctp_recvq_lock);
usr/src/uts/common/inet/sctp/sctp.c
1842
if (sctp->sctp_recvq_tq == NULL) {
usr/src/uts/common/inet/sctp/sctp.c
1843
ASSERT(sctp->sctp_recvq == NULL);
usr/src/uts/common/inet/sctp/sctp.c
1844
if (!sctp_find_next_tq(sctp)) {
usr/src/uts/common/inet/sctp/sctp.c
1846
mutex_exit(&sctp->sctp_recvq_lock);
usr/src/uts/common/inet/sctp/sctp.c
1853
SCTP_REFHOLD(sctp);
usr/src/uts/common/inet/sctp/sctp.c
1859
mutex_exit(&sctp->sctp_recvq_lock);
usr/src/uts/common/inet/sctp/sctp.c
1869
if (sctp->sctp_recvq == NULL) {
usr/src/uts/common/inet/sctp/sctp.c
1870
sctp->sctp_recvq = mp;
usr/src/uts/common/inet/sctp/sctp.c
1871
sctp->sctp_recvq_tail = mp;
usr/src/uts/common/inet/sctp/sctp.c
1873
sctp->sctp_recvq_tail->b_next = mp;
usr/src/uts/common/inet/sctp/sctp.c
1874
sctp->sctp_recvq_tail = mp;
usr/src/uts/common/inet/sctp/sctp.c
1878
mutex_exit(&sctp->sctp_recvq_lock);
usr/src/uts/common/inet/sctp/sctp.c
188
sctp = CONN2SCTP(connp);
usr/src/uts/common/inet/sctp/sctp.c
1884
sctp_t *sctp = (sctp_t *)arg;
usr/src/uts/common/inet/sctp/sctp.c
189
sctp->sctp_sctps = sctps;
usr/src/uts/common/inet/sctp/sctp.c
1897
RUN_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp.c
1898
mutex_enter(&sctp->sctp_recvq_lock);
usr/src/uts/common/inet/sctp/sctp.c
1908
while ((mp = sctp->sctp_recvq) != NULL) {
usr/src/uts/common/inet/sctp/sctp.c
191
if ((ack_mp = sctp_timer_alloc(sctp, sctp_ack_timer,
usr/src/uts/common/inet/sctp/sctp.c
1911
sctp->sctp_recvq = mp->b_next;
usr/src/uts/common/inet/sctp/sctp.c
1912
mutex_exit(&sctp->sctp_recvq_lock);
usr/src/uts/common/inet/sctp/sctp.c
1929
sctp_icmp_error(sctp, data_mp);
usr/src/uts/common/inet/sctp/sctp.c
193
(hb_mp = sctp_timer_alloc(sctp, sctp_heartbeat_timer,
usr/src/uts/common/inet/sctp/sctp.c
1931
sctp_input_data(sctp, data_mp, &iras);
usr/src/uts/common/inet/sctp/sctp.c
1934
mutex_enter(&sctp->sctp_recvq_lock);
usr/src/uts/common/inet/sctp/sctp.c
1937
sctp->sctp_recvq_tail = NULL;
usr/src/uts/common/inet/sctp/sctp.c
1938
sctp->sctp_recvq_tq = NULL;
usr/src/uts/common/inet/sctp/sctp.c
1940
mutex_exit(&sctp->sctp_recvq_lock);
usr/src/uts/common/inet/sctp/sctp.c
1942
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp.c
1949
SCTP_REFRELE(sctp);
usr/src/uts/common/inet/sctp/sctp.c
1957
sctp_t *sctp = (sctp_t *)&connp[1];
usr/src/uts/common/inet/sctp/sctp.c
1961
bzero(buf, (char *)&sctp[1] - (char *)buf);
usr/src/uts/common/inet/sctp/sctp.c
1963
mutex_init(&sctp->sctp_reflock, NULL, MUTEX_DEFAULT, NULL);
usr/src/uts/common/inet/sctp/sctp.c
1964
mutex_init(&sctp->sctp_lock, NULL, MUTEX_DEFAULT, NULL);
usr/src/uts/common/inet/sctp/sctp.c
1965
mutex_init(&sctp->sctp_recvq_lock, NULL, MUTEX_DEFAULT, NULL);
usr/src/uts/common/inet/sctp/sctp.c
1966
cv_init(&sctp->sctp_cv, NULL, CV_DEFAULT, NULL);
usr/src/uts/common/inet/sctp/sctp.c
1968
rw_init(&sctp->sctp_saddrs[cnt].ipif_hash_lock, NULL,
usr/src/uts/common/inet/sctp/sctp.c
1976
connp->conn_sctp = sctp;
usr/src/uts/common/inet/sctp/sctp.c
1977
sctp->sctp_connp = connp;
usr/src/uts/common/inet/sctp/sctp.c
198
sctp->sctp_sctps = NULL;
usr/src/uts/common/inet/sctp/sctp.c
1995
sctp_t *sctp = (sctp_t *)&connp[1];
usr/src/uts/common/inet/sctp/sctp.c
1998
ASSERT(sctp->sctp_connp == connp);
usr/src/uts/common/inet/sctp/sctp.c
1999
ASSERT(!MUTEX_HELD(&sctp->sctp_lock));
usr/src/uts/common/inet/sctp/sctp.c
2000
ASSERT(!MUTEX_HELD(&sctp->sctp_reflock));
usr/src/uts/common/inet/sctp/sctp.c
2001
ASSERT(!MUTEX_HELD(&sctp->sctp_recvq_lock));
usr/src/uts/common/inet/sctp/sctp.c
2003
ASSERT(sctp->sctp_conn_hash_next == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2004
ASSERT(sctp->sctp_conn_hash_prev == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2005
ASSERT(sctp->sctp_listen_hash_next == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2006
ASSERT(sctp->sctp_listen_hash_prev == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2007
ASSERT(sctp->sctp_listen_tfp == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2008
ASSERT(sctp->sctp_conn_tfp == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2010
ASSERT(sctp->sctp_faddrs == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2011
ASSERT(sctp->sctp_nsaddrs == 0);
usr/src/uts/common/inet/sctp/sctp.c
2013
ASSERT(sctp->sctp_ulpd == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2015
ASSERT(sctp->sctp_lastfaddr == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2016
ASSERT(sctp->sctp_primary == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2017
ASSERT(sctp->sctp_current == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2018
ASSERT(sctp->sctp_lastdata == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2020
ASSERT(sctp->sctp_xmit_head == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2021
ASSERT(sctp->sctp_xmit_tail == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2022
ASSERT(sctp->sctp_xmit_unsent == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2023
ASSERT(sctp->sctp_xmit_unsent_tail == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2025
ASSERT(sctp->sctp_ostrcntrs == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2027
ASSERT(sctp->sctp_sack_info == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2028
ASSERT(sctp->sctp_ack_mp == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2029
ASSERT(sctp->sctp_instr == NULL);
usr/src/uts/common/inet/sctp/sctp.c
203
sctp->sctp_ack_mp = ack_mp;
usr/src/uts/common/inet/sctp/sctp.c
2031
ASSERT(sctp->sctp_iphc == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2032
ASSERT(sctp->sctp_iphc6 == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2033
ASSERT(sctp->sctp_ipha == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2034
ASSERT(sctp->sctp_ip6h == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2035
ASSERT(sctp->sctp_sctph == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2036
ASSERT(sctp->sctp_sctph6 == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2038
ASSERT(sctp->sctp_cookie_mp == NULL);
usr/src/uts/common/inet/sctp/sctp.c
204
sctp->sctp_heartbeat_mp = hb_mp;
usr/src/uts/common/inet/sctp/sctp.c
2040
ASSERT(sctp->sctp_refcnt == 0);
usr/src/uts/common/inet/sctp/sctp.c
2041
ASSERT(sctp->sctp_timer_mp == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2042
ASSERT(sctp->sctp_connp->conn_ref == 0);
usr/src/uts/common/inet/sctp/sctp.c
2043
ASSERT(sctp->sctp_heartbeat_mp == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2044
ASSERT(sctp->sctp_ptpbhn == NULL && sctp->sctp_bind_hash == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2046
ASSERT(sctp->sctp_shutdown_faddr == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2048
ASSERT(sctp->sctp_cxmit_list == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2050
ASSERT(sctp->sctp_recvq == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2051
ASSERT(sctp->sctp_recvq_tail == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2052
ASSERT(sctp->sctp_recvq_tq == NULL);
usr/src/uts/common/inet/sctp/sctp.c
2058
if (sctp->sctp_pad_mp != NULL) {
usr/src/uts/common/inet/sctp/sctp.c
2059
freeb(sctp->sctp_pad_mp);
usr/src/uts/common/inet/sctp/sctp.c
206
if (sctp_init_values(sctp, psctp, KM_NOSLEEP) != 0) {
usr/src/uts/common/inet/sctp/sctp.c
2060
sctp->sctp_pad_mp = NULL;
usr/src/uts/common/inet/sctp/sctp.c
2063
mutex_destroy(&sctp->sctp_reflock);
usr/src/uts/common/inet/sctp/sctp.c
2064
mutex_destroy(&sctp->sctp_lock);
usr/src/uts/common/inet/sctp/sctp.c
2065
mutex_destroy(&sctp->sctp_recvq_lock);
usr/src/uts/common/inet/sctp/sctp.c
2066
cv_destroy(&sctp->sctp_cv);
usr/src/uts/common/inet/sctp/sctp.c
2068
rw_destroy(&sctp->sctp_saddrs[cnt].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp.c
210
sctp->sctp_sctps = NULL;
usr/src/uts/common/inet/sctp/sctp.c
220
sctp->sctp_mss = psctp->sctp_mss;
usr/src/uts/common/inet/sctp/sctp.c
221
sctp->sctp_detached = B_TRUE;
usr/src/uts/common/inet/sctp/sctp.c
226
SCTP_LINK(sctp, sctps);
usr/src/uts/common/inet/sctp/sctp.c
229
sctp->sctp_listen_cnt = psctp->sctp_listen_cnt;
usr/src/uts/common/inet/sctp/sctp.c
231
return (sctp);
usr/src/uts/common/inet/sctp/sctp.c
238
sctp_clean_death(sctp_t *sctp, int err)
usr/src/uts/common/inet/sctp/sctp.c
240
ASSERT(sctp != NULL);
usr/src/uts/common/inet/sctp/sctp.c
242
dprint(3, ("sctp_clean_death %p, state %d\n", (void *)sctp,
usr/src/uts/common/inet/sctp/sctp.c
243
sctp->sctp_state));
usr/src/uts/common/inet/sctp/sctp.c
245
sctp->sctp_client_errno = err;
usr/src/uts/common/inet/sctp/sctp.c
249
if ((sctp->sctp_state >= SCTPS_COOKIE_WAIT) &&
usr/src/uts/common/inet/sctp/sctp.c
250
!SCTP_IS_DETACHED(sctp)) {
usr/src/uts/common/inet/sctp/sctp.c
251
if (sctp->sctp_xmit_head || sctp->sctp_xmit_unsent) {
usr/src/uts/common/inet/sctp/sctp.c
252
sctp_regift_xmitlist(sctp);
usr/src/uts/common/inet/sctp/sctp.c
254
if (sctp->sctp_ulp_disconnected(sctp->sctp_ulpd, 0, err)) {
usr/src/uts/common/inet/sctp/sctp.c
258
sctp->sctp_detached = B_TRUE;
usr/src/uts/common/inet/sctp/sctp.c
259
sctp->sctp_ulpd = NULL;
usr/src/uts/common/inet/sctp/sctp.c
260
sctp->sctp_upcalls = NULL;
usr/src/uts/common/inet/sctp/sctp.c
265
sctp_closei_local(sctp);
usr/src/uts/common/inet/sctp/sctp.c
276
if (SCTP_IS_DETACHED(sctp)) {
usr/src/uts/common/inet/sctp/sctp.c
277
SCTP_CONDEMNED(sctp);
usr/src/uts/common/inet/sctp/sctp.c
278
SCTP_REFRELE(sctp);
usr/src/uts/common/inet/sctp/sctp.c
299
sctp_disconnect(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp.c
302
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp.c
304
dprint(3, ("sctp_disconnect %p, state %d\n", (void *)sctp,
usr/src/uts/common/inet/sctp/sctp.c
305
sctp->sctp_state));
usr/src/uts/common/inet/sctp/sctp.c
307
RUN_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp.c
309
switch (sctp->sctp_state) {
usr/src/uts/common/inet/sctp/sctp.c
322
if (sctp->sctp_xmit_head == NULL &&
usr/src/uts/common/inet/sctp/sctp.c
323
sctp->sctp_xmit_unsent == NULL) {
usr/src/uts/common/inet/sctp/sctp.c
333
sctp_user_abort(sctp, NULL);
usr/src/uts/common/inet/sctp/sctp.c
334
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp.c
342
if (sctp->sctp_rxqueued > 0 || sctp->sctp_ulp_rxqueued > 0) {
usr/src/uts/common/inet/sctp/sctp.c
343
sctp_user_abort(sctp, NULL);
usr/src/uts/common/inet/sctp/sctp.c
344
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp.c
352
sctp_send_shutdown(sctp, 0);
usr/src/uts/common/inet/sctp/sctp.c
355
sctp_update_dce(sctp);
usr/src/uts/common/inet/sctp/sctp.c
365
sctp->sctp_state >= SCTPS_ESTABLISHED &&
usr/src/uts/common/inet/sctp/sctp.c
366
!sctp->sctp_lingering) {
usr/src/uts/common/inet/sctp/sctp.c
370
sctp->sctp_lingering = 1;
usr/src/uts/common/inet/sctp/sctp.c
371
sctp->sctp_client_errno = 0;
usr/src/uts/common/inet/sctp/sctp.c
375
mutex_enter(&sctp->sctp_lock);
usr/src/uts/common/inet/sctp/sctp.c
376
sctp->sctp_running = B_FALSE;
usr/src/uts/common/inet/sctp/sctp.c
377
while (sctp->sctp_state >= SCTPS_ESTABLISHED &&
usr/src/uts/common/inet/sctp/sctp.c
378
sctp->sctp_client_errno == 0) {
usr/src/uts/common/inet/sctp/sctp.c
379
cv_signal(&sctp->sctp_cv);
usr/src/uts/common/inet/sctp/sctp.c
380
ret = cv_timedwait_sig(&sctp->sctp_cv,
usr/src/uts/common/inet/sctp/sctp.c
381
&sctp->sctp_lock, stoptime);
usr/src/uts/common/inet/sctp/sctp.c
384
sctp->sctp_client_errno = EWOULDBLOCK;
usr/src/uts/common/inet/sctp/sctp.c
391
error = sctp->sctp_client_errno;
usr/src/uts/common/inet/sctp/sctp.c
392
sctp->sctp_client_errno = 0;
usr/src/uts/common/inet/sctp/sctp.c
393
mutex_exit(&sctp->sctp_lock);
usr/src/uts/common/inet/sctp/sctp.c
396
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp.c
402
sctp_closei_local(sctp);
usr/src/uts/common/inet/sctp/sctp.c
403
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp.c
408
sctp_close(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp.c
410
dprint(3, ("sctp_close %p, state %d\n", (void *)sctp,
usr/src/uts/common/inet/sctp/sctp.c
411
sctp->sctp_state));
usr/src/uts/common/inet/sctp/sctp.c
413
RUN_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp.c
414
sctp->sctp_detached = 1;
usr/src/uts/common/inet/sctp/sctp.c
415
sctp->sctp_ulpd = NULL;
usr/src/uts/common/inet/sctp/sctp.c
416
sctp->sctp_upcalls = NULL;
usr/src/uts/common/inet/sctp/sctp.c
417
bzero(&sctp->sctp_events, sizeof (sctp->sctp_events));
usr/src/uts/common/inet/sctp/sctp.c
420
if (sctp->sctp_state != SCTPS_IDLE) {
usr/src/uts/common/inet/sctp/sctp.c
421
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp.c
431
SCTP_CONDEMNED(sctp);
usr/src/uts/common/inet/sctp/sctp.c
432
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp.c
433
SCTP_REFRELE(sctp);
usr/src/uts/common/inet/sctp/sctp.c
441
sctp_close_eager(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp.c
443
SCTP_CONDEMNED(sctp);
usr/src/uts/common/inet/sctp/sctp.c
444
sctp_closei_local(sctp);
usr/src/uts/common/inet/sctp/sctp.c
445
SCTP_REFRELE(sctp);
usr/src/uts/common/inet/sctp/sctp.c
457
sctp_closei_local(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp.c
460
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp.c
463
if (sctp->sctp_state >= SCTPS_ESTABLISHED)
usr/src/uts/common/inet/sctp/sctp.c
464
SCTPS_ASSOC_DEC(sctp->sctp_sctps);
usr/src/uts/common/inet/sctp/sctp.c
466
if (sctp->sctp_listen_cnt != NULL)
usr/src/uts/common/inet/sctp/sctp.c
467
SCTP_DECR_LISTEN_CNT(sctp);
usr/src/uts/common/inet/sctp/sctp.c
471
ASSERT(sctp->sctp_state == SCTPS_IDLE);
usr/src/uts/common/inet/sctp/sctp.c
476
sctp_free_faddr_timers(sctp);
usr/src/uts/common/inet/sctp/sctp.c
477
if ((mp = sctp->sctp_heartbeat_mp) != NULL) {
usr/src/uts/common/inet/sctp/sctp.c
479
sctp->sctp_heartbeat_mp = NULL;
usr/src/uts/common/inet/sctp/sctp.c
481
if ((mp = sctp->sctp_ack_mp) != NULL) {
usr/src/uts/common/inet/sctp/sctp.c
483
sctp->sctp_ack_mp = NULL;
usr/src/uts/common/inet/sctp/sctp.c
492
sctp_bind_hash_remove(sctp);
usr/src/uts/common/inet/sctp/sctp.c
493
sctp_conn_hash_remove(sctp);
usr/src/uts/common/inet/sctp/sctp.c
494
sctp_listen_hash_remove(sctp);
usr/src/uts/common/inet/sctp/sctp.c
495
sctp->sctp_state = SCTPS_IDLE;
usr/src/uts/common/inet/sctp/sctp.c
501
mutex_enter(&sctp->sctp_recvq_lock);
usr/src/uts/common/inet/sctp/sctp.c
502
while ((mp = sctp->sctp_recvq) != NULL) {
usr/src/uts/common/inet/sctp/sctp.c
503
sctp->sctp_recvq = mp->b_next;
usr/src/uts/common/inet/sctp/sctp.c
511
mutex_exit(&sctp->sctp_recvq_lock);
usr/src/uts/common/inet/sctp/sctp.c
518
sctp_headers_free(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp.c
520
if (sctp->sctp_iphc != NULL) {
usr/src/uts/common/inet/sctp/sctp.c
521
kmem_free(sctp->sctp_iphc, sctp->sctp_iphc_len);
usr/src/uts/common/inet/sctp/sctp.c
522
sctp->sctp_iphc = NULL;
usr/src/uts/common/inet/sctp/sctp.c
523
sctp->sctp_ipha = NULL;
usr/src/uts/common/inet/sctp/sctp.c
524
sctp->sctp_hdr_len = 0;
usr/src/uts/common/inet/sctp/sctp.c
525
sctp->sctp_ip_hdr_len = 0;
usr/src/uts/common/inet/sctp/sctp.c
526
sctp->sctp_iphc_len = 0;
usr/src/uts/common/inet/sctp/sctp.c
527
sctp->sctp_sctph = NULL;
usr/src/uts/common/inet/sctp/sctp.c
528
sctp->sctp_hdr_len = 0;
usr/src/uts/common/inet/sctp/sctp.c
530
if (sctp->sctp_iphc6 != NULL) {
usr/src/uts/common/inet/sctp/sctp.c
531
kmem_free(sctp->sctp_iphc6, sctp->sctp_iphc6_len);
usr/src/uts/common/inet/sctp/sctp.c
532
sctp->sctp_iphc6 = NULL;
usr/src/uts/common/inet/sctp/sctp.c
533
sctp->sctp_ip6h = NULL;
usr/src/uts/common/inet/sctp/sctp.c
534
sctp->sctp_hdr6_len = 0;
usr/src/uts/common/inet/sctp/sctp.c
535
sctp->sctp_ip_hdr6_len = 0;
usr/src/uts/common/inet/sctp/sctp.c
536
sctp->sctp_iphc6_len = 0;
usr/src/uts/common/inet/sctp/sctp.c
537
sctp->sctp_sctph6 = NULL;
usr/src/uts/common/inet/sctp/sctp.c
538
sctp->sctp_hdr6_len = 0;
usr/src/uts/common/inet/sctp/sctp.c
543
sctp_free_xmit_data(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp.c
550
sctp->sctp_xmit_unacked = NULL;
usr/src/uts/common/inet/sctp/sctp.c
551
ump = sctp->sctp_xmit_head;
usr/src/uts/common/inet/sctp/sctp.c
552
sctp->sctp_xmit_tail = sctp->sctp_xmit_head = NULL;
usr/src/uts/common/inet/sctp/sctp.c
568
if ((ump = sctp->sctp_xmit_unsent) == NULL) {
usr/src/uts/common/inet/sctp/sctp.c
569
ASSERT(sctp->sctp_xmit_unsent_tail == NULL);
usr/src/uts/common/inet/sctp/sctp.c
572
sctp->sctp_xmit_unsent = sctp->sctp_xmit_unsent_tail = NULL;
usr/src/uts/common/inet/sctp/sctp.c
581
sctp_instream_cleanup(sctp_t *sctp, boolean_t free)
usr/src/uts/common/inet/sctp/sctp.c
587
if (sctp->sctp_instr != NULL) {
usr/src/uts/common/inet/sctp/sctp.c
589
for (i = 0; i < sctp->sctp_num_istr; i++) {
usr/src/uts/common/inet/sctp/sctp.c
590
mp = sctp->sctp_instr[i].istr_msgs;
usr/src/uts/common/inet/sctp/sctp.c
597
sctp->sctp_instr[i].istr_msgs = NULL;
usr/src/uts/common/inet/sctp/sctp.c
598
sctp->sctp_instr[i].istr_nmsgs = 0;
usr/src/uts/common/inet/sctp/sctp.c
599
sctp_free_reass((sctp->sctp_instr) + i);
usr/src/uts/common/inet/sctp/sctp.c
600
sctp->sctp_instr[i].nextseq = 0;
usr/src/uts/common/inet/sctp/sctp.c
603
kmem_free(sctp->sctp_instr,
usr/src/uts/common/inet/sctp/sctp.c
604
sizeof (*sctp->sctp_instr) * sctp->sctp_num_istr);
usr/src/uts/common/inet/sctp/sctp.c
605
sctp->sctp_instr = NULL;
usr/src/uts/common/inet/sctp/sctp.c
606
sctp->sctp_num_istr = 0;
usr/src/uts/common/inet/sctp/sctp.c
610
if (sctp->sctp_uo_frags != NULL) {
usr/src/uts/common/inet/sctp/sctp.c
611
for (mp = sctp->sctp_uo_frags; mp != NULL; mp = mp1) {
usr/src/uts/common/inet/sctp/sctp.c
616
sctp->sctp_uo_frags = NULL;
usr/src/uts/common/inet/sctp/sctp.c
627
sctp_t *sctp = CONN2SCTP(connp);
usr/src/uts/common/inet/sctp/sctp.c
629
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp.c
633
SCTP_UNLINK(sctp, sctps);
usr/src/uts/common/inet/sctp/sctp.c
637
ASSERT(!MUTEX_HELD(&sctp->sctp_reflock));
usr/src/uts/common/inet/sctp/sctp.c
638
ASSERT(sctp->sctp_refcnt == 0);
usr/src/uts/common/inet/sctp/sctp.c
640
ASSERT(sctp->sctp_ptpbhn == NULL && sctp->sctp_bind_hash == NULL);
usr/src/uts/common/inet/sctp/sctp.c
641
ASSERT(sctp->sctp_conn_hash_next == NULL &&
usr/src/uts/common/inet/sctp/sctp.c
642
sctp->sctp_conn_hash_prev == NULL);
usr/src/uts/common/inet/sctp/sctp.c
648
if (sctp->sctp_ostrcntrs != NULL) {
usr/src/uts/common/inet/sctp/sctp.c
649
kmem_free(sctp->sctp_ostrcntrs,
usr/src/uts/common/inet/sctp/sctp.c
650
sizeof (uint16_t) * sctp->sctp_num_ostr);
usr/src/uts/common/inet/sctp/sctp.c
651
sctp->sctp_ostrcntrs = NULL;
usr/src/uts/common/inet/sctp/sctp.c
653
sctp_instream_cleanup(sctp, B_TRUE);
usr/src/uts/common/inet/sctp/sctp.c
656
sctp->sctp_istr_nmsgs = 0;
usr/src/uts/common/inet/sctp/sctp.c
657
sctp->sctp_rxqueued = 0;
usr/src/uts/common/inet/sctp/sctp.c
658
sctp_free_xmit_data(sctp);
usr/src/uts/common/inet/sctp/sctp.c
659
sctp->sctp_unacked = 0;
usr/src/uts/common/inet/sctp/sctp.c
660
sctp->sctp_unsent = 0;
usr/src/uts/common/inet/sctp/sctp.c
661
if (sctp->sctp_cxmit_list != NULL)
usr/src/uts/common/inet/sctp/sctp.c
662
sctp_asconf_free_cxmit(sctp, NULL);
usr/src/uts/common/inet/sctp/sctp.c
664
sctp->sctp_lastdata = NULL;
usr/src/uts/common/inet/sctp/sctp.c
667
sctp->sctp_def_stream = 0;
usr/src/uts/common/inet/sctp/sctp.c
668
sctp->sctp_def_flags = 0;
usr/src/uts/common/inet/sctp/sctp.c
669
sctp->sctp_def_ppid = 0;
usr/src/uts/common/inet/sctp/sctp.c
670
sctp->sctp_def_context = 0;
usr/src/uts/common/inet/sctp/sctp.c
671
sctp->sctp_def_timetolive = 0;
usr/src/uts/common/inet/sctp/sctp.c
673
if (sctp->sctp_sack_info != NULL) {
usr/src/uts/common/inet/sctp/sctp.c
674
sctp_free_set(sctp->sctp_sack_info);
usr/src/uts/common/inet/sctp/sctp.c
675
sctp->sctp_sack_info = NULL;
usr/src/uts/common/inet/sctp/sctp.c
677
sctp->sctp_sack_gaps = 0;
usr/src/uts/common/inet/sctp/sctp.c
679
if (sctp->sctp_cookie_mp != NULL) {
usr/src/uts/common/inet/sctp/sctp.c
680
freemsg(sctp->sctp_cookie_mp);
usr/src/uts/common/inet/sctp/sctp.c
681
sctp->sctp_cookie_mp = NULL;
usr/src/uts/common/inet/sctp/sctp.c
685
sctp_zap_addrs(sctp);
usr/src/uts/common/inet/sctp/sctp.c
687
ASSERT(sctp->sctp_saddrs[cnt].ipif_count == 0);
usr/src/uts/common/inet/sctp/sctp.c
688
list_destroy(&sctp->sctp_saddrs[cnt].sctp_ipif_list);
usr/src/uts/common/inet/sctp/sctp.c
691
if (sctp->sctp_hopopts != NULL) {
usr/src/uts/common/inet/sctp/sctp.c
692
mi_free(sctp->sctp_hopopts);
usr/src/uts/common/inet/sctp/sctp.c
693
sctp->sctp_hopopts = NULL;
usr/src/uts/common/inet/sctp/sctp.c
694
sctp->sctp_hopoptslen = 0;
usr/src/uts/common/inet/sctp/sctp.c
696
ASSERT(sctp->sctp_hopoptslen == 0);
usr/src/uts/common/inet/sctp/sctp.c
697
if (sctp->sctp_dstopts != NULL) {
usr/src/uts/common/inet/sctp/sctp.c
698
mi_free(sctp->sctp_dstopts);
usr/src/uts/common/inet/sctp/sctp.c
699
sctp->sctp_dstopts = NULL;
usr/src/uts/common/inet/sctp/sctp.c
700
sctp->sctp_dstoptslen = 0;
usr/src/uts/common/inet/sctp/sctp.c
702
ASSERT(sctp->sctp_dstoptslen == 0);
usr/src/uts/common/inet/sctp/sctp.c
703
if (sctp->sctp_rthdrdstopts != NULL) {
usr/src/uts/common/inet/sctp/sctp.c
704
mi_free(sctp->sctp_rthdrdstopts);
usr/src/uts/common/inet/sctp/sctp.c
705
sctp->sctp_rthdrdstopts = NULL;
usr/src/uts/common/inet/sctp/sctp.c
706
sctp->sctp_rthdrdstoptslen = 0;
usr/src/uts/common/inet/sctp/sctp.c
708
ASSERT(sctp->sctp_rthdrdstoptslen == 0);
usr/src/uts/common/inet/sctp/sctp.c
709
if (sctp->sctp_rthdr != NULL) {
usr/src/uts/common/inet/sctp/sctp.c
710
mi_free(sctp->sctp_rthdr);
usr/src/uts/common/inet/sctp/sctp.c
711
sctp->sctp_rthdr = NULL;
usr/src/uts/common/inet/sctp/sctp.c
712
sctp->sctp_rthdrlen = 0;
usr/src/uts/common/inet/sctp/sctp.c
714
ASSERT(sctp->sctp_rthdrlen == 0);
usr/src/uts/common/inet/sctp/sctp.c
715
sctp_headers_free(sctp);
usr/src/uts/common/inet/sctp/sctp.c
717
sctp->sctp_shutdown_faddr = NULL;
usr/src/uts/common/inet/sctp/sctp.c
719
if (sctp->sctp_err_chunks != NULL) {
usr/src/uts/common/inet/sctp/sctp.c
720
freemsg(sctp->sctp_err_chunks);
usr/src/uts/common/inet/sctp/sctp.c
721
sctp->sctp_err_chunks = NULL;
usr/src/uts/common/inet/sctp/sctp.c
722
sctp->sctp_err_len = 0;
usr/src/uts/common/inet/sctp/sctp.c
726
bzero(&sctp->sctp_bits, sizeof (sctp->sctp_bits));
usr/src/uts/common/inet/sctp/sctp.c
729
SCTPS_UPDATE_MIB(sctps, sctpOutSCTPPkts, sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp.c
730
SCTPS_UPDATE_MIB(sctps, sctpOutCtrlChunks, sctp->sctp_obchunks);
usr/src/uts/common/inet/sctp/sctp.c
731
SCTPS_UPDATE_MIB(sctps, sctpOutOrderChunks, sctp->sctp_odchunks);
usr/src/uts/common/inet/sctp/sctp.c
732
SCTPS_UPDATE_MIB(sctps, sctpOutUnorderChunks, sctp->sctp_oudchunks);
usr/src/uts/common/inet/sctp/sctp.c
733
SCTPS_UPDATE_MIB(sctps, sctpRetransChunks, sctp->sctp_rxtchunks);
usr/src/uts/common/inet/sctp/sctp.c
734
SCTPS_UPDATE_MIB(sctps, sctpInSCTPPkts, sctp->sctp_ipkts);
usr/src/uts/common/inet/sctp/sctp.c
735
SCTPS_UPDATE_MIB(sctps, sctpInCtrlChunks, sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp.c
736
SCTPS_UPDATE_MIB(sctps, sctpInOrderChunks, sctp->sctp_idchunks);
usr/src/uts/common/inet/sctp/sctp.c
737
SCTPS_UPDATE_MIB(sctps, sctpInUnorderChunks, sctp->sctp_iudchunks);
usr/src/uts/common/inet/sctp/sctp.c
738
SCTPS_UPDATE_MIB(sctps, sctpFragUsrMsgs, sctp->sctp_fragdmsgs);
usr/src/uts/common/inet/sctp/sctp.c
739
SCTPS_UPDATE_MIB(sctps, sctpReasmUsrMsgs, sctp->sctp_reassmsgs);
usr/src/uts/common/inet/sctp/sctp.c
740
sctp->sctp_opkts = 0;
usr/src/uts/common/inet/sctp/sctp.c
741
sctp->sctp_obchunks = 0;
usr/src/uts/common/inet/sctp/sctp.c
742
sctp->sctp_odchunks = 0;
usr/src/uts/common/inet/sctp/sctp.c
743
sctp->sctp_oudchunks = 0;
usr/src/uts/common/inet/sctp/sctp.c
744
sctp->sctp_rxtchunks = 0;
usr/src/uts/common/inet/sctp/sctp.c
745
sctp->sctp_ipkts = 0;
usr/src/uts/common/inet/sctp/sctp.c
746
sctp->sctp_ibchunks = 0;
usr/src/uts/common/inet/sctp/sctp.c
747
sctp->sctp_idchunks = 0;
usr/src/uts/common/inet/sctp/sctp.c
748
sctp->sctp_iudchunks = 0;
usr/src/uts/common/inet/sctp/sctp.c
749
sctp->sctp_fragdmsgs = 0;
usr/src/uts/common/inet/sctp/sctp.c
750
sctp->sctp_reassmsgs = 0;
usr/src/uts/common/inet/sctp/sctp.c
751
sctp->sctp_outseqtsns = 0;
usr/src/uts/common/inet/sctp/sctp.c
752
sctp->sctp_osacks = 0;
usr/src/uts/common/inet/sctp/sctp.c
753
sctp->sctp_isacks = 0;
usr/src/uts/common/inet/sctp/sctp.c
754
sctp->sctp_idupchunks = 0;
usr/src/uts/common/inet/sctp/sctp.c
755
sctp->sctp_gapcnt = 0;
usr/src/uts/common/inet/sctp/sctp.c
756
sctp->sctp_cum_obchunks = 0;
usr/src/uts/common/inet/sctp/sctp.c
757
sctp->sctp_cum_odchunks = 0;
usr/src/uts/common/inet/sctp/sctp.c
758
sctp->sctp_cum_oudchunks = 0;
usr/src/uts/common/inet/sctp/sctp.c
759
sctp->sctp_cum_rxtchunks = 0;
usr/src/uts/common/inet/sctp/sctp.c
760
sctp->sctp_cum_ibchunks = 0;
usr/src/uts/common/inet/sctp/sctp.c
761
sctp->sctp_cum_idchunks = 0;
usr/src/uts/common/inet/sctp/sctp.c
762
sctp->sctp_cum_iudchunks = 0;
usr/src/uts/common/inet/sctp/sctp.c
764
sctp->sctp_autoclose = 0;
usr/src/uts/common/inet/sctp/sctp.c
765
sctp->sctp_tx_adaptation_code = 0;
usr/src/uts/common/inet/sctp/sctp.c
767
sctp->sctp_v6label_len = 0;
usr/src/uts/common/inet/sctp/sctp.c
768
sctp->sctp_v4label_len = 0;
usr/src/uts/common/inet/sctp/sctp.c
77
static void sctp_closei_local(sctp_t *sctp);
usr/src/uts/common/inet/sctp/sctp.c
770
sctp->sctp_sctps = NULL;
usr/src/uts/common/inet/sctp/sctp.c
781
sctp_init_values(sctp_t *sctp, sctp_t *psctp, int sleep)
usr/src/uts/common/inet/sctp/sctp.c
785
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp.c
788
connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp.c
79
static void sctp_icmp_error_ipv6(sctp_t *sctp, mblk_t *mp);
usr/src/uts/common/inet/sctp/sctp.c
790
sctp->sctp_nsaddrs = 0;
usr/src/uts/common/inet/sctp/sctp.c
792
sctp->sctp_saddrs[cnt].ipif_count = 0;
usr/src/uts/common/inet/sctp/sctp.c
793
list_create(&sctp->sctp_saddrs[cnt].sctp_ipif_list,
usr/src/uts/common/inet/sctp/sctp.c
798
sctp->sctp_running = B_FALSE;
usr/src/uts/common/inet/sctp/sctp.c
799
sctp->sctp_state = SCTPS_IDLE;
usr/src/uts/common/inet/sctp/sctp.c
801
sctp->sctp_refcnt = 1;
usr/src/uts/common/inet/sctp/sctp.c
803
sctp->sctp_strikes = 0;
usr/src/uts/common/inet/sctp/sctp.c
805
sctp->sctp_last_mtu_probe = ddi_get_lbolt64();
usr/src/uts/common/inet/sctp/sctp.c
806
sctp->sctp_mtu_probe_intvl = sctps->sctps_mtu_probe_interval;
usr/src/uts/common/inet/sctp/sctp.c
808
sctp->sctp_sack_gaps = 0;
usr/src/uts/common/inet/sctp/sctp.c
810
sctp->sctp_sack_toggle = sctps->sctps_deferred_acks_max;
usr/src/uts/common/inet/sctp/sctp.c
813
if (sctp->sctp_pad_mp == NULL) {
usr/src/uts/common/inet/sctp/sctp.c
815
sctp->sctp_pad_mp = allocb_wait(SCTP_ALIGN, BPRI_MED,
usr/src/uts/common/inet/sctp/sctp.c
818
sctp->sctp_pad_mp = allocb(SCTP_ALIGN, BPRI_MED);
usr/src/uts/common/inet/sctp/sctp.c
819
if (sctp->sctp_pad_mp == NULL)
usr/src/uts/common/inet/sctp/sctp.c
822
bzero(sctp->sctp_pad_mp->b_rptr, SCTP_ALIGN);
usr/src/uts/common/inet/sctp/sctp.c
836
sctp->sctp_upcalls = psctp->sctp_upcalls;
usr/src/uts/common/inet/sctp/sctp.c
838
sctp->sctp_cookie_lifetime = psctp->sctp_cookie_lifetime;
usr/src/uts/common/inet/sctp/sctp.c
840
sctp->sctp_cwnd_max = psctp->sctp_cwnd_max;
usr/src/uts/common/inet/sctp/sctp.c
841
sctp->sctp_rwnd = psctp->sctp_rwnd;
usr/src/uts/common/inet/sctp/sctp.c
842
sctp->sctp_arwnd = psctp->sctp_arwnd;
usr/src/uts/common/inet/sctp/sctp.c
843
sctp->sctp_pd_point = psctp->sctp_pd_point;
usr/src/uts/common/inet/sctp/sctp.c
844
sctp->sctp_rto_max = psctp->sctp_rto_max;
usr/src/uts/common/inet/sctp/sctp.c
845
sctp->sctp_rto_max_init = psctp->sctp_rto_max_init;
usr/src/uts/common/inet/sctp/sctp.c
846
sctp->sctp_rto_min = psctp->sctp_rto_min;
usr/src/uts/common/inet/sctp/sctp.c
847
sctp->sctp_rto_initial = psctp->sctp_rto_initial;
usr/src/uts/common/inet/sctp/sctp.c
848
sctp->sctp_pa_max_rxt = psctp->sctp_pa_max_rxt;
usr/src/uts/common/inet/sctp/sctp.c
849
sctp->sctp_pp_max_rxt = psctp->sctp_pp_max_rxt;
usr/src/uts/common/inet/sctp/sctp.c
850
sctp->sctp_max_init_rxt = psctp->sctp_max_init_rxt;
usr/src/uts/common/inet/sctp/sctp.c
852
sctp->sctp_def_stream = psctp->sctp_def_stream;
usr/src/uts/common/inet/sctp/sctp.c
853
sctp->sctp_def_flags = psctp->sctp_def_flags;
usr/src/uts/common/inet/sctp/sctp.c
854
sctp->sctp_def_ppid = psctp->sctp_def_ppid;
usr/src/uts/common/inet/sctp/sctp.c
855
sctp->sctp_def_context = psctp->sctp_def_context;
usr/src/uts/common/inet/sctp/sctp.c
856
sctp->sctp_def_timetolive = psctp->sctp_def_timetolive;
usr/src/uts/common/inet/sctp/sctp.c
858
sctp->sctp_num_istr = psctp->sctp_num_istr;
usr/src/uts/common/inet/sctp/sctp.c
859
sctp->sctp_num_ostr = psctp->sctp_num_ostr;
usr/src/uts/common/inet/sctp/sctp.c
861
sctp->sctp_hb_interval = psctp->sctp_hb_interval;
usr/src/uts/common/inet/sctp/sctp.c
862
sctp->sctp_autoclose = psctp->sctp_autoclose;
usr/src/uts/common/inet/sctp/sctp.c
863
sctp->sctp_tx_adaptation_code = psctp->sctp_tx_adaptation_code;
usr/src/uts/common/inet/sctp/sctp.c
866
sctp->sctp_bound_to_all = psctp->sctp_bound_to_all;
usr/src/uts/common/inet/sctp/sctp.c
867
sctp->sctp_cansleep = psctp->sctp_cansleep;
usr/src/uts/common/inet/sctp/sctp.c
868
sctp->sctp_send_adaptation = psctp->sctp_send_adaptation;
usr/src/uts/common/inet/sctp/sctp.c
869
sctp->sctp_ndelay = psctp->sctp_ndelay;
usr/src/uts/common/inet/sctp/sctp.c
870
sctp->sctp_events = psctp->sctp_events;
usr/src/uts/common/inet/sctp/sctp.c
875
sctp->sctp_cookie_lifetime =
usr/src/uts/common/inet/sctp/sctp.c
881
sctp->sctp_cwnd_max = sctps->sctps_cwnd_max_;
usr/src/uts/common/inet/sctp/sctp.c
882
sctp->sctp_rwnd = connp->conn_rcvbuf;
usr/src/uts/common/inet/sctp/sctp.c
883
sctp->sctp_arwnd = connp->conn_rcvbuf;
usr/src/uts/common/inet/sctp/sctp.c
884
sctp->sctp_pd_point = sctp->sctp_rwnd;
usr/src/uts/common/inet/sctp/sctp.c
885
sctp->sctp_rto_max = MSEC_TO_TICK(sctps->sctps_rto_maxg);
usr/src/uts/common/inet/sctp/sctp.c
886
sctp->sctp_rto_max_init = sctp->sctp_rto_max;
usr/src/uts/common/inet/sctp/sctp.c
887
sctp->sctp_rto_min = MSEC_TO_TICK(sctps->sctps_rto_ming);
usr/src/uts/common/inet/sctp/sctp.c
888
sctp->sctp_rto_initial = MSEC_TO_TICK(
usr/src/uts/common/inet/sctp/sctp.c
890
sctp->sctp_pa_max_rxt = sctps->sctps_pa_max_retr;
usr/src/uts/common/inet/sctp/sctp.c
891
sctp->sctp_pp_max_rxt = sctps->sctps_pp_max_retr;
usr/src/uts/common/inet/sctp/sctp.c
892
sctp->sctp_max_init_rxt = sctps->sctps_max_init_retr;
usr/src/uts/common/inet/sctp/sctp.c
894
sctp->sctp_num_istr = sctps->sctps_max_in_streams;
usr/src/uts/common/inet/sctp/sctp.c
895
sctp->sctp_num_ostr = sctps->sctps_initial_out_streams;
usr/src/uts/common/inet/sctp/sctp.c
897
sctp->sctp_hb_interval =
usr/src/uts/common/inet/sctp/sctp.c
911
if ((err = sctp_build_hdrs(sctp, sleep)) != 0) {
usr/src/uts/common/inet/sctp/sctp.c
916
sctp->sctp_understands_asconf = B_TRUE;
usr/src/uts/common/inet/sctp/sctp.c
917
sctp->sctp_understands_addip = B_TRUE;
usr/src/uts/common/inet/sctp/sctp.c
918
sctp->sctp_prsctp_aware = B_FALSE;
usr/src/uts/common/inet/sctp/sctp.c
920
sctp->sctp_connp->conn_ref = 1;
usr/src/uts/common/inet/sctp/sctp.c
922
sctp->sctp_prsctpdrop = 0;
usr/src/uts/common/inet/sctp/sctp.c
923
sctp->sctp_msgcount = 0;
usr/src/uts/common/inet/sctp/sctp.c
928
sctp_headers_free(sctp);
usr/src/uts/common/inet/sctp/sctp.c
938
sctp_icmp_verf(sctp_t *sctp, sctp_hdr_t *sh, mblk_t *mp)
usr/src/uts/common/inet/sctp/sctp.c
953
if (verf == sctp->sctp_lvtag) {
usr/src/uts/common/inet/sctp/sctp.c
966
sctp_update_pmtu(sctp_t *sctp, sctp_faddr_t *fp, boolean_t decrease_only)
usr/src/uts/common/inet/sctp/sctp.c
972
if (sctp->sctp_state < SCTPS_ESTABLISHED)
usr/src/uts/common/inet/sctp/sctp.c
986
mss = pmtu - conn_ipsec_length(sctp->sctp_connp);
usr/src/uts/common/inet/sctp/sctp.c
988
mss -= sctp->sctp_hdr_len;
usr/src/uts/common/inet/sctp/sctp.c
990
mss -= sctp->sctp_hdr6_len;
usr/src/uts/common/inet/sctp/sctp_addr.c
1271
sctp_del_saddr(sctp_t *sctp, sctp_saddr_ipif_t *sp)
usr/src/uts/common/inet/sctp/sctp_addr.c
1273
if (sctp->sctp_conn_tfp != NULL)
usr/src/uts/common/inet/sctp/sctp_addr.c
1274
mutex_enter(&sctp->sctp_conn_tfp->tf_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1276
if (sctp->sctp_listen_tfp != NULL)
usr/src/uts/common/inet/sctp/sctp_addr.c
1277
mutex_enter(&sctp->sctp_listen_tfp->tf_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1279
sctp_ipif_hash_remove(sctp, sp->saddr_ipifp, B_FALSE);
usr/src/uts/common/inet/sctp/sctp_addr.c
1281
if (sctp->sctp_bound_to_all == 1)
usr/src/uts/common/inet/sctp/sctp_addr.c
1282
sctp->sctp_bound_to_all = 0;
usr/src/uts/common/inet/sctp/sctp_addr.c
1284
if (sctp->sctp_conn_tfp != NULL)
usr/src/uts/common/inet/sctp/sctp_addr.c
1285
mutex_exit(&sctp->sctp_conn_tfp->tf_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1287
if (sctp->sctp_listen_tfp != NULL)
usr/src/uts/common/inet/sctp/sctp_addr.c
1288
mutex_exit(&sctp->sctp_listen_tfp->tf_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1296
sctp_del_saddr_list(sctp_t *sctp, const void *addrs, int addcnt,
usr/src/uts/common/inet/sctp/sctp_addr.c
1305
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_addr.c
1307
ASSERT(sctp->sctp_nsaddrs >= addcnt);
usr/src/uts/common/inet/sctp/sctp_addr.c
1310
if (sctp->sctp_conn_tfp != NULL)
usr/src/uts/common/inet/sctp/sctp_addr.c
1311
mutex_enter(&sctp->sctp_conn_tfp->tf_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1312
if (sctp->sctp_listen_tfp != NULL)
usr/src/uts/common/inet/sctp/sctp_addr.c
1313
mutex_enter(&sctp->sctp_listen_tfp->tf_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1331
ifindex, 0, B_TRUE, sctp->sctp_sctps);
usr/src/uts/common/inet/sctp/sctp_addr.c
1333
sctp_ipif_hash_remove(sctp, sctp_ipif, B_FALSE);
usr/src/uts/common/inet/sctp/sctp_addr.c
1335
if (sctp->sctp_bound_to_all == 1)
usr/src/uts/common/inet/sctp/sctp_addr.c
1336
sctp->sctp_bound_to_all = 0;
usr/src/uts/common/inet/sctp/sctp_addr.c
1339
if (sctp->sctp_conn_tfp != NULL)
usr/src/uts/common/inet/sctp/sctp_addr.c
1340
mutex_exit(&sctp->sctp_conn_tfp->tf_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1341
if (sctp->sctp_listen_tfp != NULL)
usr/src/uts/common/inet/sctp/sctp_addr.c
1342
mutex_exit(&sctp->sctp_listen_tfp->tf_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1351
sctp_saddr_lookup(sctp_t *sctp, in6_addr_t *addr, uint_t ifindex)
usr/src/uts/common/inet/sctp/sctp_addr.c
1359
rw_enter(&sctp->sctp_saddrs[hindex].ipif_hash_lock, RW_READER);
usr/src/uts/common/inet/sctp/sctp_addr.c
1360
if (sctp->sctp_saddrs[hindex].ipif_count == 0) {
usr/src/uts/common/inet/sctp/sctp_addr.c
1361
rw_exit(&sctp->sctp_saddrs[hindex].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1365
ipif_obj = list_head(&sctp->sctp_saddrs[hindex].sctp_ipif_list);
usr/src/uts/common/inet/sctp/sctp_addr.c
1366
for (cnt = 0; cnt < sctp->sctp_saddrs[hindex].ipif_count; cnt++) {
usr/src/uts/common/inet/sctp/sctp_addr.c
1375
rw_exit(&sctp->sctp_saddrs[hindex].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1378
ipif_obj = list_next(&sctp->sctp_saddrs[hindex].sctp_ipif_list,
usr/src/uts/common/inet/sctp/sctp_addr.c
1381
rw_exit(&sctp->sctp_saddrs[hindex].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1387
sctp_saddr_add_addr(sctp_t *sctp, in6_addr_t *addr, uint_t ifindex)
usr/src/uts/common/inet/sctp/sctp_addr.c
1390
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_addr.c
1393
!connp->conn_allzones, ifindex, 0, B_TRUE, sctp->sctp_sctps);
usr/src/uts/common/inet/sctp/sctp_addr.c
1397
if (sctp_ipif_hash_insert(sctp, sctp_ipif, KM_NOSLEEP, B_FALSE,
usr/src/uts/common/inet/sctp/sctp_addr.c
1411
sctp_check_saddr(sctp_t *sctp, int supp_af, boolean_t delete,
usr/src/uts/common/inet/sctp/sctp_addr.c
1420
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_addr.c
1422
ASSERT(!sctp->sctp_loopback && !sctp->sctp_linklocal && supp_af != 0);
usr/src/uts/common/inet/sctp/sctp_addr.c
1431
nsaddr = sctp->sctp_nsaddrs;
usr/src/uts/common/inet/sctp/sctp_addr.c
1433
rw_enter(&sctp->sctp_saddrs[i].ipif_hash_lock, RW_WRITER);
usr/src/uts/common/inet/sctp/sctp_addr.c
1434
if (sctp->sctp_saddrs[i].ipif_count == 0) {
usr/src/uts/common/inet/sctp/sctp_addr.c
1435
rw_exit(&sctp->sctp_saddrs[i].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1438
obj = list_head(&sctp->sctp_saddrs[i].sctp_ipif_list);
usr/src/uts/common/inet/sctp/sctp_addr.c
1439
naddr = sctp->sctp_saddrs[i].ipif_count;
usr/src/uts/common/inet/sctp/sctp_addr.c
1466
if (sctp->sctp_bound_to_all == 1)
usr/src/uts/common/inet/sctp/sctp_addr.c
1467
sctp->sctp_bound_to_all = 0;
usr/src/uts/common/inet/sctp/sctp_addr.c
1469
obj = list_next(&sctp->sctp_saddrs[i].
usr/src/uts/common/inet/sctp/sctp_addr.c
1471
sctp_ipif_hash_remove(sctp, ipif,
usr/src/uts/common/inet/sctp/sctp_addr.c
1475
sctp_ipif_hash_remove(sctp, ipif, B_TRUE);
usr/src/uts/common/inet/sctp/sctp_addr.c
1479
rw_exit(&sctp->sctp_saddrs[i].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1482
obj = list_next(&sctp->sctp_saddrs[i].sctp_ipif_list,
usr/src/uts/common/inet/sctp/sctp_addr.c
1485
rw_exit(&sctp->sctp_saddrs[i].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1492
sctp_get_valid_addr(sctp_t *sctp, boolean_t isv6, boolean_t *addr_set)
usr/src/uts/common/inet/sctp/sctp_addr.c
1501
rw_enter(&sctp->sctp_saddrs[i].ipif_hash_lock, RW_READER);
usr/src/uts/common/inet/sctp/sctp_addr.c
1502
if (sctp->sctp_saddrs[i].ipif_count == 0) {
usr/src/uts/common/inet/sctp/sctp_addr.c
1503
rw_exit(&sctp->sctp_saddrs[i].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1506
obj = list_head(&sctp->sctp_saddrs[i].sctp_ipif_list);
usr/src/uts/common/inet/sctp/sctp_addr.c
1507
for (l = 0; l < sctp->sctp_saddrs[i].ipif_count; l++) {
usr/src/uts/common/inet/sctp/sctp_addr.c
1515
rw_exit(&sctp->sctp_saddrs[i].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1519
if (scanned >= sctp->sctp_nsaddrs) {
usr/src/uts/common/inet/sctp/sctp_addr.c
1520
rw_exit(&sctp->sctp_saddrs[i].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1523
obj = list_next(&sctp->sctp_saddrs[i].sctp_ipif_list,
usr/src/uts/common/inet/sctp/sctp_addr.c
1526
rw_exit(&sctp->sctp_saddrs[i].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1549
sctp_t *sctp = (sctp_t *)conn;
usr/src/uts/common/inet/sctp/sctp_addr.c
1550
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_addr.c
1560
if (sctp->sctp_nsaddrs == 0)
usr/src/uts/common/inet/sctp/sctp_addr.c
1567
if (sctp->sctp_state >= SCTPS_ESTABLISHED && !sctp->sctp_loopback &&
usr/src/uts/common/inet/sctp/sctp_addr.c
1573
rw_enter(&sctp->sctp_saddrs[i].ipif_hash_lock, RW_READER);
usr/src/uts/common/inet/sctp/sctp_addr.c
1574
if (sctp->sctp_saddrs[i].ipif_count == 0) {
usr/src/uts/common/inet/sctp/sctp_addr.c
1575
rw_exit(&sctp->sctp_saddrs[i].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1578
obj = list_head(&sctp->sctp_saddrs[i].sctp_ipif_list);
usr/src/uts/common/inet/sctp/sctp_addr.c
1579
for (l = 0; l < sctp->sctp_saddrs[i].ipif_count; l++) {
usr/src/uts/common/inet/sctp/sctp_addr.c
1587
if (scanned >= sctp->sctp_nsaddrs) {
usr/src/uts/common/inet/sctp/sctp_addr.c
1588
rw_exit(&sctp->
usr/src/uts/common/inet/sctp/sctp_addr.c
1592
obj = list_next(&sctp->sctp_saddrs[i].
usr/src/uts/common/inet/sctp/sctp_addr.c
1624
if (added >= max || scanned >= sctp->sctp_nsaddrs) {
usr/src/uts/common/inet/sctp/sctp_addr.c
1625
rw_exit(&sctp->sctp_saddrs[i].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1628
obj = list_next(&sctp->sctp_saddrs[i].sctp_ipif_list,
usr/src/uts/common/inet/sctp/sctp_addr.c
1631
rw_exit(&sctp->sctp_saddrs[i].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1648
sctp_saddr_info(sctp_t *sctp, int supp_af, uchar_t *p, boolean_t modify)
usr/src/uts/common/inet/sctp/sctp_addr.c
1666
if (modify && !sctp->sctp_loopback && (cl_sctp_check_addrs == NULL))
usr/src/uts/common/inet/sctp/sctp_addr.c
1669
if (modify && !sctp->sctp_linklocal)
usr/src/uts/common/inet/sctp/sctp_addr.c
1672
nsaddr = sctp->sctp_nsaddrs;
usr/src/uts/common/inet/sctp/sctp_addr.c
1674
rw_enter(&sctp->sctp_saddrs[i].ipif_hash_lock, RW_WRITER);
usr/src/uts/common/inet/sctp/sctp_addr.c
1675
if (sctp->sctp_saddrs[i].ipif_count == 0) {
usr/src/uts/common/inet/sctp/sctp_addr.c
1676
rw_exit(&sctp->sctp_saddrs[i].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1679
obj = list_head(&sctp->sctp_saddrs[i].sctp_ipif_list);
usr/src/uts/common/inet/sctp/sctp_addr.c
1680
naddr = sctp->sctp_saddrs[i].ipif_count;
usr/src/uts/common/inet/sctp/sctp_addr.c
1700
if (sctp->sctp_bound_to_all == 1)
usr/src/uts/common/inet/sctp/sctp_addr.c
1701
sctp->sctp_bound_to_all = 0;
usr/src/uts/common/inet/sctp/sctp_addr.c
1703
obj = list_next(&sctp->sctp_saddrs[i].
usr/src/uts/common/inet/sctp/sctp_addr.c
1705
sctp_ipif_hash_remove(sctp, ipif,
usr/src/uts/common/inet/sctp/sctp_addr.c
1709
sctp_ipif_hash_remove(sctp, ipif, B_TRUE);
usr/src/uts/common/inet/sctp/sctp_addr.c
1742
rw_exit(&sctp->sctp_saddrs[i].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1745
obj = list_next(&sctp->sctp_saddrs[i].sctp_ipif_list,
usr/src/uts/common/inet/sctp/sctp_addr.c
1748
rw_exit(&sctp->sctp_saddrs[i].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1769
sctp_get_addrlist(sctp_t *sctp, const void *addrs, uint32_t *addrcnt,
usr/src/uts/common/inet/sctp/sctp_addr.c
1779
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_addr.c
1780
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_addr.c
1806
if (sctp->sctp_state > SCTPS_LISTEN) {
usr/src/uts/common/inet/sctp/sctp_addr.c
1831
if (sctp->sctp_state > SCTPS_LISTEN) {
usr/src/uts/common/inet/sctp/sctp_addr.c
1885
!SCTP_IPIF_ZONE_MATCH(sctp, sctp_ipif) ||
usr/src/uts/common/inet/sctp/sctp_addr.c
1888
(sctp->sctp_connp->conn_ipv6_v6only &&
usr/src/uts/common/inet/sctp/sctp_addr.c
1925
sctp_get_saddr_list(sctp_t *sctp, uchar_t *p, size_t psize)
usr/src/uts/common/inet/sctp/sctp_addr.c
1934
rw_enter(&sctp->sctp_saddrs[cnt].ipif_hash_lock, RW_READER);
usr/src/uts/common/inet/sctp/sctp_addr.c
1935
if (sctp->sctp_saddrs[cnt].ipif_count == 0) {
usr/src/uts/common/inet/sctp/sctp_addr.c
1936
rw_exit(&sctp->sctp_saddrs[cnt].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1939
obj = list_head(&sctp->sctp_saddrs[cnt].sctp_ipif_list);
usr/src/uts/common/inet/sctp/sctp_addr.c
1940
naddr = sctp->sctp_saddrs[cnt].ipif_count;
usr/src/uts/common/inet/sctp/sctp_addr.c
1945
rw_exit(&sctp->sctp_saddrs[cnt].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1955
if (scanned >= sctp->sctp_nsaddrs) {
usr/src/uts/common/inet/sctp/sctp_addr.c
1956
rw_exit(&sctp->sctp_saddrs[cnt].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1960
&sctp->sctp_saddrs[icnt].sctp_ipif_list,
usr/src/uts/common/inet/sctp/sctp_addr.c
1963
rw_exit(&sctp->sctp_saddrs[cnt].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
1972
sctp_get_faddr_list(sctp_t *sctp, uchar_t *p, size_t psize)
usr/src/uts/common/inet/sctp/sctp_addr.c
1976
for (fp = sctp->sctp_faddrs; fp != NULL; fp = fp->sf_next) {
usr/src/uts/common/inet/sctp/sctp_addr.c
232
sctp_get_all_ipifs(sctp_t *sctp, int sleep)
usr/src/uts/common/inet/sctp/sctp_addr.c
238
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_addr.c
240
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_addr.c
252
!SCTP_IPIF_ZONE_MATCH(sctp, sctp_ipif) ||
usr/src/uts/common/inet/sctp/sctp_addr.c
265
error = sctp_ipif_hash_insert(sctp, sctp_ipif, sleep,
usr/src/uts/common/inet/sctp/sctp_addr.c
278
sctp_free_saddrs(sctp);
usr/src/uts/common/inet/sctp/sctp_addr.c
293
sctp_valid_addr_list(sctp_t *sctp, const void *addrs, uint32_t addrcnt,
usr/src/uts/common/inet/sctp/sctp_addr.c
308
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_addr.c
317
if (sctp->sctp_state >= SCTPS_BOUND) {
usr/src/uts/common/inet/sctp/sctp_addr.c
319
if (sctp->sctp_state > SCTPS_LISTEN)
usr/src/uts/common/inet/sctp/sctp_addr.c
323
if (sctp->sctp_conn_tfp != NULL)
usr/src/uts/common/inet/sctp/sctp_addr.c
324
mutex_enter(&sctp->sctp_conn_tfp->tf_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
325
if (sctp->sctp_listen_tfp != NULL)
usr/src/uts/common/inet/sctp/sctp_addr.c
326
mutex_enter(&sctp->sctp_listen_tfp->tf_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
389
ifindex, 0, B_TRUE, sctp->sctp_sctps);
usr/src/uts/common/inet/sctp/sctp_addr.c
409
err = sctp_ipif_hash_insert(sctp, ipif, KM_SLEEP,
usr/src/uts/common/inet/sctp/sctp_addr.c
430
if (sctp->sctp_nsaddrs > 0) {
usr/src/uts/common/inet/sctp/sctp_addr.c
431
sctp_free_saddrs(sctp);
usr/src/uts/common/inet/sctp/sctp_addr.c
432
ASSERT(sctp->sctp_nsaddrs == 0);
usr/src/uts/common/inet/sctp/sctp_addr.c
434
err = sctp_get_all_ipifs(sctp, KM_SLEEP);
usr/src/uts/common/inet/sctp/sctp_addr.c
437
sctp->sctp_bound_to_all = 1;
usr/src/uts/common/inet/sctp/sctp_addr.c
439
if (sctp->sctp_listen_tfp != NULL)
usr/src/uts/common/inet/sctp/sctp_addr.c
440
mutex_exit(&sctp->sctp_listen_tfp->tf_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
441
if (sctp->sctp_conn_tfp != NULL)
usr/src/uts/common/inet/sctp/sctp_addr.c
442
mutex_exit(&sctp->sctp_conn_tfp->tf_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
446
sctp_del_saddr_list(sctp, addrs, saddr_cnt, B_TRUE);
usr/src/uts/common/inet/sctp/sctp_addr.c
447
if (sctp->sctp_listen_tfp != NULL)
usr/src/uts/common/inet/sctp/sctp_addr.c
448
mutex_exit(&sctp->sctp_listen_tfp->tf_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
449
if (sctp->sctp_conn_tfp != NULL)
usr/src/uts/common/inet/sctp/sctp_addr.c
450
mutex_exit(&sctp->sctp_conn_tfp->tf_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
455
sctp_ipif_hash_insert(sctp_t *sctp, sctp_ipif_t *ipif, int sleep,
usr/src/uts/common/inet/sctp/sctp_addr.c
464
rw_enter(&sctp->sctp_saddrs[hindex].ipif_hash_lock, RW_WRITER);
usr/src/uts/common/inet/sctp/sctp_addr.c
465
ipif_obj = list_head(&sctp->sctp_saddrs[hindex].sctp_ipif_list);
usr/src/uts/common/inet/sctp/sctp_addr.c
466
for (cnt = 0; cnt < sctp->sctp_saddrs[hindex].ipif_count; cnt++) {
usr/src/uts/common/inet/sctp/sctp_addr.c
478
&sctp->sctp_saddrs[hindex].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
483
&sctp->sctp_saddrs[hindex].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
487
ipif_obj = list_next(&sctp->sctp_saddrs[hindex].sctp_ipif_list,
usr/src/uts/common/inet/sctp/sctp_addr.c
492
rw_exit(&sctp->sctp_saddrs[hindex].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
498
list_insert_tail(&sctp->sctp_saddrs[hindex].sctp_ipif_list, ipif_obj);
usr/src/uts/common/inet/sctp/sctp_addr.c
499
sctp->sctp_saddrs[hindex].ipif_count++;
usr/src/uts/common/inet/sctp/sctp_addr.c
500
sctp->sctp_nsaddrs++;
usr/src/uts/common/inet/sctp/sctp_addr.c
501
rw_exit(&sctp->sctp_saddrs[hindex].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
512
sctp_fix_saddr(sctp_t *sctp, in6_addr_t *saddr)
usr/src/uts/common/inet/sctp/sctp_addr.c
516
for (fp = sctp->sctp_faddrs; fp != NULL; fp = fp->sf_next) {
usr/src/uts/common/inet/sctp/sctp_addr.c
524
sctp_ipif_hash_remove(sctp_t *sctp, sctp_ipif_t *ipif, boolean_t locked)
usr/src/uts/common/inet/sctp/sctp_addr.c
533
rw_enter(&sctp->sctp_saddrs[hindex].ipif_hash_lock, RW_WRITER);
usr/src/uts/common/inet/sctp/sctp_addr.c
534
ipif_obj = list_head(&sctp->sctp_saddrs[hindex].sctp_ipif_list);
usr/src/uts/common/inet/sctp/sctp_addr.c
535
for (cnt = 0; cnt < sctp->sctp_saddrs[hindex].ipif_count; cnt++) {
usr/src/uts/common/inet/sctp/sctp_addr.c
538
list_remove(&sctp->sctp_saddrs[hindex].sctp_ipif_list,
usr/src/uts/common/inet/sctp/sctp_addr.c
540
sctp->sctp_saddrs[hindex].ipif_count--;
usr/src/uts/common/inet/sctp/sctp_addr.c
541
sctp->sctp_nsaddrs--;
usr/src/uts/common/inet/sctp/sctp_addr.c
542
sctp_fix_saddr(sctp, &ipif->sctp_ipif_saddr);
usr/src/uts/common/inet/sctp/sctp_addr.c
547
ipif_obj = list_next(&sctp->sctp_saddrs[hindex].sctp_ipif_list,
usr/src/uts/common/inet/sctp/sctp_addr.c
551
rw_exit(&sctp->sctp_saddrs[hindex].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
661
sctp_free_saddrs(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_addr.c
667
if (sctp->sctp_nsaddrs == 0)
usr/src/uts/common/inet/sctp/sctp_addr.c
670
rw_enter(&sctp->sctp_saddrs[i].ipif_hash_lock, RW_WRITER);
usr/src/uts/common/inet/sctp/sctp_addr.c
671
if (sctp->sctp_saddrs[i].ipif_count == 0) {
usr/src/uts/common/inet/sctp/sctp_addr.c
672
rw_exit(&sctp->sctp_saddrs[i].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
675
obj = list_tail(&sctp->sctp_saddrs[i].sctp_ipif_list);
usr/src/uts/common/inet/sctp/sctp_addr.c
676
for (l = 0; l < sctp->sctp_saddrs[i].ipif_count; l++) {
usr/src/uts/common/inet/sctp/sctp_addr.c
677
list_remove(&sctp->sctp_saddrs[i].sctp_ipif_list, obj);
usr/src/uts/common/inet/sctp/sctp_addr.c
679
sctp->sctp_nsaddrs--;
usr/src/uts/common/inet/sctp/sctp_addr.c
681
obj = list_tail(&sctp->sctp_saddrs[i].sctp_ipif_list);
usr/src/uts/common/inet/sctp/sctp_addr.c
683
sctp->sctp_saddrs[i].ipif_count = 0;
usr/src/uts/common/inet/sctp/sctp_addr.c
684
rw_exit(&sctp->sctp_saddrs[i].ipif_hash_lock);
usr/src/uts/common/inet/sctp/sctp_addr.c
686
if (sctp->sctp_bound_to_all == 1)
usr/src/uts/common/inet/sctp/sctp_addr.c
687
sctp->sctp_bound_to_all = 0;
usr/src/uts/common/inet/sctp/sctp_addr.c
688
ASSERT(sctp->sctp_nsaddrs == 0);
usr/src/uts/common/inet/sctp/sctp_addr.c
901
sctp_t *sctp;
usr/src/uts/common/inet/sctp/sctp_addr.c
907
sctp = list_head(&sctps->sctps_g_list);
usr/src/uts/common/inet/sctp/sctp_addr.c
908
while (sctp != NULL && oipif->sctp_ipif_refcnt > 0) {
usr/src/uts/common/inet/sctp/sctp_addr.c
909
mutex_enter(&sctp->sctp_reflock);
usr/src/uts/common/inet/sctp/sctp_addr.c
910
if (sctp->sctp_condemned ||
usr/src/uts/common/inet/sctp/sctp_addr.c
911
sctp->sctp_saddrs[idx].ipif_count <= 0) {
usr/src/uts/common/inet/sctp/sctp_addr.c
912
mutex_exit(&sctp->sctp_reflock);
usr/src/uts/common/inet/sctp/sctp_addr.c
913
sctp = list_next(&sctps->sctps_g_list, sctp);
usr/src/uts/common/inet/sctp/sctp_addr.c
916
sctp->sctp_refcnt++;
usr/src/uts/common/inet/sctp/sctp_addr.c
917
mutex_exit(&sctp->sctp_reflock);
usr/src/uts/common/inet/sctp/sctp_addr.c
922
RUN_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_addr.c
923
sobj = list_head(&sctp->sctp_saddrs[idx].sctp_ipif_list);
usr/src/uts/common/inet/sctp/sctp_addr.c
925
sctp->sctp_saddrs[idx].ipif_count; count++) {
usr/src/uts/common/inet/sctp/sctp_addr.c
938
sobj = list_next(&sctp->sctp_saddrs[idx].sctp_ipif_list,
usr/src/uts/common/inet/sctp/sctp_addr.c
941
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_addr.c
942
sctp_prev = sctp;
usr/src/uts/common/inet/sctp/sctp_addr.c
944
sctp = list_next(&sctps->sctps_g_list, sctp);
usr/src/uts/common/inet/sctp/sctp_addr.c
95
#define SCTP_IPIF_ZONE_MATCH(sctp, ipif) \
usr/src/uts/common/inet/sctp/sctp_addr.c
96
IPCL_ZONE_MATCH((sctp)->sctp_connp, (ipif)->sctp_ipif_zoneid)
usr/src/uts/common/inet/sctp/sctp_asconf.c
1007
((mp = dupb(sctp->sctp_cxmit_list)) == NULL)) {
usr/src/uts/common/inet/sctp/sctp_asconf.c
1008
SCTP_FADDR_RC_TIMER_RESTART(sctp, fp, fp->sf_rto);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1016
*snp = htonl(sctp->sctp_lcsn++);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1022
sctp->sctp_cchunk_pend = 1;
usr/src/uts/common/inet/sctp/sctp_asconf.c
1024
SCTP_SET_SENT_FLAG(sctp->sctp_cxmit_list);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1025
SCTP_SET_CHUNK_DEST(sctp->sctp_cxmit_list, fp);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1026
sctp_set_iplen(sctp, ipmp, fp->sf_ixa);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1028
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1029
SCTP_FADDR_RC_TIMER_RESTART(sctp, fp, fp->sf_rto);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1156
sctp_addip_req(sctp_t *sctp, sctp_parm_hdr_t *ph, uint32_t cid,
usr/src/uts/common/inet/sctp/sctp_asconf.c
1165
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_asconf.c
1189
if (sctp_lookup_faddr(sctp, &addr) != NULL) {
usr/src/uts/common/inet/sctp/sctp_asconf.c
1201
mutex_enter(&sctp->sctp_conn_tfp->tf_lock);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1202
err = sctp_add_faddr(sctp, &addr, KM_NOSLEEP, B_FALSE);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1203
mutex_exit(&sctp->sctp_conn_tfp->tf_lock);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1213
sctp_intf_event(sctp, addr, SCTP_ADDR_ADDED, 0);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1215
nfp = sctp_lookup_faddr(sctp, &addr);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1226
if (sctp->sctp_faddrs == nfp && nfp->sf_next == NULL) {
usr/src/uts/common/inet/sctp/sctp_asconf.c
1244
sctp_unlink_faddr(sctp, nfp);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1246
if (sctp->sctp_primary == nfp) {
usr/src/uts/common/inet/sctp/sctp_asconf.c
1247
sctp->sctp_primary = fp;
usr/src/uts/common/inet/sctp/sctp_asconf.c
1249
if (sctp->sctp_current == nfp) {
usr/src/uts/common/inet/sctp/sctp_asconf.c
1250
sctp_set_faddr_current(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1252
if (sctp->sctp_lastdata == nfp) {
usr/src/uts/common/inet/sctp/sctp_asconf.c
1253
sctp->sctp_lastdata = fp;
usr/src/uts/common/inet/sctp/sctp_asconf.c
1255
if (sctp->sctp_shutdown_faddr == nfp) {
usr/src/uts/common/inet/sctp/sctp_asconf.c
1256
sctp->sctp_shutdown_faddr = nfp;
usr/src/uts/common/inet/sctp/sctp_asconf.c
1258
if (sctp->sctp_lastfaddr == nfp) {
usr/src/uts/common/inet/sctp/sctp_asconf.c
1259
for (fp = sctp->sctp_faddrs; fp->sf_next;
usr/src/uts/common/inet/sctp/sctp_asconf.c
1262
sctp->sctp_lastfaddr = fp;
usr/src/uts/common/inet/sctp/sctp_asconf.c
1264
sctp_intf_event(sctp, addr, SCTP_ADDR_REMOVED, 0);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1284
sctp_addip_ack(sctp_t *sctp, sctp_parm_hdr_t *ph, sctp_parm_hdr_t *oph,
usr/src/uts/common/inet/sctp/sctp_asconf.c
1300
sctp->sctp_understands_addip = B_FALSE;
usr/src/uts/common/inet/sctp/sctp_asconf.c
1310
sctp_error_event(sctp, (sctp_chunk_hdr_t *)ph, B_TRUE);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1327
sp = sctp_saddr_lookup(sctp, &addr, 0);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1332
sctp_del_saddr(sctp, sp);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1341
sctp_del_saddr(sctp, sp);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1351
sctp_setprim_req(sctp_t *sctp, sctp_parm_hdr_t *ph, uint32_t cid,
usr/src/uts/common/inet/sctp/sctp_asconf.c
1362
if (!sctp->sctp_understands_asconf || !sctp->sctp_understands_addip) {
usr/src/uts/common/inet/sctp/sctp_asconf.c
1387
nfp = sctp_lookup_faddr(sctp, &addr);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1402
sctp_intf_event(sctp, addr, SCTP_ADDR_MADE_PRIM, 0);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1403
sctp->sctp_primary = nfp;
usr/src/uts/common/inet/sctp/sctp_asconf.c
1404
if (nfp->sf_state != SCTP_FADDRS_ALIVE || nfp == sctp->sctp_current) {
usr/src/uts/common/inet/sctp/sctp_asconf.c
1407
sctp_set_faddr_current(sctp, nfp);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1413
sctp_setprim_ack(sctp_t *sctp, sctp_parm_hdr_t *ph, sctp_parm_hdr_t *oph,
usr/src/uts/common/inet/sctp/sctp_asconf.c
1419
sctp->sctp_understands_addip = B_FALSE;
usr/src/uts/common/inet/sctp/sctp_asconf.c
1421
sctp_error_event(sctp, (sctp_chunk_hdr_t *)ph, B_TRUE);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1428
sctp_add_ip(sctp_t *sctp, const void *addrs, uint32_t cnt)
usr/src/uts/common/inet/sctp/sctp_asconf.c
1441
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_asconf.c
1444
if (!sctp->sctp_understands_asconf || !sctp->sctp_understands_addip)
usr/src/uts/common/inet/sctp/sctp_asconf.c
1524
error = sctp_asconf_send(sctp, asc, sctp->sctp_current, ainfo);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1541
sctp_del_ip(sctp_t *sctp, const void *addrs, uint32_t cnt, uchar_t *ulist,
usr/src/uts/common/inet/sctp/sctp_asconf.c
1562
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_asconf.c
1563
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_asconf.c
1566
if (sctp->sctp_state <= SCTPS_LISTEN || !sctps->sctps_addip_enabled ||
usr/src/uts/common/inet/sctp/sctp_asconf.c
1567
!sctp->sctp_understands_asconf || !sctp->sctp_understands_addip) {
usr/src/uts/common/inet/sctp/sctp_asconf.c
1571
if (sctp->sctp_state > SCTPS_BOUND)
usr/src/uts/common/inet/sctp/sctp_asconf.c
1626
nsp = sctp_saddr_lookup(sctp, &addr, ifindex);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1682
sctp_del_saddr_list(sctp, addrs, cnt, B_FALSE);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1685
error = sctp_asconf_send(sctp, asc, sctp->sctp_current, ainfo);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1688
sctp_redo_faddr_srcs(sctp);
usr/src/uts/common/inet/sctp/sctp_asconf.c
171
sctp_asconf_unrec_parm(sctp_t *sctp, sctp_parm_hdr_t *ph, uint32_t cid,
usr/src/uts/common/inet/sctp/sctp_asconf.c
1713
nsp = sctp_saddr_lookup(sctp, &addr, ifindex);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1724
sctp_set_peerprim(sctp_t *sctp, const void *inp)
usr/src/uts/common/inet/sctp/sctp_asconf.c
1740
if (!sctp->sctp_understands_asconf || !sctp->sctp_understands_addip) {
usr/src/uts/common/inet/sctp/sctp_asconf.c
1745
if (sctp->sctp_state != SCTPS_ESTABLISHED)
usr/src/uts/common/inet/sctp/sctp_asconf.c
1761
sp = sctp_saddr_lookup(sctp, &addr, ifindex);
usr/src/uts/common/inet/sctp/sctp_asconf.c
1800
error = sctp_asconf_send(sctp, asc, sctp->sctp_current, NULL);
usr/src/uts/common/inet/sctp/sctp_asconf.c
225
sctp_asconf_ack_unrec_parm(sctp_t *sctp, sctp_parm_hdr_t *ph,
usr/src/uts/common/inet/sctp/sctp_asconf.c
229
sctp_error_event(sctp, (sctp_chunk_hdr_t *)ph, B_TRUE);
usr/src/uts/common/inet/sctp/sctp_asconf.c
270
sctp_asconf_send(sctp_t *sctp, sctp_asconf_t *asc, sctp_faddr_t *fp,
usr/src/uts/common/inet/sctp/sctp_asconf.c
280
isv4 = (fp != NULL) ? fp->sf_isv4 : sctp->sctp_current->sf_isv4;
usr/src/uts/common/inet/sctp/sctp_asconf.c
320
if (sctp->sctp_cxmit_list == NULL) {
usr/src/uts/common/inet/sctp/sctp_asconf.c
321
sctp->sctp_cxmit_list = nmp;
usr/src/uts/common/inet/sctp/sctp_asconf.c
323
linkb(sctp->sctp_cxmit_list, nmp);
usr/src/uts/common/inet/sctp/sctp_asconf.c
326
BUMP_LOCAL(sctp->sctp_obchunks);
usr/src/uts/common/inet/sctp/sctp_asconf.c
329
sctp_wput_asconf(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_asconf.c
343
sctp_asconf_free_cxmit(sctp_t *sctp, sctp_chunk_hdr_t *ch)
usr/src/uts/common/inet/sctp/sctp_asconf.c
349
if (sctp->sctp_cxmit_list == NULL) {
usr/src/uts/common/inet/sctp/sctp_asconf.c
354
mp = sctp->sctp_cxmit_list;
usr/src/uts/common/inet/sctp/sctp_asconf.c
368
sctp->sctp_cxmit_list = NULL;
usr/src/uts/common/inet/sctp/sctp_asconf.c
372
sctp_input_asconf(sctp_t *sctp, sctp_chunk_hdr_t *ch, sctp_faddr_t *fp)
usr/src/uts/common/inet/sctp/sctp_asconf.c
393
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_asconf.c
407
if (*idp == (sctp->sctp_fcsn + 1)) {
usr/src/uts/common/inet/sctp/sctp_asconf.c
409
} else if (*idp == sctp->sctp_fcsn) {
usr/src/uts/common/inet/sctp/sctp_asconf.c
417
hmp = sctp_make_mp(sctp, fp, sizeof (*ach) + sizeof (*idp));
usr/src/uts/common/inet/sctp/sctp_asconf.c
523
mp = dp->asconf(sctp, ph, *idp, fp, &cont, act, &addr);
usr/src/uts/common/inet/sctp/sctp_asconf.c
573
(*cl_sctp_assoc_change)(sctp->sctp_connp->conn_family,
usr/src/uts/common/inet/sctp/sctp_asconf.c
576
(cl_sctp_handle_t)sctp);
usr/src/uts/common/inet/sctp/sctp_asconf.c
581
sctp->sctp_fcsn++;
usr/src/uts/common/inet/sctp/sctp_asconf.c
583
BUMP_LOCAL(sctp->sctp_obchunks);
usr/src/uts/common/inet/sctp/sctp_asconf.c
586
ach->sch_len = htons(msgdsize(hmp) - sctp->sctp_hdr_len);
usr/src/uts/common/inet/sctp/sctp_asconf.c
588
ach->sch_len = htons(msgdsize(hmp) - sctp->sctp_hdr6_len);
usr/src/uts/common/inet/sctp/sctp_asconf.c
590
sctp_set_iplen(sctp, hmp, fp->sf_ixa);
usr/src/uts/common/inet/sctp/sctp_asconf.c
592
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_asconf.c
593
sctp_validate_peer(sctp);
usr/src/uts/common/inet/sctp/sctp_asconf.c
614
sctp_input_asconf_ack(sctp_t *sctp, sctp_chunk_hdr_t *ch, sctp_faddr_t *fp)
usr/src/uts/common/inet/sctp/sctp_asconf.c
653
if (sctp->sctp_cxmit_list == NULL || *snp != (sctp->sctp_lcsn - 1)) {
usr/src/uts/common/inet/sctp/sctp_asconf.c
657
sctp->sctp_cchunk_pend = 0;
usr/src/uts/common/inet/sctp/sctp_asconf.c
660
mp = sctp->sctp_cxmit_list;
usr/src/uts/common/inet/sctp/sctp_asconf.c
680
och = (sctp_chunk_hdr_t *)sctp->sctp_cxmit_list->b_rptr;
usr/src/uts/common/inet/sctp/sctp_asconf.c
705
dp->asconf_ack(sctp, ph, oph, fp, &addr);
usr/src/uts/common/inet/sctp/sctp_asconf.c
762
dp->asconf_ack(sctp, NULL, oph, fp, &addr);
usr/src/uts/common/inet/sctp/sctp_asconf.c
801
sctp->sctp_cxmit_list = mp->b_cont;
usr/src/uts/common/inet/sctp/sctp_asconf.c
819
(*cl_sctp_assoc_change)(sctp->sctp_connp->conn_family, alist,
usr/src/uts/common/inet/sctp/sctp_asconf.c
821
dcount, SCTP_CL_LADDR, (cl_sctp_handle_t)sctp);
usr/src/uts/common/inet/sctp/sctp_asconf.c
830
if (sctp->sctp_cxmit_list != NULL)
usr/src/uts/common/inet/sctp/sctp_asconf.c
831
sctp_wput_asconf(sctp, NULL);
usr/src/uts/common/inet/sctp/sctp_asconf.c
845
sctp_redo_faddr_srcs(sctp);
usr/src/uts/common/inet/sctp/sctp_asconf.c
849
sctp_rc_timer(sctp_t *sctp, sctp_faddr_t *fp)
usr/src/uts/common/inet/sctp/sctp_asconf.c
854
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_asconf.c
860
if (sctp->sctp_state != SCTPS_ESTABLISHED ||
usr/src/uts/common/inet/sctp/sctp_asconf.c
861
sctp->sctp_cxmit_list == NULL) {
usr/src/uts/common/inet/sctp/sctp_asconf.c
868
if (!SCTP_CHUNK_ISSENT(sctp->sctp_cxmit_list)) {
usr/src/uts/common/inet/sctp/sctp_asconf.c
869
sctp_wput_asconf(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_asconf.c
875
SCTP_CLR_SENT_FLAG(sctp->sctp_cxmit_list);
usr/src/uts/common/inet/sctp/sctp_asconf.c
877
if (sctp->sctp_strikes >= sctp->sctp_pa_max_rxt) {
usr/src/uts/common/inet/sctp/sctp_asconf.c
880
sctp_assoc_event(sctp, SCTP_COMM_LOST, 0, NULL);
usr/src/uts/common/inet/sctp/sctp_asconf.c
881
sctp_clean_death(sctp, ETIMEDOUT);
usr/src/uts/common/inet/sctp/sctp_asconf.c
885
if (sctp_faddr_dead(sctp, fp, SCTP_FADDRS_DOWN) == -1)
usr/src/uts/common/inet/sctp/sctp_asconf.c
890
sctp->sctp_strikes++;
usr/src/uts/common/inet/sctp/sctp_asconf.c
891
SCTP_CALC_RXT(sctp, fp, sctp->sctp_rto_max);
usr/src/uts/common/inet/sctp/sctp_asconf.c
893
nfp = sctp_rotate_faddr(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_asconf.c
894
sctp->sctp_cchunk_pend = 0;
usr/src/uts/common/inet/sctp/sctp_asconf.c
895
ofp = SCTP_CHUNK_DEST(sctp->sctp_cxmit_list);
usr/src/uts/common/inet/sctp/sctp_asconf.c
896
SCTP_SET_CHUNK_DEST(sctp->sctp_cxmit_list, NULL);
usr/src/uts/common/inet/sctp/sctp_asconf.c
898
ASSERT(ofp->sf_suna >= MBLKL(sctp->sctp_cxmit_list));
usr/src/uts/common/inet/sctp/sctp_asconf.c
908
ofp->sf_suna -= MBLKL(sctp->sctp_cxmit_list);
usr/src/uts/common/inet/sctp/sctp_asconf.c
913
if (!SCTP_CHUNK_WANT_REXMIT(sctp->sctp_cxmit_list))
usr/src/uts/common/inet/sctp/sctp_asconf.c
914
SCTP_CHUNK_REXMIT(sctp, sctp->sctp_cxmit_list);
usr/src/uts/common/inet/sctp/sctp_asconf.c
915
sctp_wput_asconf(sctp, nfp);
usr/src/uts/common/inet/sctp/sctp_asconf.c
920
sctp_wput_asconf(sctp_t *sctp, sctp_faddr_t *fp)
usr/src/uts/common/inet/sctp/sctp_asconf.c
929
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_asconf.c
932
if (sctp->sctp_cchunk_pend || sctp->sctp_cxmit_list == NULL ||
usr/src/uts/common/inet/sctp/sctp_asconf.c
934
sctp->sctp_state < SCTPS_ESTABLISHED) {
usr/src/uts/common/inet/sctp/sctp_asconf.c
937
sctp->sctp_cchunk_pend, sctp->sctp_cxmit_list == NULL ?
usr/src/uts/common/inet/sctp/sctp_asconf.c
938
"yes" : "no", sctp->sctp_state));
usr/src/uts/common/inet/sctp/sctp_asconf.c
943
fp = sctp->sctp_current;
usr/src/uts/common/inet/sctp/sctp_asconf.c
946
ipmp = sctp_make_mp(sctp, fp, 0);
usr/src/uts/common/inet/sctp/sctp_asconf.c
948
SCTP_FADDR_RC_TIMER_RESTART(sctp, fp, fp->sf_rto);
usr/src/uts/common/inet/sctp/sctp_asconf.c
952
mp = sctp->sctp_cxmit_list;
usr/src/uts/common/inet/sctp/sctp_asconf.c
954
isv4 = (fp != NULL) ? fp->sf_isv4 : sctp->sctp_current->sf_isv4;
usr/src/uts/common/inet/sctp/sctp_asconf.c
967
ipaddr = sctp_get_valid_addr(sctp, B_FALSE, &saddr_set);
usr/src/uts/common/inet/sctp/sctp_asconf.c
973
SCTP_FADDR_RC_TIMER_RESTART(sctp, fp,
usr/src/uts/common/inet/sctp/sctp_asconf.c
990
ipaddr = sctp_get_valid_addr(sctp, B_TRUE, &saddr_set);
usr/src/uts/common/inet/sctp/sctp_asconf.c
996
SCTP_FADDR_RC_TIMER_RESTART(sctp, fp,
usr/src/uts/common/inet/sctp/sctp_asconf.h
32
#define SCTP_FADDR_RC_TIMER_RESTART(sctp, fp, intvl) \
usr/src/uts/common/inet/sctp/sctp_asconf.h
34
(fp)->sf_rc_timer_mp = sctp_timer_alloc((sctp), \
usr/src/uts/common/inet/sctp/sctp_asconf.h
42
sctp_timer((sctp), (fp)->sf_rc_timer_mp, (intvl)); \
usr/src/uts/common/inet/sctp/sctp_bind.c
125
sctp_listen(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_bind.c
128
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_bind.c
129
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_bind.c
131
RUN_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_bind.c
136
if (sctp->sctp_state > SCTPS_BOUND ||
usr/src/uts/common/inet/sctp/sctp_bind.c
137
(sctp->sctp_connp->conn_state_flags & CONN_CLOSING)) {
usr/src/uts/common/inet/sctp/sctp_bind.c
138
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_bind.c
143
if (sctp->sctp_nsaddrs == 0) {
usr/src/uts/common/inet/sctp/sctp_bind.c
150
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_bind.c
151
if ((ret = sctp_bind(sctp, (struct sockaddr *)&ss,
usr/src/uts/common/inet/sctp/sctp_bind.c
154
RUN_SCTP(sctp)
usr/src/uts/common/inet/sctp/sctp_bind.c
164
sctp->sctp_state = SCTPS_LISTEN;
usr/src/uts/common/inet/sctp/sctp_bind.c
165
(void) random_get_pseudo_bytes(sctp->sctp_secret, SCTP_SECRET_LEN);
usr/src/uts/common/inet/sctp/sctp_bind.c
166
sctp->sctp_last_secret_update = ddi_get_lbolt64();
usr/src/uts/common/inet/sctp/sctp_bind.c
167
bzero(sctp->sctp_old_secret, SCTP_SECRET_LEN);
usr/src/uts/common/inet/sctp/sctp_bind.c
175
sctp->sctp_listen_cnt == NULL) {
usr/src/uts/common/inet/sctp/sctp_bind.c
207
sctp->sctp_listen_cnt = slc;
usr/src/uts/common/inet/sctp/sctp_bind.c
214
sctp_listen_hash_insert(tf, sctp);
usr/src/uts/common/inet/sctp/sctp_bind.c
216
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_bind.c
225
sctp_bind(sctp_t *sctp, struct sockaddr *sa, socklen_t len)
usr/src/uts/common/inet/sctp/sctp_bind.c
232
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_bind.c
237
ASSERT(sctp != NULL);
usr/src/uts/common/inet/sctp/sctp_bind.c
239
RUN_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_bind.c
241
if ((sctp->sctp_state >= SCTPS_BOUND) ||
usr/src/uts/common/inet/sctp/sctp_bind.c
242
(sctp->sctp_connp->conn_state_flags & CONN_CLOSING) ||
usr/src/uts/common/inet/sctp/sctp_bind.c
290
err = sctp_select_port(sctp, &requested_port, &user_specified);
usr/src/uts/common/inet/sctp/sctp_bind.c
294
if ((err = sctp_bind_add(sctp, sa, 1, B_TRUE,
usr/src/uts/common/inet/sctp/sctp_bind.c
298
err = sctp_bindi(sctp, requested_port, bind_to_req_port_only,
usr/src/uts/common/inet/sctp/sctp_bind.c
301
sctp_free_saddrs(sctp);
usr/src/uts/common/inet/sctp/sctp_bind.c
303
ASSERT(sctp->sctp_state == SCTPS_BOUND);
usr/src/uts/common/inet/sctp/sctp_bind.c
306
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_bind.c
314
sctp_bindx(sctp_t *sctp, const void *addrs, int addrcnt, int bindop)
usr/src/uts/common/inet/sctp/sctp_bind.c
316
ASSERT(sctp != NULL);
usr/src/uts/common/inet/sctp/sctp_bind.c
322
return (sctp_bind_add(sctp, addrs, addrcnt, B_FALSE,
usr/src/uts/common/inet/sctp/sctp_bind.c
323
sctp->sctp_connp->conn_lport));
usr/src/uts/common/inet/sctp/sctp_bind.c
325
return (sctp_bind_del(sctp, addrs, addrcnt, B_FALSE));
usr/src/uts/common/inet/sctp/sctp_bind.c
335
sctp_bind_add(sctp_t *sctp, const void *addrs, uint32_t addrcnt,
usr/src/uts/common/inet/sctp/sctp_bind.c
340
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_bind.c
341
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_bind.c
344
RUN_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_bind.c
346
if (sctp->sctp_state > SCTPS_ESTABLISHED ||
usr/src/uts/common/inet/sctp/sctp_bind.c
347
(sctp->sctp_connp->conn_state_flags & CONN_CLOSING)) {
usr/src/uts/common/inet/sctp/sctp_bind.c
349
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_bind.c
353
if (sctp->sctp_state > SCTPS_LISTEN) {
usr/src/uts/common/inet/sctp/sctp_bind.c
359
!sctp->sctp_understands_asconf ||
usr/src/uts/common/inet/sctp/sctp_bind.c
360
!sctp->sctp_understands_addip) {
usr/src/uts/common/inet/sctp/sctp_bind.c
362
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_bind.c
391
do_listen = !do_asconf && sctp->sctp_state > SCTPS_BOUND &&
usr/src/uts/common/inet/sctp/sctp_bind.c
394
err = sctp_get_addrlist(sctp, addrs, &addrcnt, &addrlist,
usr/src/uts/common/inet/sctp/sctp_bind.c
401
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_bind.c
412
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_bind.c
419
err = sctp_valid_addr_list(sctp, addrlist, addrcnt, llist,
usr/src/uts/common/inet/sctp/sctp_bind.c
431
err = sctp_valid_addr_list(sctp, addrs, addrcnt, NULL, 0);
usr/src/uts/common/inet/sctp/sctp_bind.c
435
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_bind.c
440
err = sctp_add_ip(sctp, addrs, addrcnt);
usr/src/uts/common/inet/sctp/sctp_bind.c
442
sctp_del_saddr_list(sctp, addrs, addrcnt, B_FALSE);
usr/src/uts/common/inet/sctp/sctp_bind.c
444
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_bind.c
449
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_bind.c
457
sctp_bind_del(sctp_t *sctp, const void *addrs, uint32_t addrcnt,
usr/src/uts/common/inet/sctp/sctp_bind.c
464
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_bind.c
465
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_bind.c
468
RUN_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_bind.c
470
if (sctp->sctp_state > SCTPS_ESTABLISHED ||
usr/src/uts/common/inet/sctp/sctp_bind.c
471
(sctp->sctp_connp->conn_state_flags & CONN_CLOSING)) {
usr/src/uts/common/inet/sctp/sctp_bind.c
473
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_bind.c
480
if (sctp->sctp_state > SCTPS_LISTEN) {
usr/src/uts/common/inet/sctp/sctp_bind.c
482
!sctp->sctp_understands_asconf ||
usr/src/uts/common/inet/sctp/sctp_bind.c
483
!sctp->sctp_understands_addip) {
usr/src/uts/common/inet/sctp/sctp_bind.c
485
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_bind.c
492
if (sctp->sctp_nsaddrs == 1 || addrcnt >= sctp->sctp_nsaddrs) {
usr/src/uts/common/inet/sctp/sctp_bind.c
494
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_bind.c
499
sctp->sctp_state > SCTPS_BOUND) {
usr/src/uts/common/inet/sctp/sctp_bind.c
504
error = sctp_del_ip(sctp, addrs, addrcnt, ulist, usize);
usr/src/uts/common/inet/sctp/sctp_bind.c
509
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_bind.c
520
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_bind.c
540
sctp_bindi(sctp_t *sctp, in_port_t port, boolean_t bind_to_req_port_only,
usr/src/uts/common/inet/sctp/sctp_bind.c
547
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_bind.c
548
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_bind.c
593
sctp_bind_hash_remove(sctp);
usr/src/uts/common/inet/sctp/sctp_bind.c
61
sctp_select_port(sctp_t *sctp, in_port_t *requested_port, int *user_specified)
usr/src/uts/common/inet/sctp/sctp_bind.c
615
addrcmp = sctp_compare_saddrs(sctp, lsctp);
usr/src/uts/common/inet/sctp/sctp_bind.c
63
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_bind.c
64
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_bind.c
660
(void *)&sctp->sctp_ipha->ipha_src :
usr/src/uts/common/inet/sctp/sctp_bind.c
661
(void *)&sctp->sctp_ip6h->ip6_src,
usr/src/uts/common/inet/sctp/sctp_bind.c
710
sctp->sctp_state = SCTPS_BOUND;
usr/src/uts/common/inet/sctp/sctp_bind.c
715
sctp_bind_hash_insert(tbf, sctp, 1);
usr/src/uts/common/inet/sctp/sctp_common.c
1000
sctp->sctp_ip_hdr6_len = ip_hdr_length;
usr/src/uts/common/inet/sctp/sctp_common.c
1003
sctp->sctp_sctph6 = sctph;
usr/src/uts/common/inet/sctp/sctp_common.c
1006
sctph->sh_verf = sctp->sctp_fvtag;
usr/src/uts/common/inet/sctp/sctp_common.c
1010
sctp->sctp_ip6h = ip6h;
usr/src/uts/common/inet/sctp/sctp_common.c
1041
sctp_v4_label(sctp_t *sctp, sctp_faddr_t *fp)
usr/src/uts/common/inet/sctp/sctp_common.c
1043
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_common.c
1051
sctp_v6_label(sctp_t *sctp, sctp_faddr_t *fp)
usr/src/uts/common/inet/sctp/sctp_common.c
1053
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_common.c
1069
sctp_set_hdraddrs(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_common.c
1074
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_common.c
1076
ASSERT(sctp->sctp_faddrs != NULL);
usr/src/uts/common/inet/sctp/sctp_common.c
1077
ASSERT(sctp->sctp_nsaddrs > 0);
usr/src/uts/common/inet/sctp/sctp_common.c
1080
connp->conn_faddr_v6 = sctp->sctp_primary->sf_faddr;
usr/src/uts/common/inet/sctp/sctp_common.c
1082
connp->conn_saddr_v6 = sctp->sctp_primary->sf_saddr;
usr/src/uts/common/inet/sctp/sctp_common.c
1084
if (IN6_IS_ADDR_V4MAPPED(&sctp->sctp_primary->sf_faddr)) {
usr/src/uts/common/inet/sctp/sctp_common.c
1086
sctp_v4_label(sctp, sctp->sctp_primary) == 0) {
usr/src/uts/common/inet/sctp/sctp_common.c
1094
sctp_v6_label(sctp, sctp->sctp_primary) == 0) {
usr/src/uts/common/inet/sctp/sctp_common.c
1099
for (fp = sctp->sctp_faddrs; fp; fp = fp->sf_next) {
usr/src/uts/common/inet/sctp/sctp_common.c
1102
sctp_v4_label(sctp, fp) == 0) {
usr/src/uts/common/inet/sctp/sctp_common.c
1110
sctp_v6_label(sctp, fp) == 0) {
usr/src/uts/common/inet/sctp/sctp_common.c
1256
sctp_get_addrparams(sctp_t *sctp, sctp_t *psctp, mblk_t *pkt,
usr/src/uts/common/inet/sctp/sctp_common.c
1272
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_common.c
1273
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_common.c
1301
ASSERT(sctp->sctp_nsaddrs == 0);
usr/src/uts/common/inet/sctp/sctp_common.c
1303
err = sctp_dup_saddrs(psctp, sctp, KM_NOSLEEP);
usr/src/uts/common/inet/sctp/sctp_common.c
1314
fp = sctp_lookup_faddr(sctp, hdrsaddr);
usr/src/uts/common/inet/sctp/sctp_common.c
1317
err = sctp_add_faddr(sctp, hdrsaddr, KM_NOSLEEP, B_TRUE);
usr/src/uts/common/inet/sctp/sctp_common.c
1322
fp = sctp->sctp_faddrs;
usr/src/uts/common/inet/sctp/sctp_common.c
1327
curaddr = sctp->sctp_current->sf_faddr;
usr/src/uts/common/inet/sctp/sctp_common.c
1329
sctp->sctp_primary = fp;
usr/src/uts/common/inet/sctp/sctp_common.c
1330
sctp->sctp_current = fp;
usr/src/uts/common/inet/sctp/sctp_common.c
1331
sctp->sctp_mss = fp->sf_pmss;
usr/src/uts/common/inet/sctp/sctp_common.c
1334
if (sctp->sctp_loopback || sctp->sctp_linklocal) {
usr/src/uts/common/inet/sctp/sctp_common.c
1335
if (sctp->sctp_nsaddrs != 0)
usr/src/uts/common/inet/sctp/sctp_common.c
1336
sctp_free_saddrs(sctp);
usr/src/uts/common/inet/sctp/sctp_common.c
1337
if ((err = sctp_saddr_add_addr(sctp, hdrdaddr, 0)) != 0)
usr/src/uts/common/inet/sctp/sctp_common.c
1340
if (sctp->sctp_loopback)
usr/src/uts/common/inet/sctp/sctp_common.c
1350
sctp_check_saddr(sctp, supp_af, psctp == NULL ?
usr/src/uts/common/inet/sctp/sctp_common.c
1353
ASSERT(sctp_saddr_lookup(sctp, hdrdaddr, 0) != NULL);
usr/src/uts/common/inet/sctp/sctp_common.c
1411
if (sctp_lookup_faddr(sctp, &addr) != NULL)
usr/src/uts/common/inet/sctp/sctp_common.c
1415
err = sctp_add_faddr(sctp, &addr, KM_NOSLEEP,
usr/src/uts/common/inet/sctp/sctp_common.c
1440
if (sctp_lookup_faddr(sctp, addr6) != NULL)
usr/src/uts/common/inet/sctp/sctp_common.c
1443
err = sctp_add_faddr(sctp,
usr/src/uts/common/inet/sctp/sctp_common.c
1459
sctp_check_saddr(sctp, supp_af, psctp == NULL ? B_FALSE :
usr/src/uts/common/inet/sctp/sctp_common.c
1462
ASSERT(sctp_saddr_lookup(sctp, hdrdaddr, 0) != NULL);
usr/src/uts/common/inet/sctp/sctp_common.c
1474
asize = sizeof (in6_addr_t) * sctp->sctp_nfaddrs;
usr/src/uts/common/inet/sctp/sctp_common.c
148
sctp_set_saddr(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_common.c
1496
sctp_get_faddr_list(sctp, alist, asize);
usr/src/uts/common/inet/sctp/sctp_common.c
1498
sctp->sctp_nfaddrs, dlist, dsize, 1, SCTP_CL_PADDR,
usr/src/uts/common/inet/sctp/sctp_common.c
1499
(cl_sctp_handle_t)sctp);
usr/src/uts/common/inet/sctp/sctp_common.c
1522
sctp_t *sctp;
usr/src/uts/common/inet/sctp/sctp_common.c
156
if (!sctp->sctp_loopback)
usr/src/uts/common/inet/sctp/sctp_common.c
157
sctp->sctp_loopback = uinfo.iulp_loopback;
usr/src/uts/common/inet/sctp/sctp_common.c
160
if ((sp = sctp_saddr_lookup(sctp, &laddr, 0)) != NULL &&
usr/src/uts/common/inet/sctp/sctp_common.c
1625
for (sctp = tf->tf_sctp; sctp; sctp = sctp->sctp_conn_hash_next) {
usr/src/uts/common/inet/sctp/sctp_common.c
1626
if (ports != sctp->sctp_connp->conn_ports) {
usr/src/uts/common/inet/sctp/sctp_common.c
1629
compres = sctp_compare_faddrsets(fphead, sctp->sctp_faddrs);
usr/src/uts/common/inet/sctp/sctp_common.c
1638
SCTP_PRINTADDR(*hdraddr), (void *)sctp));
usr/src/uts/common/inet/sctp/sctp_common.c
1649
if (sctp_lookup_faddr(sctp, &fp->sf_faddr)) {
usr/src/uts/common/inet/sctp/sctp_common.c
1705
sctp_send_abort(sctp, sctp_init2vtag(ich),
usr/src/uts/common/inet/sctp/sctp_common.c
1733
sctp_congest_reset(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_common.c
1736
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_common.c
1739
for (fp = sctp->sctp_faddrs; fp != NULL; fp = fp->sf_next) {
usr/src/uts/common/inet/sctp/sctp_common.c
1749
while ((mp = sctp->sctp_xmit_head) != NULL) {
usr/src/uts/common/inet/sctp/sctp_common.c
1750
sctp->sctp_xmit_head = mp->b_next;
usr/src/uts/common/inet/sctp/sctp_common.c
1752
if (sctp->sctp_xmit_head != NULL)
usr/src/uts/common/inet/sctp/sctp_common.c
1753
sctp->sctp_xmit_head->b_prev = NULL;
usr/src/uts/common/inet/sctp/sctp_common.c
1754
sctp_sendfail_event(sctp, mp, 0, B_TRUE);
usr/src/uts/common/inet/sctp/sctp_common.c
1756
sctp->sctp_xmit_head = NULL;
usr/src/uts/common/inet/sctp/sctp_common.c
1757
sctp->sctp_xmit_tail = NULL;
usr/src/uts/common/inet/sctp/sctp_common.c
1758
sctp->sctp_xmit_unacked = NULL;
usr/src/uts/common/inet/sctp/sctp_common.c
1760
sctp->sctp_unacked = 0;
usr/src/uts/common/inet/sctp/sctp_common.c
1767
if (sctp->sctp_cxmit_list != NULL)
usr/src/uts/common/inet/sctp/sctp_common.c
1768
sctp_asconf_free_cxmit(sctp, NULL);
usr/src/uts/common/inet/sctp/sctp_common.c
1769
sctp->sctp_cxmit_list = NULL;
usr/src/uts/common/inet/sctp/sctp_common.c
177
sctp_set_saddr(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_common.c
1770
sctp->sctp_cchunk_pend = 0;
usr/src/uts/common/inet/sctp/sctp_common.c
1772
sctp->sctp_rexmitting = B_FALSE;
usr/src/uts/common/inet/sctp/sctp_common.c
1773
sctp->sctp_rxt_nxttsn = 0;
usr/src/uts/common/inet/sctp/sctp_common.c
1774
sctp->sctp_rxt_maxtsn = 0;
usr/src/uts/common/inet/sctp/sctp_common.c
1776
sctp->sctp_zero_win_probe = B_FALSE;
usr/src/uts/common/inet/sctp/sctp_common.c
1780
sctp_init_faddr(sctp_t *sctp, sctp_faddr_t *fp, in6_addr_t *addr,
usr/src/uts/common/inet/sctp/sctp_common.c
1783
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_common.c
1792
(sctps->sctps_initial_mtu - sctp->sctp_hdr_len) &
usr/src/uts/common/inet/sctp/sctp_common.c
1798
(sctps->sctps_initial_mtu - sctp->sctp_hdr6_len) &
usr/src/uts/common/inet/sctp/sctp_common.c
1803
fp->sf_rto = MIN(sctp->sctp_rto_initial, sctp->sctp_rto_max_init);
usr/src/uts/common/inet/sctp/sctp_common.c
1804
SCTP_MAX_RTO(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_common.c
1808
fp->sf_max_retr = sctp->sctp_pp_max_rxt;
usr/src/uts/common/inet/sctp/sctp_common.c
1811
fp->sf_hb_interval = sctp->sctp_hb_interval;
usr/src/uts/common/inet/sctp/sctp_common.c
1828
sctp_get_dest(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_common.c
194
if (fp->sf_rto < sctp->sctp_rto_min) {
usr/src/uts/common/inet/sctp/sctp_common.c
195
fp->sf_rto = sctp->sctp_rto_min;
usr/src/uts/common/inet/sctp/sctp_common.c
197
if (fp->sf_rto > sctp->sctp_rto_max) {
usr/src/uts/common/inet/sctp/sctp_common.c
198
fp->sf_rto = sctp->sctp_rto_max;
usr/src/uts/common/inet/sctp/sctp_common.c
200
SCTP_MAX_RTO(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_common.c
209
hdrlen = sctp->sctp_hdr_len;
usr/src/uts/common/inet/sctp/sctp_common.c
211
hdrlen = sctp->sctp_hdr6_len;
usr/src/uts/common/inet/sctp/sctp_common.c
223
if (fp == sctp->sctp_current)
usr/src/uts/common/inet/sctp/sctp_common.c
224
sctp_set_faddr_current(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_common.c
228
sctp_update_dce(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_common.c
231
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_common.c
236
for (fp = sctp->sctp_faddrs; fp != NULL; fp = fp->sf_next) {
usr/src/uts/common/inet/sctp/sctp_common.c
246
sctp->sctp_hdr_len;
usr/src/uts/common/inet/sctp/sctp_common.c
249
sctp->sctp_hdr6_len;
usr/src/uts/common/inet/sctp/sctp_common.c
284
sctp_make_mp(sctp_t *sctp, sctp_faddr_t *fp, int trailer)
usr/src/uts/common/inet/sctp/sctp_common.c
289
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_common.c
298
sctp_get_dest(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_common.c
315
ipsctplen = sctp->sctp_hdr_len;
usr/src/uts/common/inet/sctp/sctp_common.c
317
ipsctplen = sctp->sctp_hdr6_len;
usr/src/uts/common/inet/sctp/sctp_common.c
333
bcopy(sctp->sctp_iphc, mp->b_rptr, ipsctplen);
usr/src/uts/common/inet/sctp/sctp_common.c
334
if (fp != sctp->sctp_current || src_changed) {
usr/src/uts/common/inet/sctp/sctp_common.c
346
bcopy(sctp->sctp_iphc6, mp->b_rptr, ipsctplen);
usr/src/uts/common/inet/sctp/sctp_common.c
347
if (fp != sctp->sctp_current || src_changed) {
usr/src/uts/common/inet/sctp/sctp_common.c
353
ASSERT(sctp->sctp_connp != NULL);
usr/src/uts/common/inet/sctp/sctp_common.c
361
sctp_set_ulp_prop(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_common.c
366
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_common.c
368
if (sctp->sctp_current->sf_isv4) {
usr/src/uts/common/inet/sctp/sctp_common.c
369
hdrlen = sctp->sctp_hdr_len;
usr/src/uts/common/inet/sctp/sctp_common.c
371
hdrlen = sctp->sctp_hdr6_len;
usr/src/uts/common/inet/sctp/sctp_common.c
373
ASSERT(sctp->sctp_ulpd);
usr/src/uts/common/inet/sctp/sctp_common.c
375
sctp->sctp_connp->conn_wroff = sctps->sctps_wroff_xtra + hdrlen +
usr/src/uts/common/inet/sctp/sctp_common.c
378
ASSERT(sctp->sctp_current->sf_pmss == sctp->sctp_mss);
usr/src/uts/common/inet/sctp/sctp_common.c
381
sopp.sopp_wroff = sctp->sctp_connp->conn_wroff;
usr/src/uts/common/inet/sctp/sctp_common.c
382
sopp.sopp_maxblk = sctp->sctp_mss - sizeof (sctp_data_hdr_t);
usr/src/uts/common/inet/sctp/sctp_common.c
383
sctp->sctp_ulp_prop(sctp->sctp_ulpd, &sopp);
usr/src/uts/common/inet/sctp/sctp_common.c
390
sctp_set_iplen(sctp_t *sctp, mblk_t *mp, ip_xmit_attr_t *ixa)
usr/src/uts/common/inet/sctp/sctp_common.c
406
ixa->ixa_ip_hdr_length = sctp->sctp_ip_hdr_len;
usr/src/uts/common/inet/sctp/sctp_common.c
410
ixa->ixa_ip_hdr_length = sctp->sctp_ip_hdr6_len;
usr/src/uts/common/inet/sctp/sctp_common.c
463
sctp_add_faddr(sctp_t *sctp, in6_addr_t *addr, int sleep, boolean_t first)
usr/src/uts/common/inet/sctp/sctp_common.c
468
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_common.c
503
if (sctp->sctp_faddrs == NULL && effective_tsl != NULL) {
usr/src/uts/common/inet/sctp/sctp_common.c
514
timer_mp = sctp_timer_alloc((sctp), sctp_rexmit_timer, sleep);
usr/src/uts/common/inet/sctp/sctp_common.c
530
sctp_init_faddr(sctp, faddr, addr, timer_mp);
usr/src/uts/common/inet/sctp/sctp_common.c
536
if (sctp->sctp_faddrs == NULL) {
usr/src/uts/common/inet/sctp/sctp_common.c
537
ASSERT(sctp->sctp_lastfaddr == NULL);
usr/src/uts/common/inet/sctp/sctp_common.c
539
sctp->sctp_faddrs = sctp->sctp_lastfaddr = faddr;
usr/src/uts/common/inet/sctp/sctp_common.c
541
ASSERT(sctp->sctp_lastfaddr != NULL);
usr/src/uts/common/inet/sctp/sctp_common.c
542
faddr->sf_next = sctp->sctp_faddrs;
usr/src/uts/common/inet/sctp/sctp_common.c
543
sctp->sctp_faddrs = faddr;
usr/src/uts/common/inet/sctp/sctp_common.c
545
sctp->sctp_lastfaddr->sf_next = faddr;
usr/src/uts/common/inet/sctp/sctp_common.c
546
sctp->sctp_lastfaddr = faddr;
usr/src/uts/common/inet/sctp/sctp_common.c
548
sctp->sctp_nfaddrs++;
usr/src/uts/common/inet/sctp/sctp_common.c
554
sctp_lookup_faddr(sctp_t *sctp, in6_addr_t *addr)
usr/src/uts/common/inet/sctp/sctp_common.c
558
for (fp = sctp->sctp_faddrs; fp != NULL; fp = fp->sf_next) {
usr/src/uts/common/inet/sctp/sctp_common.c
582
sctp_set_faddr_current(sctp_t *sctp, sctp_faddr_t *fp)
usr/src/uts/common/inet/sctp/sctp_common.c
587
sctp->sctp_ipha->ipha_dst);
usr/src/uts/common/inet/sctp/sctp_common.c
589
sctp->sctp_ipha->ipha_src);
usr/src/uts/common/inet/sctp/sctp_common.c
592
sctp->sctp_ipha->ipha_fragment_offset_and_flags =
usr/src/uts/common/inet/sctp/sctp_common.c
595
sctp->sctp_ipha->ipha_fragment_offset_and_flags = 0;
usr/src/uts/common/inet/sctp/sctp_common.c
598
sctp->sctp_ip6h->ip6_dst = fp->sf_faddr;
usr/src/uts/common/inet/sctp/sctp_common.c
599
sctp->sctp_ip6h->ip6_src = fp->sf_saddr;
usr/src/uts/common/inet/sctp/sctp_common.c
602
sctp->sctp_current = fp;
usr/src/uts/common/inet/sctp/sctp_common.c
603
sctp->sctp_mss = fp->sf_pmss;
usr/src/uts/common/inet/sctp/sctp_common.c
606
if (!SCTP_IS_DETACHED(sctp))
usr/src/uts/common/inet/sctp/sctp_common.c
607
sctp_set_ulp_prop(sctp);
usr/src/uts/common/inet/sctp/sctp_common.c
611
sctp_redo_faddr_srcs(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_common.c
615
for (fp = sctp->sctp_faddrs; fp != NULL; fp = fp->sf_next) {
usr/src/uts/common/inet/sctp/sctp_common.c
616
sctp_get_dest(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_common.c
621
sctp_faddr_alive(sctp_t *sctp, sctp_faddr_t *fp)
usr/src/uts/common/inet/sctp/sctp_common.c
63
sctp_set_saddr(sctp_t *sctp, sctp_faddr_t *fp)
usr/src/uts/common/inet/sctp/sctp_common.c
632
if (!sctp->sctp_zero_win_probe || !sctp->sctp_sctps->sctps_reclaim) {
usr/src/uts/common/inet/sctp/sctp_common.c
633
sctp->sctp_strikes = 0;
usr/src/uts/common/inet/sctp/sctp_common.c
641
sctp_intf_event(sctp, fp->sf_faddr, SCTP_ADDR_AVAILABLE, 0);
usr/src/uts/common/inet/sctp/sctp_common.c
643
sctp_get_dest(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_common.c
652
if (fp == sctp->sctp_primary &&
usr/src/uts/common/inet/sctp/sctp_common.c
654
sctp_set_faddr_current(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_common.c
665
sctp_is_a_faddr_clean(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_common.c
669
for (fp = sctp->sctp_faddrs; fp; fp = fp->sf_next) {
usr/src/uts/common/inet/sctp/sctp_common.c
68
fp->sf_saddr = sctp_get_valid_addr(sctp, v6, &addr_set);
usr/src/uts/common/inet/sctp/sctp_common.c
686
sctp_faddr_dead(sctp_t *sctp, sctp_faddr_t *fp, int newstate)
usr/src/uts/common/inet/sctp/sctp_common.c
689
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_common.c
692
sctp_intf_event(sctp, fp->sf_faddr, SCTP_ADDR_UNREACHABLE, 0);
usr/src/uts/common/inet/sctp/sctp_common.c
699
if (fp == sctp->sctp_current) {
usr/src/uts/common/inet/sctp/sctp_common.c
701
sctp->sctp_current = NULL;
usr/src/uts/common/inet/sctp/sctp_common.c
714
for (fp = sctp->sctp_faddrs; fp != ofp; fp = fp->sf_next) {
usr/src/uts/common/inet/sctp/sctp_common.c
726
if (sctp->sctp_current == NULL) {
usr/src/uts/common/inet/sctp/sctp_common.c
733
sctp_set_faddr_current(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_common.c
742
sctp_assoc_event(sctp, sctp->sctp_state < SCTPS_ESTABLISHED ?
usr/src/uts/common/inet/sctp/sctp_common.c
744
sctp_clean_death(sctp, sctp->sctp_client_errno ?
usr/src/uts/common/inet/sctp/sctp_common.c
745
sctp->sctp_client_errno : ETIMEDOUT);
usr/src/uts/common/inet/sctp/sctp_common.c
751
sctp_rotate_faddr(sctp_t *sctp, sctp_faddr_t *ofp)
usr/src/uts/common/inet/sctp/sctp_common.c
758
ofp = sctp->sctp_current;
usr/src/uts/common/inet/sctp/sctp_common.c
761
if (sctp->sctp_nfaddrs < 2)
usr/src/uts/common/inet/sctp/sctp_common.c
773
nfp = sctp->sctp_faddrs;
usr/src/uts/common/inet/sctp/sctp_common.c
803
sctp_unlink_faddr(sctp_t *sctp, sctp_faddr_t *fp)
usr/src/uts/common/inet/sctp/sctp_common.c
809
if (!sctp->sctp_faddrs) {
usr/src/uts/common/inet/sctp/sctp_common.c
828
if (fp == sctp->sctp_faddrs) {
usr/src/uts/common/inet/sctp/sctp_common.c
832
for (fpp = sctp->sctp_faddrs; fpp->sf_next != fp; fpp = fpp->sf_next)
usr/src/uts/common/inet/sctp/sctp_common.c
836
ASSERT(sctp->sctp_conn_tfp != NULL);
usr/src/uts/common/inet/sctp/sctp_common.c
837
mutex_enter(&sctp->sctp_conn_tfp->tf_lock);
usr/src/uts/common/inet/sctp/sctp_common.c
838
if (fp == sctp->sctp_faddrs) {
usr/src/uts/common/inet/sctp/sctp_common.c
839
sctp->sctp_faddrs = fp->sf_next;
usr/src/uts/common/inet/sctp/sctp_common.c
843
mutex_exit(&sctp->sctp_conn_tfp->tf_lock);
usr/src/uts/common/inet/sctp/sctp_common.c
845
sctp->sctp_nfaddrs--;
usr/src/uts/common/inet/sctp/sctp_common.c
849
sctp_zap_faddrs(sctp_t *sctp, int caller_holds_lock)
usr/src/uts/common/inet/sctp/sctp_common.c
853
if (sctp->sctp_faddrs == NULL) {
usr/src/uts/common/inet/sctp/sctp_common.c
854
ASSERT(sctp->sctp_lastfaddr == NULL);
usr/src/uts/common/inet/sctp/sctp_common.c
858
ASSERT(sctp->sctp_lastfaddr != NULL);
usr/src/uts/common/inet/sctp/sctp_common.c
859
sctp->sctp_lastfaddr = NULL;
usr/src/uts/common/inet/sctp/sctp_common.c
86
sctp_get_dest(sctp_t *sctp, sctp_faddr_t *fp)
usr/src/uts/common/inet/sctp/sctp_common.c
860
sctp->sctp_current = NULL;
usr/src/uts/common/inet/sctp/sctp_common.c
861
sctp->sctp_primary = NULL;
usr/src/uts/common/inet/sctp/sctp_common.c
863
sctp_free_faddr_timers(sctp);
usr/src/uts/common/inet/sctp/sctp_common.c
865
if (sctp->sctp_conn_tfp != NULL && !caller_holds_lock) {
usr/src/uts/common/inet/sctp/sctp_common.c
867
mutex_enter(&sctp->sctp_conn_tfp->tf_lock);
usr/src/uts/common/inet/sctp/sctp_common.c
870
for (fp = sctp->sctp_faddrs; fp; fp = fpn) {
usr/src/uts/common/inet/sctp/sctp_common.c
877
sctp->sctp_nfaddrs--;
usr/src/uts/common/inet/sctp/sctp_common.c
880
sctp->sctp_faddrs = NULL;
usr/src/uts/common/inet/sctp/sctp_common.c
881
ASSERT(sctp->sctp_nfaddrs == 0);
usr/src/uts/common/inet/sctp/sctp_common.c
882
if (sctp->sctp_conn_tfp != NULL && !caller_holds_lock) {
usr/src/uts/common/inet/sctp/sctp_common.c
883
mutex_exit(&sctp->sctp_conn_tfp->tf_lock);
usr/src/uts/common/inet/sctp/sctp_common.c
889
sctp_zap_addrs(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_common.c
891
sctp_zap_faddrs(sctp, 0);
usr/src/uts/common/inet/sctp/sctp_common.c
892
sctp_free_saddrs(sctp);
usr/src/uts/common/inet/sctp/sctp_common.c
916
sctp_build_hdrs(sctp_t *sctp, int sleep)
usr/src/uts/common/inet/sctp/sctp_common.c
918
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_common.c
92
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_common.c
93
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_common.c
946
if (hdrs_len != sctp->sctp_iphc_len) {
usr/src/uts/common/inet/sctp/sctp_common.c
952
if (sctp->sctp_iphc != NULL)
usr/src/uts/common/inet/sctp/sctp_common.c
953
kmem_free(sctp->sctp_iphc, sctp->sctp_iphc_len);
usr/src/uts/common/inet/sctp/sctp_common.c
954
sctp->sctp_iphc = hdrs;
usr/src/uts/common/inet/sctp/sctp_common.c
955
sctp->sctp_iphc_len = hdrs_len;
usr/src/uts/common/inet/sctp/sctp_common.c
957
hdrs = sctp->sctp_iphc;
usr/src/uts/common/inet/sctp/sctp_common.c
959
sctp->sctp_hdr_len = sctp->sctp_iphc_len;
usr/src/uts/common/inet/sctp/sctp_common.c
960
sctp->sctp_ip_hdr_len = ip_hdr_length;
usr/src/uts/common/inet/sctp/sctp_common.c
963
sctp->sctp_sctph = sctph;
usr/src/uts/common/inet/sctp/sctp_common.c
966
sctph->sh_verf = sctp->sctp_fvtag;
usr/src/uts/common/inet/sctp/sctp_common.c
970
sctp->sctp_ipha = ipha;
usr/src/uts/common/inet/sctp/sctp_common.c
986
if (hdrs_len != sctp->sctp_iphc6_len) {
usr/src/uts/common/inet/sctp/sctp_common.c
992
if (sctp->sctp_iphc6 != NULL)
usr/src/uts/common/inet/sctp/sctp_common.c
993
kmem_free(sctp->sctp_iphc6, sctp->sctp_iphc6_len);
usr/src/uts/common/inet/sctp/sctp_common.c
994
sctp->sctp_iphc6 = hdrs;
usr/src/uts/common/inet/sctp/sctp_common.c
995
sctp->sctp_iphc6_len = hdrs_len;
usr/src/uts/common/inet/sctp/sctp_common.c
997
hdrs = sctp->sctp_iphc6;
usr/src/uts/common/inet/sctp/sctp_common.c
999
sctp->sctp_hdr6_len = sctp->sctp_iphc6_len;
usr/src/uts/common/inet/sctp/sctp_conn.c
136
sctp_conn_request(sctp_t *sctp, mblk_t *mp, uint_t ifindex, uint_t ip_hdr_len,
usr/src/uts/common/inet/sctp/sctp_conn.c
148
sctp_listen_cnt_t *slc = sctp->sctp_listen_cnt;
usr/src/uts/common/inet/sctp/sctp_conn.c
160
connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_conn.c
161
sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_conn.c
190
if ((eager = sctp_create_eager(sctp)) == NULL) {
usr/src/uts/common/inet/sctp/sctp_conn.c
274
err = sctp_accept_comm(sctp, eager, mp, ip_hdr_len, iack);
usr/src/uts/common/inet/sctp/sctp_conn.c
331
if ((eager->sctp_ulpd = sctp->sctp_ulp_newconn(sctp->sctp_ulpd,
usr/src/uts/common/inet/sctp/sctp_conn.c
349
sctp_connect(sctp_t *sctp, const struct sockaddr *dst, uint32_t addrlen,
usr/src/uts/common/inet/sctp/sctp_conn.c
360
int sleep = sctp->sctp_cansleep ? KM_SLEEP : KM_NOSLEEP;
usr/src/uts/common/inet/sctp/sctp_conn.c
363
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_conn.c
364
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_conn.c
431
sctp->sctp_linklocal = 1;
usr/src/uts/common/inet/sctp/sctp_conn.c
447
RUN_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_conn.c
451
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_conn.c
473
switch (sctp->sctp_state) {
usr/src/uts/common/inet/sctp/sctp_conn.c
486
ASSERT(sctp->sctp_nsaddrs == 0);
usr/src/uts/common/inet/sctp/sctp_conn.c
490
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_conn.c
491
if ((err = sctp_bind(sctp, (struct sockaddr *)&ss,
usr/src/uts/common/inet/sctp/sctp_conn.c
495
RUN_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_conn.c
500
ASSERT(sctp->sctp_nsaddrs > 0);
usr/src/uts/common/inet/sctp/sctp_conn.c
512
sctp_conn_hash_remove(sctp);
usr/src/uts/common/inet/sctp/sctp_conn.c
516
lsctp = sctp_lookup(sctp, &dstaddr, tbf, &connp->conn_ports,
usr/src/uts/common/inet/sctp/sctp_conn.c
522
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_conn.c
530
if ((err = sctp_add_faddr(sctp, &dstaddr, sleep,
usr/src/uts/common/inet/sctp/sctp_conn.c
533
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_conn.c
536
cur_fp = sctp->sctp_faddrs;
usr/src/uts/common/inet/sctp/sctp_conn.c
542
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_conn.c
546
sctp->sctp_primary = cur_fp;
usr/src/uts/common/inet/sctp/sctp_conn.c
547
sctp->sctp_current = cur_fp;
usr/src/uts/common/inet/sctp/sctp_conn.c
548
sctp->sctp_mss = cur_fp->sf_pmss;
usr/src/uts/common/inet/sctp/sctp_conn.c
549
sctp_conn_hash_insert(tbf, sctp, 1);
usr/src/uts/common/inet/sctp/sctp_conn.c
563
if ((err = sctp_set_hdraddrs(sctp)) != 0) {
usr/src/uts/common/inet/sctp/sctp_conn.c
564
sctp_conn_hash_remove(sctp);
usr/src/uts/common/inet/sctp/sctp_conn.c
565
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_conn.c
569
if ((err = sctp_build_hdrs(sctp, KM_SLEEP)) != 0) {
usr/src/uts/common/inet/sctp/sctp_conn.c
570
sctp_conn_hash_remove(sctp);
usr/src/uts/common/inet/sctp/sctp_conn.c
571
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_conn.c
591
SCTP_FADDR_TIMER_RESTART(sctp, cur_fp, cur_fp->sf_rto);
usr/src/uts/common/inet/sctp/sctp_conn.c
592
sctp->sctp_state = SCTPS_COOKIE_WAIT;
usr/src/uts/common/inet/sctp/sctp_conn.c
598
initmp = sctp_init_mp(sctp, cur_fp);
usr/src/uts/common/inet/sctp/sctp_conn.c
606
if (sctp->sctp_nsaddrs == 0) {
usr/src/uts/common/inet/sctp/sctp_conn.c
607
sctp_conn_hash_remove(sctp);
usr/src/uts/common/inet/sctp/sctp_conn.c
609
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_conn.c
614
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_conn.c
629
fsize = sizeof (in6_addr_t) * sctp->sctp_nfaddrs;
usr/src/uts/common/inet/sctp/sctp_conn.c
630
ssize = sizeof (in6_addr_t) * sctp->sctp_nsaddrs;
usr/src/uts/common/inet/sctp/sctp_conn.c
634
sctp_get_saddr_list(sctp, slist, ssize);
usr/src/uts/common/inet/sctp/sctp_conn.c
635
sctp_get_faddr_list(sctp, flist, fsize);
usr/src/uts/common/inet/sctp/sctp_conn.c
637
sctp->sctp_nsaddrs, connp->conn_lport,
usr/src/uts/common/inet/sctp/sctp_conn.c
638
flist, sctp->sctp_nfaddrs, connp->conn_fport,
usr/src/uts/common/inet/sctp/sctp_conn.c
639
B_TRUE, (cl_sctp_handle_t)sctp);
usr/src/uts/common/inet/sctp/sctp_conn.c
645
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_conn.c
646
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_conn.c
649
sctp_set_ulp_prop(sctp);
usr/src/uts/common/inet/sctp/sctp_conn.c
653
ip0dbg(("sctp_connect: invalid state. %d\n", sctp->sctp_state));
usr/src/uts/common/inet/sctp/sctp_conn.c
654
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1000
sctp->sctp_current->sf_df = B_TRUE;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1001
sctp->sctp_ipha->ipha_fragment_offset_and_flags |= IPH_DF_HTONS;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1008
ASSERT(sctp->sctp_conn_tfp != NULL);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1009
tf = sctp->sctp_conn_tfp;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1012
if (sctp_get_addrparams(sctp, NULL, iackmp, iackch, NULL) != 0) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
1015
SCTP_FADDR_TIMER_RESTART(sctp, sctp->sctp_current,
usr/src/uts/common/inet/sctp/sctp_cookie.c
1016
sctp->sctp_current->sf_rto);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1023
fp = sctp->sctp_current;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1031
old_num_str = sctp->sctp_num_ostr;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1032
if (ntohs(iack->sic_instr) < sctp->sctp_num_ostr)
usr/src/uts/common/inet/sctp/sctp_cookie.c
1033
sctp->sctp_num_ostr = ntohs(iack->sic_instr);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1034
if (sctp->sctp_ostrcntrs == NULL) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
1035
sctp->sctp_ostrcntrs = kmem_zalloc(sizeof (uint16_t) *
usr/src/uts/common/inet/sctp/sctp_cookie.c
1036
sctp->sctp_num_ostr, KM_NOSLEEP);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1039
if (old_num_str != sctp->sctp_num_ostr) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
1040
kmem_free(sctp->sctp_ostrcntrs, sizeof (uint16_t) *
usr/src/uts/common/inet/sctp/sctp_cookie.c
1042
sctp->sctp_ostrcntrs = kmem_zalloc(sizeof (uint16_t) *
usr/src/uts/common/inet/sctp/sctp_cookie.c
1043
sctp->sctp_num_ostr, KM_NOSLEEP);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1046
if (sctp->sctp_ostrcntrs == NULL) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
1048
SCTP_FADDR_TIMER_RESTART(sctp, fp, fp->sf_rto);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1058
old_num_str = sctp->sctp_num_istr;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1059
if (ntohs(iack->sic_outstr) < sctp->sctp_num_istr)
usr/src/uts/common/inet/sctp/sctp_cookie.c
1060
sctp->sctp_num_istr = ntohs(iack->sic_outstr);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1061
if (sctp->sctp_instr == NULL) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
1062
sctp->sctp_instr = kmem_zalloc(sizeof (*sctp->sctp_instr) *
usr/src/uts/common/inet/sctp/sctp_cookie.c
1063
sctp->sctp_num_istr, KM_NOSLEEP);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1066
if (old_num_str != sctp->sctp_num_istr) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
1067
kmem_free(sctp->sctp_instr,
usr/src/uts/common/inet/sctp/sctp_cookie.c
1068
sizeof (*sctp->sctp_instr) * old_num_str);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1069
sctp->sctp_instr = kmem_zalloc(
usr/src/uts/common/inet/sctp/sctp_cookie.c
1070
sizeof (*sctp->sctp_instr) * sctp->sctp_num_istr,
usr/src/uts/common/inet/sctp/sctp_cookie.c
1074
if (sctp->sctp_instr == NULL) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
1075
kmem_free(sctp->sctp_ostrcntrs,
usr/src/uts/common/inet/sctp/sctp_cookie.c
1076
sizeof (uint16_t) * sctp->sctp_num_ostr);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1078
SCTP_FADDR_TIMER_RESTART(sctp, fp, fp->sf_rto);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1084
if (!(sctp_options & SCTP_PRSCTP_OPTION) && sctp->sctp_prsctp_aware)
usr/src/uts/common/inet/sctp/sctp_cookie.c
1085
sctp->sctp_prsctp_aware = B_FALSE;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1089
&sctp->sctp_rx_adaptation_code) == 0) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
1090
sctp->sctp_recv_adaptation = 1;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1104
if (sctp->sctp_unsent > 0) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
1109
mp = sctp->sctp_xmit_unsent;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1112
if (smh->smh_sid >= sctp->sctp_num_ostr) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
1117
sctp->sctp_xmit_unsent = mp->b_next;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1119
sctp_sendfail_event(sctp, mp, SCTP_ERR_BAD_SID,
usr/src/uts/common/inet/sctp/sctp_cookie.c
1124
mp = sctp->sctp_xmit_unsent;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1131
ASSERT(sctp->sctp_unsent >= unsent);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1132
sctp->sctp_unsent -= unsent;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1141
if (!SCTP_IS_DETACHED(sctp))
usr/src/uts/common/inet/sctp/sctp_cookie.c
1142
SCTP_TXQ_UPDATE(sctp);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1144
if (sctp->sctp_xmit_unsent == NULL)
usr/src/uts/common/inet/sctp/sctp_cookie.c
1145
sctp->sctp_xmit_unsent_tail = NULL;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1148
cansend = MIN(sctp->sctp_unsent, sctp->sctp_frwnd);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1149
meta = sctp_get_msg_to_send(sctp, &mp, NULL, &error, ceclen,
usr/src/uts/common/inet/sctp/sctp_cookie.c
1159
sctp->sctp_xmit_tail = meta;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1169
head = sctp_add_proto_hdr(sctp, fp, cemp, 0, NULL);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1172
SCTP_FADDR_TIMER_RESTART(sctp, fp, fp->sf_rto);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1186
BUMP_LOCAL(sctp->sctp_obchunks);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1188
sctp->sctp_cookie_mp = dupmsg(head);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1190
if (sctp->sctp_cookie_mp == NULL) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
1200
SCTP_CHUNK_SENT(sctp, mp, sdc, fp, seglen, meta);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1207
sctp->sctp_state = SCTPS_COOKIE_ECHOED;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1208
SCTP_FADDR_TIMER_RESTART(sctp, fp, fp->sf_rto);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1210
sctp_set_iplen(sctp, head, fp->sf_ixa);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1212
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1216
sctp_process_cookie(sctp_t *sctp, sctp_chunk_hdr_t *ch, mblk_t *cmp,
usr/src/uts/common/inet/sctp/sctp_cookie.c
1234
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1235
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1237
BUMP_LOCAL(sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1248
hmac_md5(p, clen, (uchar_t *)sctp->sctp_secret, SCTP_SECRET_LEN,
usr/src/uts/common/inet/sctp/sctp_cookie.c
1256
hmac_md5(p, clen, (uchar_t *)sctp->sctp_old_secret,
usr/src/uts/common/inet/sctp/sctp_cookie.c
1298
if (diff > 0 && (init->sic_inittag != sctp->sctp_fvtag ||
usr/src/uts/common/inet/sctp/sctp_cookie.c
1299
iack->sic_inittag != sctp->sctp_lvtag)) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
1304
sctp_send_abort(sctp, init->sic_inittag, SCTP_ERR_STALE_COOKIE,
usr/src/uts/common/inet/sctp/sctp_cookie.c
1323
&sctp->sctp_rx_adaptation_code) == 0)) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
1329
if (sctp->sctp_state >= SCTPS_COOKIE_WAIT) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
1330
if (sctp->sctp_state == SCTPS_ESTABLISHED &&
usr/src/uts/common/inet/sctp/sctp_cookie.c
1331
init->sic_inittag == sctp->sctp_fvtag &&
usr/src/uts/common/inet/sctp/sctp_cookie.c
1332
iack->sic_inittag == sctp->sctp_lvtag &&
usr/src/uts/common/inet/sctp/sctp_cookie.c
1336
SCTP_PRINTADDR(sctp->sctp_current->sf_faddr),
usr/src/uts/common/inet/sctp/sctp_cookie.c
1341
if (init->sic_inittag != sctp->sctp_fvtag &&
usr/src/uts/common/inet/sctp/sctp_cookie.c
1342
iack->sic_inittag != sctp->sctp_lvtag &&
usr/src/uts/common/inet/sctp/sctp_cookie.c
1343
*fttag == sctp->sctp_fvtag &&
usr/src/uts/common/inet/sctp/sctp_cookie.c
1344
*lttag == sctp->sctp_lvtag) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
1348
sctp->sctp_fvtag = init->sic_inittag;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1349
sctp->sctp_lvtag = iack->sic_inittag;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1351
sctp->sctp_sctph->sh_verf = init->sic_inittag;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1352
sctp->sctp_sctph6->sh_verf = init->sic_inittag;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1354
sctp->sctp_ftsn = ntohl(init->sic_inittsn);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1355
sctp->sctp_lastacked = sctp->sctp_ftsn - 1;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1356
sctp->sctp_frwnd = ntohl(init->sic_a_rwnd);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1357
sctp->sctp_fcsn = sctp->sctp_lastacked;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1359
if (sctp->sctp_state < SCTPS_ESTABLISHED)
usr/src/uts/common/inet/sctp/sctp_cookie.c
1360
SCTP_ASSOC_EST(sctps, sctp);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1363
SCTP_PRINTADDR(sctp->sctp_current->sf_faddr),
usr/src/uts/common/inet/sctp/sctp_cookie.c
1366
sctp_congest_reset(sctp);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1369
sctp_instream_cleanup(sctp, B_FALSE);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1371
sctp->sctp_istr_nmsgs = 0;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1372
sctp->sctp_rxqueued = 0;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1373
for (i = 0; i < sctp->sctp_num_ostr; i++) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
1374
sctp->sctp_ostrcntrs[i] = 0;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1379
} else if (init->sic_inittag != sctp->sctp_fvtag &&
usr/src/uts/common/inet/sctp/sctp_cookie.c
1380
iack->sic_inittag == sctp->sctp_lvtag) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
1383
if (sctp->sctp_state < SCTPS_ESTABLISHED) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
1384
if (!sctp_initialize_params(sctp, init, iack))
usr/src/uts/common/inet/sctp/sctp_cookie.c
1386
SCTP_ASSOC_EST(sctps, sctp);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1390
SCTP_PRINTADDR(sctp->sctp_current->sf_faddr),
usr/src/uts/common/inet/sctp/sctp_cookie.c
1394
} else if (iack->sic_inittag != sctp->sctp_lvtag &&
usr/src/uts/common/inet/sctp/sctp_cookie.c
1395
init->sic_inittag == sctp->sctp_fvtag &&
usr/src/uts/common/inet/sctp/sctp_cookie.c
1400
SCTP_PRINTADDR(sctp->sctp_current->sf_faddr),
usr/src/uts/common/inet/sctp/sctp_cookie.c
1403
} else if (init->sic_inittag == sctp->sctp_fvtag &&
usr/src/uts/common/inet/sctp/sctp_cookie.c
1404
iack->sic_inittag == sctp->sctp_lvtag) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
1411
SCTP_PRINTADDR(sctp->sctp_current->sf_faddr),
usr/src/uts/common/inet/sctp/sctp_cookie.c
1413
if (sctp->sctp_state < SCTPS_ESTABLISHED) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
1414
if (!sctp_initialize_params(sctp, init, iack))
usr/src/uts/common/inet/sctp/sctp_cookie.c
1416
SCTP_ASSOC_EST(sctps, sctp);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1451
sctp_t *sctp = NULL;
usr/src/uts/common/inet/sctp/sctp_cookie.c
1496
sctp = sctp_conn_match(&srcp, 1, &dst, ports, zoneid,
usr/src/uts/common/inet/sctp/sctp_cookie.c
1501
SCTP_PRINTADDR(src), (void *)sctp));
usr/src/uts/common/inet/sctp/sctp_cookie.c
1504
if (sctp != NULL) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
1505
return (sctp);
usr/src/uts/common/inet/sctp/sctp_cookie.c
1509
sctp = sctp_conn_match(&srcp, 1, &dst, ports, zoneid,
usr/src/uts/common/inet/sctp/sctp_cookie.c
1514
SCTP_PRINTADDR(src), (void *)sctp));
usr/src/uts/common/inet/sctp/sctp_cookie.c
1516
if (sctp != NULL) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
1517
return (sctp);
usr/src/uts/common/inet/sctp/sctp_cookie.c
157
validate_init_params(sctp_t *sctp, sctp_chunk_hdr_t *ch,
usr/src/uts/common/inet/sctp/sctp_cookie.c
171
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_cookie.c
295
*errmp = sctp_make_err(sctp,
usr/src/uts/common/inet/sctp/sctp_cookie.c
349
sctp->sctp_connp->conn_ipv6_v6only))) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
363
sctp_send_abort(sctp, sctp_init2vtag(ch), SCTP_ERR_MISSING_PARM,
usr/src/uts/common/inet/sctp/sctp_cookie.c
375
sctp_send_abort(sctp, sctp_init2vtag(ch), serror, details,
usr/src/uts/common/inet/sctp/sctp_cookie.c
385
sctp_initialize_params(sctp_t *sctp, sctp_init_chunk_t *init,
usr/src/uts/common/inet/sctp/sctp_cookie.c
389
sctp->sctp_ftsn = ntohl(init->sic_inittsn);
usr/src/uts/common/inet/sctp/sctp_cookie.c
390
sctp->sctp_lastacked = sctp->sctp_ftsn - 1;
usr/src/uts/common/inet/sctp/sctp_cookie.c
393
sctp->sctp_fcsn = sctp->sctp_lastacked;
usr/src/uts/common/inet/sctp/sctp_cookie.c
400
sctp->sctp_fvtag = init->sic_inittag;
usr/src/uts/common/inet/sctp/sctp_cookie.c
401
sctp->sctp_sctph->sh_verf = init->sic_inittag;
usr/src/uts/common/inet/sctp/sctp_cookie.c
402
sctp->sctp_sctph6->sh_verf = init->sic_inittag;
usr/src/uts/common/inet/sctp/sctp_cookie.c
403
sctp->sctp_lvtag = iack->sic_inittag;
usr/src/uts/common/inet/sctp/sctp_cookie.c
406
sctp->sctp_frwnd = ntohl(init->sic_a_rwnd);
usr/src/uts/common/inet/sctp/sctp_cookie.c
409
sctp->sctp_num_ostr = iack->sic_outstr;
usr/src/uts/common/inet/sctp/sctp_cookie.c
410
sctp->sctp_ostrcntrs = kmem_zalloc(sizeof (uint16_t) *
usr/src/uts/common/inet/sctp/sctp_cookie.c
411
sctp->sctp_num_ostr, KM_NOSLEEP);
usr/src/uts/common/inet/sctp/sctp_cookie.c
412
if (sctp->sctp_ostrcntrs == NULL)
usr/src/uts/common/inet/sctp/sctp_cookie.c
415
sctp->sctp_num_istr = iack->sic_instr;
usr/src/uts/common/inet/sctp/sctp_cookie.c
416
sctp->sctp_instr = kmem_zalloc(sizeof (*sctp->sctp_instr) *
usr/src/uts/common/inet/sctp/sctp_cookie.c
417
sctp->sctp_num_istr, KM_NOSLEEP);
usr/src/uts/common/inet/sctp/sctp_cookie.c
418
if (sctp->sctp_instr == NULL) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
419
kmem_free(sctp->sctp_ostrcntrs, sizeof (uint16_t) *
usr/src/uts/common/inet/sctp/sctp_cookie.c
420
sctp->sctp_num_ostr);
usr/src/uts/common/inet/sctp/sctp_cookie.c
421
sctp->sctp_ostrcntrs = NULL;
usr/src/uts/common/inet/sctp/sctp_cookie.c
468
sctp_send_initack(sctp_t *sctp, sctp_hdr_t *initsh, sctp_chunk_hdr_t *ch,
usr/src/uts/common/inet/sctp/sctp_cookie.c
499
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_cookie.c
500
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_cookie.c
504
BUMP_LOCAL(sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp_cookie.c
510
ipsctplen = sctp->sctp_ip_hdr_len;
usr/src/uts/common/inet/sctp/sctp_cookie.c
514
ipsctplen = sctp->sctp_ip_hdr6_len;
usr/src/uts/common/inet/sctp/sctp_cookie.c
519
if (!sctp->sctp_connp->conn_ipv6_v6only)
usr/src/uts/common/inet/sctp/sctp_cookie.c
526
if (validate_init_params(sctp, ch, init, initmp, NULL, &errmp,
usr/src/uts/common/inet/sctp/sctp_cookie.c
539
if (sctp->sctp_state <= SCTPS_LISTEN) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
546
} else if (sctp->sctp_state == SCTPS_COOKIE_WAIT ||
usr/src/uts/common/inet/sctp/sctp_cookie.c
547
sctp->sctp_state == SCTPS_COOKIE_ECHOED) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
549
itag = sctp->sctp_lvtag;
usr/src/uts/common/inet/sctp/sctp_cookie.c
550
itsn = sctp->sctp_ltsn;
usr/src/uts/common/inet/sctp/sctp_cookie.c
569
itsn = sctp->sctp_ltsn;
usr/src/uts/common/inet/sctp/sctp_cookie.c
579
if (sctp->sctp_send_adaptation)
usr/src/uts/common/inet/sctp/sctp_cookie.c
582
sctp->sctp_prsctp_aware && sctps->sctps_prsctp_enabled) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
583
iacklen += sctp_options_param_len(sctp, SCTP_PRSCTP_OPTION);
usr/src/uts/common/inet/sctp/sctp_cookie.c
586
iacklen += sctp_supaddr_param_len(sctp);
usr/src/uts/common/inet/sctp/sctp_cookie.c
588
iacklen += sctp_addr_params(sctp, supp_af, NULL, B_FALSE);
usr/src/uts/common/inet/sctp/sctp_cookie.c
609
sctp_send_abort(sctp, sctp_init2vtag(ch),
usr/src/uts/common/inet/sctp/sctp_cookie.c
645
sctp_send_abort(sctp, sctp_init2vtag(ch),
usr/src/uts/common/inet/sctp/sctp_cookie.c
660
sctp_send_abort(sctp, sctp_init2vtag(ch),
usr/src/uts/common/inet/sctp/sctp_cookie.c
670
bcopy(sctp->sctp_iphc, p, sctp->sctp_hdr_len);
usr/src/uts/common/inet/sctp/sctp_cookie.c
677
iacksh = (sctp_hdr_t *)(p + sctp->sctp_ip_hdr_len);
usr/src/uts/common/inet/sctp/sctp_cookie.c
678
ixa->ixa_ip_hdr_length = sctp->sctp_ip_hdr_len;
usr/src/uts/common/inet/sctp/sctp_cookie.c
680
bcopy(sctp->sctp_iphc6, p, sctp->sctp_hdr6_len);
usr/src/uts/common/inet/sctp/sctp_cookie.c
687
iacksh = (sctp_hdr_t *)(p + sctp->sctp_ip_hdr6_len);
usr/src/uts/common/inet/sctp/sctp_cookie.c
688
ixa->ixa_ip_hdr_length = sctp->sctp_ip_hdr6_len;
usr/src/uts/common/inet/sctp/sctp_cookie.c
710
iack->sic_a_rwnd = htonl(sctp->sctp_rwnd);
usr/src/uts/common/inet/sctp/sctp_cookie.c
712
iack->sic_outstr = htons(MIN(sctp->sctp_num_ostr,
usr/src/uts/common/inet/sctp/sctp_cookie.c
714
iack->sic_instr = htons(sctp->sctp_num_istr);
usr/src/uts/common/inet/sctp/sctp_cookie.c
717
p += sctp_adaptation_code_param(sctp, (uchar_t *)p);
usr/src/uts/common/inet/sctp/sctp_cookie.c
719
p += sctp_supaddr_param(sctp, (uchar_t *)p);
usr/src/uts/common/inet/sctp/sctp_cookie.c
721
p += sctp_addr_params(sctp, supp_af, (uchar_t *)p, B_FALSE);
usr/src/uts/common/inet/sctp/sctp_cookie.c
723
sctp->sctp_prsctp_aware && sctps->sctps_prsctp_enabled) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
724
p += sctp_options_param(sctp, p, SCTP_PRSCTP_OPTION);
usr/src/uts/common/inet/sctp/sctp_cookie.c
757
*lifetime = sctp->sctp_cookie_lifetime;
usr/src/uts/common/inet/sctp/sctp_cookie.c
761
if (sctp->sctp_state <= SCTPS_COOKIE_WAIT) {
usr/src/uts/common/inet/sctp/sctp_cookie.c
768
*ttag = sctp->sctp_lvtag;
usr/src/uts/common/inet/sctp/sctp_cookie.c
771
*ttag = sctp->sctp_fvtag;
usr/src/uts/common/inet/sctp/sctp_cookie.c
792
iack->sic_outstr = MIN(sctp->sctp_num_ostr, ntohs(init->sic_instr));
usr/src/uts/common/inet/sctp/sctp_cookie.c
793
iack->sic_instr = MIN(sctp->sctp_num_istr, ntohs(init->sic_outstr));
usr/src/uts/common/inet/sctp/sctp_cookie.c
807
(sctp->sctp_last_secret_update +
usr/src/uts/common/inet/sctp/sctp_cookie.c
809
bcopy(sctp->sctp_secret, sctp->sctp_old_secret,
usr/src/uts/common/inet/sctp/sctp_cookie.c
811
(void) random_get_pseudo_bytes(sctp->sctp_secret,
usr/src/uts/common/inet/sctp/sctp_cookie.c
813
sctp->sctp_last_secret_update = nowt;
usr/src/uts/common/inet/sctp/sctp_cookie.c
817
(uchar_t *)sctp->sctp_secret, SCTP_SECRET_LEN, (uchar_t *)p);
usr/src/uts/common/inet/sctp/sctp_cookie.c
856
sctp_send_abort(sctp, sctp_init2vtag(ch),
usr/src/uts/common/inet/sctp/sctp_cookie.c
872
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_cookie.c
873
BUMP_LOCAL(sctp->sctp_obchunks);
usr/src/uts/common/inet/sctp/sctp_cookie.c
880
sctp_send_cookie_ack(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_cookie.c
884
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_cookie.c
886
camp = sctp_make_mp(sctp, sctp->sctp_current, sizeof (*cach));
usr/src/uts/common/inet/sctp/sctp_cookie.c
899
BUMP_LOCAL(sctp->sctp_obchunks);
usr/src/uts/common/inet/sctp/sctp_cookie.c
901
sctp_set_iplen(sctp, camp, sctp->sctp_current->sf_ixa);
usr/src/uts/common/inet/sctp/sctp_cookie.c
902
(void) conn_ip_output(camp, sctp->sctp_current->sf_ixa);
usr/src/uts/common/inet/sctp/sctp_cookie.c
903
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_cookie.c
925
sctp_send_cookie_echo(sctp_t *sctp, sctp_chunk_hdr_t *iackch, mblk_t *iackmp,
usr/src/uts/common/inet/sctp/sctp_cookie.c
947
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_cookie.c
954
if (validate_init_params(sctp, iackch, iack, iackmp, &cph, &errmp,
usr/src/uts/common/inet/sctp/sctp_cookie.c
957
sctp_assoc_event(sctp, SCTP_CANT_STR_ASSOC, 0, NULL);
usr/src/uts/common/inet/sctp/sctp_cookie.c
958
sctp_clean_death(sctp, ECONNABORTED);
usr/src/uts/common/inet/sctp/sctp_cookie.c
963
ASSERT(sctp->sctp_cookie_mp == NULL);
usr/src/uts/common/inet/sctp/sctp_cookie.c
971
hdrlen = sctp->sctp_hdr_len;
usr/src/uts/common/inet/sctp/sctp_cookie.c
973
hdrlen = sctp->sctp_hdr6_len;
usr/src/uts/common/inet/sctp/sctp_cookie.c
978
SCTP_FADDR_TIMER_RESTART(sctp, sctp->sctp_current,
usr/src/uts/common/inet/sctp/sctp_cookie.c
979
sctp->sctp_current->sf_rto);
usr/src/uts/common/inet/sctp/sctp_cookie.c
987
sctp->sctp_sctph->sh_verf = iack->sic_inittag;
usr/src/uts/common/inet/sctp/sctp_cookie.c
988
sctp->sctp_sctph6->sh_verf = iack->sic_inittag;
usr/src/uts/common/inet/sctp/sctp_cookie.c
989
sctp->sctp_fvtag = iack->sic_inittag;
usr/src/uts/common/inet/sctp/sctp_cookie.c
990
sctp->sctp_ftsn = ntohl(iack->sic_inittsn);
usr/src/uts/common/inet/sctp/sctp_cookie.c
991
sctp->sctp_lastacked = sctp->sctp_ftsn - 1;
usr/src/uts/common/inet/sctp/sctp_cookie.c
992
sctp->sctp_fcsn = sctp->sctp_lastacked;
usr/src/uts/common/inet/sctp/sctp_cookie.c
993
sctp->sctp_frwnd = ntohl(iack->sic_a_rwnd);
usr/src/uts/common/inet/sctp/sctp_error.c
102
sctp_faddr_t *fp = sctp->sctp_current;
usr/src/uts/common/inet/sctp/sctp_error.c
104
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_error.c
111
if (sctp->sctp_state < SCTPS_COOKIE_WAIT) {
usr/src/uts/common/inet/sctp/sctp_error.c
112
sctp_clean_death(sctp, ECONNABORTED);
usr/src/uts/common/inet/sctp/sctp_error.c
116
mp = sctp_make_mp(sctp, fp, 0);
usr/src/uts/common/inet/sctp/sctp_error.c
127
hdrlen = sctp->sctp_hdr_len;
usr/src/uts/common/inet/sctp/sctp_error.c
129
hdrlen = sctp->sctp_hdr6_len;
usr/src/uts/common/inet/sctp/sctp_error.c
153
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_error.c
154
BUMP_LOCAL(sctp->sctp_obchunks);
usr/src/uts/common/inet/sctp/sctp_error.c
156
sctp_set_iplen(sctp, mp, ixa);
usr/src/uts/common/inet/sctp/sctp_error.c
162
sctp_assoc_event(sctp, SCTP_COMM_LOST, 0, NULL);
usr/src/uts/common/inet/sctp/sctp_error.c
163
sctp_clean_death(sctp, ECONNABORTED);
usr/src/uts/common/inet/sctp/sctp_error.c
170
sctp_send_abort(sctp_t *sctp, uint32_t vtag, uint16_t serror, char *details,
usr/src/uts/common/inet/sctp/sctp_error.c
186
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_error.c
187
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_error.c
192
ahlen = sctp->sctp_hdr_len;
usr/src/uts/common/inet/sctp/sctp_error.c
194
ahlen = sctp->sctp_hdr6_len;
usr/src/uts/common/inet/sctp/sctp_error.c
215
bcopy(sctp->sctp_iphc, p, sctp->sctp_hdr_len);
usr/src/uts/common/inet/sctp/sctp_error.c
224
sh = (sctp_hdr_t *)(p + sctp->sctp_ip_hdr_len);
usr/src/uts/common/inet/sctp/sctp_error.c
234
bcopy(sctp->sctp_iphc6, p, sctp->sctp_hdr6_len);
usr/src/uts/common/inet/sctp/sctp_error.c
239
sh = (sctp_hdr_t *)(p + sctp->sctp_ip_hdr6_len);
usr/src/uts/common/inet/sctp/sctp_error.c
277
ixa->ixa_ip_hdr_length = sctp->sctp_ip_hdr_len;
usr/src/uts/common/inet/sctp/sctp_error.c
281
ixa->ixa_ip_hdr_length = sctp->sctp_ip_hdr6_len;
usr/src/uts/common/inet/sctp/sctp_error.c
285
BUMP_LOCAL(sctp->sctp_obchunks);
usr/src/uts/common/inet/sctp/sctp_error.c
310
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_error.c
311
BUMP_LOCAL(sctp->sctp_obchunks);
usr/src/uts/common/inet/sctp/sctp_error.c
469
sctp_make_err(sctp_t *sctp, uint16_t serror, void *details, size_t len)
usr/src/uts/common/inet/sctp/sctp_error.c
517
sctp_add_err(sctp_t *sctp, uint16_t serror, void *details, size_t len,
usr/src/uts/common/inet/sctp/sctp_error.c
520
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_error.c
527
emp = sctp_make_err(sctp, serror, details, len);
usr/src/uts/common/inet/sctp/sctp_error.c
531
if (sctp->sctp_err_chunks != NULL) {
usr/src/uts/common/inet/sctp/sctp_error.c
532
fp = SCTP_CHUNK_DEST(sctp->sctp_err_chunks);
usr/src/uts/common/inet/sctp/sctp_error.c
544
if (sctp->sctp_err_len + emp_len > mss) {
usr/src/uts/common/inet/sctp/sctp_error.c
545
if ((sendmp = sctp_make_mp(sctp, fp, 0)) == NULL) {
usr/src/uts/common/inet/sctp/sctp_error.c
551
sendmp->b_cont = sctp->sctp_err_chunks;
usr/src/uts/common/inet/sctp/sctp_error.c
552
sctp_set_iplen(sctp, sendmp, fp->sf_ixa);
usr/src/uts/common/inet/sctp/sctp_error.c
554
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_error.c
556
sctp->sctp_err_chunks = emp;
usr/src/uts/common/inet/sctp/sctp_error.c
557
sctp->sctp_err_len = emp_len;
usr/src/uts/common/inet/sctp/sctp_error.c
560
if (sctp->sctp_err_chunks != NULL)
usr/src/uts/common/inet/sctp/sctp_error.c
561
linkb(sctp->sctp_err_chunks, emp);
usr/src/uts/common/inet/sctp/sctp_error.c
563
sctp->sctp_err_chunks = emp;
usr/src/uts/common/inet/sctp/sctp_error.c
564
sctp->sctp_err_len += emp_len;
usr/src/uts/common/inet/sctp/sctp_error.c
567
BUMP_LOCAL(sctp->sctp_obchunks);
usr/src/uts/common/inet/sctp/sctp_error.c
575
sctp_process_err(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_error.c
577
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_error.c
582
ASSERT(sctp->sctp_err_chunks != NULL);
usr/src/uts/common/inet/sctp/sctp_error.c
583
errmp = sctp->sctp_err_chunks;
usr/src/uts/common/inet/sctp/sctp_error.c
585
if ((sendmp = sctp_make_mp(sctp, fp, 0)) == NULL) {
usr/src/uts/common/inet/sctp/sctp_error.c
591
sctp_set_iplen(sctp, sendmp, fp->sf_ixa);
usr/src/uts/common/inet/sctp/sctp_error.c
593
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_error.c
595
sctp->sctp_err_chunks = NULL;
usr/src/uts/common/inet/sctp/sctp_error.c
596
sctp->sctp_err_len = 0;
usr/src/uts/common/inet/sctp/sctp_error.c
604
sctp_handle_error(sctp_t *sctp, sctp_hdr_t *sctph, sctp_chunk_hdr_t *ch,
usr/src/uts/common/inet/sctp/sctp_error.c
615
sctp_error_event(sctp, ch, B_FALSE);
usr/src/uts/common/inet/sctp/sctp_error.c
625
sctp_send_abort(sctp, sctph->sh_verf, 0, NULL, 0, mp, 0, 0,
usr/src/uts/common/inet/sctp/sctp_error.c
630
sctp_send_abort(sctp, sctph->sh_verf, 0, NULL, 0, mp, 0, 0,
usr/src/uts/common/inet/sctp/sctp_error.c
642
sctp->sctp_understands_asconf = B_FALSE;
usr/src/uts/common/inet/sctp/sctp_error.c
653
sctp_asconf_free_cxmit(sctp, uch);
usr/src/uts/common/inet/sctp/sctp_error.c
97
sctp_user_abort(sctp_t *sctp, mblk_t *data)
usr/src/uts/common/inet/sctp/sctp_hash.c
161
sctp_t *sctp;
usr/src/uts/common/inet/sctp/sctp_hash.c
169
sctp = list_head(&sctps->sctps_g_list);
usr/src/uts/common/inet/sctp/sctp_hash.c
170
while (sctp != NULL) {
usr/src/uts/common/inet/sctp/sctp_hash.c
174
mutex_enter(&sctp->sctp_reflock);
usr/src/uts/common/inet/sctp/sctp_hash.c
175
if (sctp->sctp_condemned || sctp->sctp_state <= SCTPS_LISTEN) {
usr/src/uts/common/inet/sctp/sctp_hash.c
176
mutex_exit(&sctp->sctp_reflock);
usr/src/uts/common/inet/sctp/sctp_hash.c
177
sctp = list_next(&sctps->sctps_g_list, sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
180
sctp->sctp_refcnt++;
usr/src/uts/common/inet/sctp/sctp_hash.c
181
mutex_exit(&sctp->sctp_reflock);
usr/src/uts/common/inet/sctp/sctp_hash.c
185
RUN_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
186
ssize = sizeof (in6_addr_t) * sctp->sctp_nsaddrs;
usr/src/uts/common/inet/sctp/sctp_hash.c
187
fsize = sizeof (in6_addr_t) * sctp->sctp_nfaddrs;
usr/src/uts/common/inet/sctp/sctp_hash.c
192
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
197
SCTP_REFRELE(sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
201
sctp_get_saddr_list(sctp, slist, ssize);
usr/src/uts/common/inet/sctp/sctp_hash.c
202
sctp_get_faddr_list(sctp, flist, fsize);
usr/src/uts/common/inet/sctp/sctp_hash.c
203
cl_sctpi.cl_sctpi_nladdr = sctp->sctp_nsaddrs;
usr/src/uts/common/inet/sctp/sctp_hash.c
204
cl_sctpi.cl_sctpi_nfaddr = sctp->sctp_nfaddrs;
usr/src/uts/common/inet/sctp/sctp_hash.c
205
cl_sctpi.cl_sctpi_family = sctp->sctp_connp->conn_family;
usr/src/uts/common/inet/sctp/sctp_hash.c
210
cl_sctpi.cl_sctpi_state = sctp->sctp_state;
usr/src/uts/common/inet/sctp/sctp_hash.c
211
cl_sctpi.cl_sctpi_lport = sctp->sctp_connp->conn_lport;
usr/src/uts/common/inet/sctp/sctp_hash.c
212
cl_sctpi.cl_sctpi_fport = sctp->sctp_connp->conn_fport;
usr/src/uts/common/inet/sctp/sctp_hash.c
213
cl_sctpi.cl_sctpi_handle = (cl_sctp_handle_t)sctp;
usr/src/uts/common/inet/sctp/sctp_hash.c
214
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
220
SCTP_REFRELE(sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
224
sctp_prev = sctp;
usr/src/uts/common/inet/sctp/sctp_hash.c
226
sctp = list_next(&sctps->sctps_g_list, sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
239
sctp_t *sctp;
usr/src/uts/common/inet/sctp/sctp_hash.c
247
for (sctp = tf->tf_sctp; sctp != NULL; sctp =
usr/src/uts/common/inet/sctp/sctp_hash.c
248
sctp->sctp_conn_hash_next) {
usr/src/uts/common/inet/sctp/sctp_hash.c
249
connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_hash.c
260
for (fp = sctp->sctp_faddrs; fp != NULL; fp = fp->sf_next) {
usr/src/uts/common/inet/sctp/sctp_hash.c
265
if (sctp_saddr_lookup(sctp, laddr, 0)
usr/src/uts/common/inet/sctp/sctp_hash.c
267
SCTP_REFHOLD(sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
269
return (sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
279
return (sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
286
sctp_t *sctp;
usr/src/uts/common/inet/sctp/sctp_hash.c
296
for (sctp = tf->tf_sctp; sctp; sctp = sctp->sctp_listen_hash_next) {
usr/src/uts/common/inet/sctp/sctp_hash.c
297
connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_hash.c
308
if (sctp_saddr_lookup(sctp, laddr, 0) != NULL) {
usr/src/uts/common/inet/sctp/sctp_hash.c
309
SCTP_REFHOLD(sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
317
return (sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
325
sctp_t *sctp;
usr/src/uts/common/inet/sctp/sctp_hash.c
327
sctp = sctp_conn_match(&src, 1, dst, ports, zoneid, iraflags, sctps);
usr/src/uts/common/inet/sctp/sctp_hash.c
328
if (sctp == NULL) {
usr/src/uts/common/inet/sctp/sctp_hash.c
330
sctp = listen_match(dst, ports, zoneid, iraflags, sctps);
usr/src/uts/common/inet/sctp/sctp_hash.c
331
if (sctp == NULL)
usr/src/uts/common/inet/sctp/sctp_hash.c
334
return (sctp->sctp_connp);
usr/src/uts/common/inet/sctp/sctp_hash.c
354
sctp_t *sctp;
usr/src/uts/common/inet/sctp/sctp_hash.c
369
if ((sctp = sctp_conn_match(&srcp, 1, dstp, ports, zoneid, iraflags,
usr/src/uts/common/inet/sctp/sctp_hash.c
371
return (sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
463
sctp = sctp_conn_match(addrbuf, nfaddr, dstp, ports,
usr/src/uts/common/inet/sctp/sctp_hash.c
478
return (sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
490
sctp_t *sctp;
usr/src/uts/common/inet/sctp/sctp_hash.c
492
sctp = sctp_lookup_by_faddrs(mp, sctph, src, dst, ports, zoneid,
usr/src/uts/common/inet/sctp/sctp_hash.c
494
if (sctp == NULL) {
usr/src/uts/common/inet/sctp/sctp_hash.c
496
sctp = listen_match(dst, ports, zoneid, iraflags, sctps);
usr/src/uts/common/inet/sctp/sctp_hash.c
497
if (sctp == NULL)
usr/src/uts/common/inet/sctp/sctp_hash.c
507
sctp->sctp_connp)) {
usr/src/uts/common/inet/sctp/sctp_hash.c
512
conn_t *, sctp->sctp_connp, mblk_t *, mp);
usr/src/uts/common/inet/sctp/sctp_hash.c
513
SCTP_REFRELE(sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
522
return (sctp->sctp_connp);
usr/src/uts/common/inet/sctp/sctp_hash.c
533
sctp_t *sctp;
usr/src/uts/common/inet/sctp/sctp_hash.c
572
sctp = CONN2SCTP(connp);
usr/src/uts/common/inet/sctp/sctp_hash.c
577
SCTP_REFRELE(sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
593
SCTP_REFRELE(sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
600
mutex_enter(&sctp->sctp_lock);
usr/src/uts/common/inet/sctp/sctp_hash.c
601
if (sctp->sctp_running) {
usr/src/uts/common/inet/sctp/sctp_hash.c
602
sctp_add_recvq(sctp, mp, B_FALSE, ira);
usr/src/uts/common/inet/sctp/sctp_hash.c
603
mutex_exit(&sctp->sctp_lock);
usr/src/uts/common/inet/sctp/sctp_hash.c
605
sctp->sctp_running = B_TRUE;
usr/src/uts/common/inet/sctp/sctp_hash.c
606
mutex_exit(&sctp->sctp_lock);
usr/src/uts/common/inet/sctp/sctp_hash.c
608
mutex_enter(&sctp->sctp_recvq_lock);
usr/src/uts/common/inet/sctp/sctp_hash.c
609
if (sctp->sctp_recvq != NULL) {
usr/src/uts/common/inet/sctp/sctp_hash.c
610
sctp_add_recvq(sctp, mp, B_TRUE, ira);
usr/src/uts/common/inet/sctp/sctp_hash.c
611
mutex_exit(&sctp->sctp_recvq_lock);
usr/src/uts/common/inet/sctp/sctp_hash.c
612
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
614
mutex_exit(&sctp->sctp_recvq_lock);
usr/src/uts/common/inet/sctp/sctp_hash.c
616
sctp_icmp_error(sctp, mp);
usr/src/uts/common/inet/sctp/sctp_hash.c
618
sctp_input_data(sctp, mp, ira);
usr/src/uts/common/inet/sctp/sctp_hash.c
620
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
623
SCTP_REFRELE(sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
629
sctp_conn_hash_remove(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_hash.c
631
sctp_tf_t *tf = sctp->sctp_conn_tfp;
usr/src/uts/common/inet/sctp/sctp_hash.c
641
(*cl_sctp_disconnect)(sctp->sctp_connp->conn_family,
usr/src/uts/common/inet/sctp/sctp_hash.c
642
(cl_sctp_handle_t)sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
647
if (tf->tf_sctp == sctp) {
usr/src/uts/common/inet/sctp/sctp_hash.c
648
tf->tf_sctp = sctp->sctp_conn_hash_next;
usr/src/uts/common/inet/sctp/sctp_hash.c
649
if (sctp->sctp_conn_hash_next) {
usr/src/uts/common/inet/sctp/sctp_hash.c
650
ASSERT(tf->tf_sctp->sctp_conn_hash_prev == sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
654
ASSERT(sctp->sctp_conn_hash_prev);
usr/src/uts/common/inet/sctp/sctp_hash.c
655
ASSERT(sctp->sctp_conn_hash_prev->sctp_conn_hash_next == sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
656
sctp->sctp_conn_hash_prev->sctp_conn_hash_next =
usr/src/uts/common/inet/sctp/sctp_hash.c
657
sctp->sctp_conn_hash_next;
usr/src/uts/common/inet/sctp/sctp_hash.c
659
if (sctp->sctp_conn_hash_next) {
usr/src/uts/common/inet/sctp/sctp_hash.c
660
ASSERT(sctp->sctp_conn_hash_next->sctp_conn_hash_prev
usr/src/uts/common/inet/sctp/sctp_hash.c
661
== sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
662
sctp->sctp_conn_hash_next->sctp_conn_hash_prev =
usr/src/uts/common/inet/sctp/sctp_hash.c
663
sctp->sctp_conn_hash_prev;
usr/src/uts/common/inet/sctp/sctp_hash.c
666
sctp->sctp_conn_hash_next = NULL;
usr/src/uts/common/inet/sctp/sctp_hash.c
667
sctp->sctp_conn_hash_prev = NULL;
usr/src/uts/common/inet/sctp/sctp_hash.c
668
sctp->sctp_conn_tfp = NULL;
usr/src/uts/common/inet/sctp/sctp_hash.c
673
sctp_conn_hash_insert(sctp_tf_t *tf, sctp_t *sctp, int caller_holds_lock)
usr/src/uts/common/inet/sctp/sctp_hash.c
675
if (sctp->sctp_conn_tfp) {
usr/src/uts/common/inet/sctp/sctp_hash.c
676
sctp_conn_hash_remove(sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
685
sctp->sctp_conn_hash_next = tf->tf_sctp;
usr/src/uts/common/inet/sctp/sctp_hash.c
687
tf->tf_sctp->sctp_conn_hash_prev = sctp;
usr/src/uts/common/inet/sctp/sctp_hash.c
689
sctp->sctp_conn_hash_prev = NULL;
usr/src/uts/common/inet/sctp/sctp_hash.c
690
tf->tf_sctp = sctp;
usr/src/uts/common/inet/sctp/sctp_hash.c
691
sctp->sctp_conn_tfp = tf;
usr/src/uts/common/inet/sctp/sctp_hash.c
698
sctp_listen_hash_remove(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_hash.c
700
sctp_tf_t *tf = sctp->sctp_listen_tfp;
usr/src/uts/common/inet/sctp/sctp_hash.c
701
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_hash.c
714
ssize = sizeof (in6_addr_t) * sctp->sctp_nsaddrs;
usr/src/uts/common/inet/sctp/sctp_hash.c
716
sctp_get_saddr_list(sctp, slist, ssize);
usr/src/uts/common/inet/sctp/sctp_hash.c
718
sctp->sctp_nsaddrs, connp->conn_lport);
usr/src/uts/common/inet/sctp/sctp_hash.c
724
if (tf->tf_sctp == sctp) {
usr/src/uts/common/inet/sctp/sctp_hash.c
725
tf->tf_sctp = sctp->sctp_listen_hash_next;
usr/src/uts/common/inet/sctp/sctp_hash.c
726
if (sctp->sctp_listen_hash_next != NULL) {
usr/src/uts/common/inet/sctp/sctp_hash.c
727
ASSERT(tf->tf_sctp->sctp_listen_hash_prev == sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
731
ASSERT(sctp->sctp_listen_hash_prev);
usr/src/uts/common/inet/sctp/sctp_hash.c
732
ASSERT(sctp->sctp_listen_hash_prev->sctp_listen_hash_next ==
usr/src/uts/common/inet/sctp/sctp_hash.c
733
sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
734
ASSERT(sctp->sctp_listen_hash_next == NULL ||
usr/src/uts/common/inet/sctp/sctp_hash.c
735
sctp->sctp_listen_hash_next->sctp_listen_hash_prev == sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
737
sctp->sctp_listen_hash_prev->sctp_listen_hash_next =
usr/src/uts/common/inet/sctp/sctp_hash.c
738
sctp->sctp_listen_hash_next;
usr/src/uts/common/inet/sctp/sctp_hash.c
740
if (sctp->sctp_listen_hash_next != NULL) {
usr/src/uts/common/inet/sctp/sctp_hash.c
741
sctp_t *next = sctp->sctp_listen_hash_next;
usr/src/uts/common/inet/sctp/sctp_hash.c
743
ASSERT(next->sctp_listen_hash_prev == sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
745
sctp->sctp_listen_hash_prev;
usr/src/uts/common/inet/sctp/sctp_hash.c
748
sctp->sctp_listen_hash_next = NULL;
usr/src/uts/common/inet/sctp/sctp_hash.c
749
sctp->sctp_listen_hash_prev = NULL;
usr/src/uts/common/inet/sctp/sctp_hash.c
750
sctp->sctp_listen_tfp = NULL;
usr/src/uts/common/inet/sctp/sctp_hash.c
755
sctp_listen_hash_insert(sctp_tf_t *tf, sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_hash.c
757
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_hash.c
759
if (sctp->sctp_listen_tfp) {
usr/src/uts/common/inet/sctp/sctp_hash.c
760
sctp_listen_hash_remove(sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
764
sctp->sctp_listen_hash_next = tf->tf_sctp;
usr/src/uts/common/inet/sctp/sctp_hash.c
766
tf->tf_sctp->sctp_listen_hash_prev = sctp;
usr/src/uts/common/inet/sctp/sctp_hash.c
768
sctp->sctp_listen_hash_prev = NULL;
usr/src/uts/common/inet/sctp/sctp_hash.c
769
tf->tf_sctp = sctp;
usr/src/uts/common/inet/sctp/sctp_hash.c
770
sctp->sctp_listen_tfp = tf;
usr/src/uts/common/inet/sctp/sctp_hash.c
780
ssize = sizeof (in6_addr_t) * sctp->sctp_nsaddrs;
usr/src/uts/common/inet/sctp/sctp_hash.c
782
sctp_get_saddr_list(sctp, slist, ssize);
usr/src/uts/common/inet/sctp/sctp_hash.c
784
sctp->sctp_nsaddrs, connp->conn_lport);
usr/src/uts/common/inet/sctp/sctp_hash.c
795
sctp_bind_hash_insert(sctp_tf_t *tbf, sctp_t *sctp, int caller_holds_lock)
usr/src/uts/common/inet/sctp/sctp_hash.c
800
if (sctp->sctp_ptpbhn != NULL) {
usr/src/uts/common/inet/sctp/sctp_hash.c
802
sctp_bind_hash_remove(sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
812
sctpnext->sctp_ptpbhn = &sctp->sctp_bind_hash;
usr/src/uts/common/inet/sctp/sctp_hash.c
814
sctp->sctp_bind_hash = sctpnext;
usr/src/uts/common/inet/sctp/sctp_hash.c
815
sctp->sctp_ptpbhn = sctpp;
usr/src/uts/common/inet/sctp/sctp_hash.c
816
sctpp[0] = sctp;
usr/src/uts/common/inet/sctp/sctp_hash.c
818
sctp->sctp_bind_lockp = &tbf->tf_lock;
usr/src/uts/common/inet/sctp/sctp_hash.c
827
sctp_bind_hash_remove(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_hash.c
832
lockp = sctp->sctp_bind_lockp;
usr/src/uts/common/inet/sctp/sctp_hash.c
834
if (sctp->sctp_ptpbhn == NULL)
usr/src/uts/common/inet/sctp/sctp_hash.c
839
if (sctp->sctp_ptpbhn) {
usr/src/uts/common/inet/sctp/sctp_hash.c
840
sctpnext = sctp->sctp_bind_hash;
usr/src/uts/common/inet/sctp/sctp_hash.c
842
sctpnext->sctp_ptpbhn = sctp->sctp_ptpbhn;
usr/src/uts/common/inet/sctp/sctp_hash.c
843
sctp->sctp_bind_hash = NULL;
usr/src/uts/common/inet/sctp/sctp_hash.c
845
*sctp->sctp_ptpbhn = sctpnext;
usr/src/uts/common/inet/sctp/sctp_hash.c
846
sctp->sctp_ptpbhn = NULL;
usr/src/uts/common/inet/sctp/sctp_hash.c
849
sctp->sctp_bind_lockp = NULL;
usr/src/uts/common/inet/sctp/sctp_hash.c
867
sctp_t *sctp;
usr/src/uts/common/inet/sctp/sctp_hash.c
872
for (sctp = tf->tf_sctp; sctp != NULL;
usr/src/uts/common/inet/sctp/sctp_hash.c
873
sctp = sctp->sctp_conn_hash_next) {
usr/src/uts/common/inet/sctp/sctp_hash.c
874
if (*ports != sctp->sctp_connp->conn_ports ||
usr/src/uts/common/inet/sctp/sctp_hash.c
875
sctp->sctp_state < min_state) {
usr/src/uts/common/inet/sctp/sctp_hash.c
880
for (fp = sctp->sctp_faddrs; fp != NULL; fp = fp->sf_next) {
usr/src/uts/common/inet/sctp/sctp_hash.c
897
if (sctp_compare_saddrs(sctp1, sctp) <= SCTP_ADDR_OVERLAP) {
usr/src/uts/common/inet/sctp/sctp_hash.c
905
if (sctp != NULL) {
usr/src/uts/common/inet/sctp/sctp_hash.c
906
SCTP_REFHOLD(sctp);
usr/src/uts/common/inet/sctp/sctp_hash.c
908
return (sctp);
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
104
BUMP_LOCAL(sctp->sctp_obchunks);
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
106
sctp_set_iplen(sctp, smp, fp->sf_ixa);
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
108
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
118
sctp_send_heartbeat(sctp_t *sctp, sctp_faddr_t *fp)
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
127
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
137
hbmp = sctp_make_mp(sctp, fp, hblen);
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
191
BUMP_LOCAL(sctp->sctp_obchunks);
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
194
sctp_set_iplen(sctp, hbmp, fp->sf_ixa);
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
196
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
203
sctp_validate_peer(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
209
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
220
for (fp = sctp->sctp_faddrs; fp != NULL; fp = fp->sf_next) {
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
227
sctp_send_heartbeat(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
236
(sctp->sctp_rto_initial >> 1);
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
246
if (sctp->sctp_autoclose != 0) {
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
249
expire = sctp->sctp_active + sctp->sctp_autoclose;
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
262
sctp_timer(sctp, sctp->sctp_heartbeat_mp, earliest_expiry);
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
273
sctp_process_heartbeat(sctp_t *sctp, sctp_chunk_hdr_t *cp)
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
282
BUMP_LOCAL(sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
290
(void *)sctp));
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
299
(void *)sctp));
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
316
fp = sctp_lookup_faddr(sctp, &addr);
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
319
(void *)sctp));
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
325
(void *)sctp));
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
330
sctp_faddr_alive(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
332
sctp_update_rtt(sctp, fp, now - sent);
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
42
sctp_return_heartbeat(sctp_t *sctp, sctp_chunk_hdr_t *hbcp, mblk_t *mp)
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
52
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
54
BUMP_LOCAL(sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
65
fp = sctp_lookup_faddr(sctp, &addr);
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
70
(void *)sctp, SCTP_PRINTADDR(addr)));
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
75
(void *)sctp, SCTP_PRINTADDR(addr)));
usr/src/uts/common/inet/sctp/sctp_heartbeat.c
88
smp = sctp_make_mp(sctp, fp, len);
usr/src/uts/common/inet/sctp/sctp_impl.h
1153
extern void sctp_timer_call(sctp_t *sctp, mblk_t *);
usr/src/uts/common/inet/sctp/sctp_impl.h
1158
extern void sctp_update_dce(sctp_t *sctp);
usr/src/uts/common/inet/sctp/sctp_impl.h
1184
#define RUN_SCTP(sctp) \
usr/src/uts/common/inet/sctp/sctp_impl.h
1186
mutex_enter(&(sctp)->sctp_lock); \
usr/src/uts/common/inet/sctp/sctp_impl.h
1187
while ((sctp)->sctp_running) \
usr/src/uts/common/inet/sctp/sctp_impl.h
1188
cv_wait(&(sctp)->sctp_cv, &(sctp)->sctp_lock); \
usr/src/uts/common/inet/sctp/sctp_impl.h
1189
(sctp)->sctp_running = B_TRUE; \
usr/src/uts/common/inet/sctp/sctp_impl.h
1190
mutex_exit(&(sctp)->sctp_lock); \
usr/src/uts/common/inet/sctp/sctp_impl.h
1194
#define WAKE_SCTP(sctp) \
usr/src/uts/common/inet/sctp/sctp_impl.h
1196
mutex_enter(&(sctp)->sctp_lock); \
usr/src/uts/common/inet/sctp/sctp_impl.h
1197
if ((sctp)->sctp_timer_mp != NULL) \
usr/src/uts/common/inet/sctp/sctp_impl.h
1198
sctp_process_timer(sctp); \
usr/src/uts/common/inet/sctp/sctp_impl.h
1199
(sctp)->sctp_running = B_FALSE; \
usr/src/uts/common/inet/sctp/sctp_impl.h
1200
cv_broadcast(&(sctp)->sctp_cv); \
usr/src/uts/common/inet/sctp/sctp_impl.h
1201
mutex_exit(&(sctp)->sctp_lock); \
usr/src/uts/common/inet/sctp/sctp_impl.h
144
#define SCTP_FADDR_TIMER_RESTART(sctp, fp, intvl) \
usr/src/uts/common/inet/sctp/sctp_impl.h
148
sctp_timer((sctp), (fp)->sf_timer_mp, (intvl)); \
usr/src/uts/common/inet/sctp/sctp_impl.h
160
#define SCTP_MAX_RTO(sctp, fp) { \
usr/src/uts/common/inet/sctp/sctp_impl.h
166
(sctp)->sctp_maxrto = \
usr/src/uts/common/inet/sctp/sctp_impl.h
167
MAX((sctp)->sctp_maxrto, (fp)->sf_rto); \
usr/src/uts/common/inet/sctp/sctp_impl.h
169
sctp, struct sctp_faddr_s, fp); \
usr/src/uts/common/inet/sctp/sctp_impl.h
172
#define SCTP_CALC_RXT(sctp, fp, max) \
usr/src/uts/common/inet/sctp/sctp_impl.h
176
SCTP_MAX_RTO(sctp, fp); \
usr/src/uts/common/inet/sctp/sctp_impl.h
186
#define SCTP_REFHOLD(sctp) { \
usr/src/uts/common/inet/sctp/sctp_impl.h
187
mutex_enter(&(sctp)->sctp_reflock); \
usr/src/uts/common/inet/sctp/sctp_impl.h
188
(sctp)->sctp_refcnt++; \
usr/src/uts/common/inet/sctp/sctp_impl.h
189
DTRACE_PROBE1(sctp_refhold, sctp_t, sctp); \
usr/src/uts/common/inet/sctp/sctp_impl.h
190
ASSERT((sctp)->sctp_refcnt != 0); \
usr/src/uts/common/inet/sctp/sctp_impl.h
191
mutex_exit(&(sctp)->sctp_reflock); \
usr/src/uts/common/inet/sctp/sctp_impl.h
194
#define SCTP_REFRELE(sctp) { \
usr/src/uts/common/inet/sctp/sctp_impl.h
195
mutex_enter(&(sctp)->sctp_reflock); \
usr/src/uts/common/inet/sctp/sctp_impl.h
196
ASSERT((sctp)->sctp_refcnt != 0); \
usr/src/uts/common/inet/sctp/sctp_impl.h
197
if (--(sctp)->sctp_refcnt == 0) { \
usr/src/uts/common/inet/sctp/sctp_impl.h
198
DTRACE_PROBE1(sctp_refrele, sctp_t, sctp); \
usr/src/uts/common/inet/sctp/sctp_impl.h
199
mutex_exit(&(sctp)->sctp_reflock); \
usr/src/uts/common/inet/sctp/sctp_impl.h
200
CONN_DEC_REF((sctp)->sctp_connp); \
usr/src/uts/common/inet/sctp/sctp_impl.h
202
DTRACE_PROBE1(sctp_refrele, sctp_t, sctp); \
usr/src/uts/common/inet/sctp/sctp_impl.h
203
mutex_exit(&(sctp)->sctp_reflock); \
usr/src/uts/common/inet/sctp/sctp_impl.h
248
#define SCTP_CHUNK_SENT(sctp, mp, sdc, fp, chunkdata, meta) { \
usr/src/uts/common/inet/sctp/sctp_impl.h
253
(sdc)->sdh_tsn = htonl((sctp)->sctp_ltsn++); \
usr/src/uts/common/inet/sctp/sctp_impl.h
257
BUMP_LOCAL((sctp)->sctp_oudchunks); \
usr/src/uts/common/inet/sctp/sctp_impl.h
259
BUMP_LOCAL((sctp)->sctp_odchunks); \
usr/src/uts/common/inet/sctp/sctp_impl.h
262
(sctp)->sctp_ostrcntrs[mhdr->smh_sid]++); \
usr/src/uts/common/inet/sctp/sctp_impl.h
266
DTRACE_PROBE3(sctp__chunk__sent1, sctp_t *, sctp, \
usr/src/uts/common/inet/sctp/sctp_impl.h
268
(sctp)->sctp_unacked += (chunkdata); \
usr/src/uts/common/inet/sctp/sctp_impl.h
269
(sctp)->sctp_unsent -= (chunkdata); \
usr/src/uts/common/inet/sctp/sctp_impl.h
270
(sctp)->sctp_frwnd -= (chunkdata); \
usr/src/uts/common/inet/sctp/sctp_impl.h
273
(sctp)->sctp_unacked += (chunkdata); \
usr/src/uts/common/inet/sctp/sctp_impl.h
280
DTRACE_PROBE3(sctp__chunk__sent2, sctp_t *, sctp, \
usr/src/uts/common/inet/sctp/sctp_impl.h
285
BUMP_LOCAL(sctp->sctp_rxtchunks); \
usr/src/uts/common/inet/sctp/sctp_impl.h
286
BUMP_LOCAL((sctp)->sctp_T3expire); \
usr/src/uts/common/inet/sctp/sctp_impl.h
302
#define SCTP_CHUNK_REXMIT(sctp, mp) { \
usr/src/uts/common/inet/sctp/sctp_impl.h
303
DTRACE_PROBE2(sctp__chunk__rexmit, sctp_t *, sctp, mblk_t *, \
usr/src/uts/common/inet/sctp/sctp_impl.h
313
#define SCTP_CHUNK_CLEAR_ACKED(sctp, mp) { \
usr/src/uts/common/inet/sctp/sctp_impl.h
314
DTRACE_PROBE2(sctp__chunk__clracked, sctp_t *, sctp, mblk_t *, \
usr/src/uts/common/inet/sctp/sctp_impl.h
344
#define SCTP_MSG_TO_BE_ABANDONED(meta, mhdr, sctp) \
usr/src/uts/common/inet/sctp/sctp_impl.h
346
((sctp)->sctp_prsctp_aware && ((mhdr)->smh_flags & MSG_PR_SCTP))) && \
usr/src/uts/common/inet/sctp/sctp_impl.h
404
#define SCTP_DECR_LISTEN_CNT(sctp) \
usr/src/uts/common/inet/sctp/sctp_impl.h
406
ASSERT((sctp)->sctp_listen_cnt->slc_cnt > 0); \
usr/src/uts/common/inet/sctp/sctp_impl.h
407
if (atomic_dec_32_nv(&(sctp)->sctp_listen_cnt->slc_cnt) == 0) \
usr/src/uts/common/inet/sctp/sctp_impl.h
408
kmem_free((sctp)->sctp_listen_cnt, sizeof (sctp_listen_cnt_t));\
usr/src/uts/common/inet/sctp/sctp_impl.h
409
(sctp)->sctp_listen_cnt = NULL; \
usr/src/uts/common/inet/sctp/sctp_impl.h
421
#define SCTP_ASSOC_EST(sctps, sctp) \
usr/src/uts/common/inet/sctp/sctp_impl.h
423
(sctp)->sctp_state = SCTPS_ESTABLISHED; \
usr/src/uts/common/inet/sctp/sctp_impl.h
424
(sctp)->sctp_assoc_start_time = (uint32_t)LBOLT_FASTPATH64; \
usr/src/uts/common/inet/sctp/sctp_impl.h
456
#define SCTP_IS_DETACHED(sctp) ((sctp)->sctp_detached)
usr/src/uts/common/inet/sctp/sctp_impl.h
477
struct sctp_s *sctp;
usr/src/uts/common/inet/sctp/sctp_impl.h
961
#define SCTP_TXQ_LEN(sctp) ((sctp)->sctp_unsent + (sctp)->sctp_unacked)
usr/src/uts/common/inet/sctp/sctp_impl.h
962
#define SCTP_TXQ_UPDATE(sctp) \
usr/src/uts/common/inet/sctp/sctp_impl.h
963
if ((sctp)->sctp_txq_full && SCTP_TXQ_LEN(sctp) <= \
usr/src/uts/common/inet/sctp/sctp_impl.h
964
(sctp)->sctp_connp->conn_sndlowat) { \
usr/src/uts/common/inet/sctp/sctp_impl.h
965
(sctp)->sctp_txq_full = 0; \
usr/src/uts/common/inet/sctp/sctp_impl.h
966
(sctp)->sctp_ulp_txq_full((sctp)->sctp_ulpd, \
usr/src/uts/common/inet/sctp/sctp_init.c
108
sctp_options_param(const sctp_t *sctp, void *p, int option)
usr/src/uts/common/inet/sctp/sctp_init.c
126
sctp_adaptation_code_param(sctp_t *sctp, uchar_t *p)
usr/src/uts/common/inet/sctp/sctp_init.c
130
if (!sctp->sctp_send_adaptation) {
usr/src/uts/common/inet/sctp/sctp_init.c
136
*(uint32_t *)(sph + 1) = htonl(sctp->sctp_tx_adaptation_code);
usr/src/uts/common/inet/sctp/sctp_init.c
142
sctp_init_mp(sctp_t *sctp, sctp_faddr_t *fp)
usr/src/uts/common/inet/sctp/sctp_init.c
151
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_init.c
152
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_init.c
157
if (sctp->sctp_connp->conn_ipv6_v6only)
usr/src/uts/common/inet/sctp/sctp_init.c
163
if (sctp->sctp_send_adaptation) {
usr/src/uts/common/inet/sctp/sctp_init.c
166
initlen += sctp_supaddr_param_len(sctp);
usr/src/uts/common/inet/sctp/sctp_init.c
167
initlen += sctp_addr_params(sctp, supp_af, NULL, B_TRUE);
usr/src/uts/common/inet/sctp/sctp_init.c
168
if (sctp->sctp_prsctp_aware && sctps->sctps_prsctp_enabled)
usr/src/uts/common/inet/sctp/sctp_init.c
169
initlen += sctp_options_param_len(sctp, SCTP_PRSCTP_OPTION);
usr/src/uts/common/inet/sctp/sctp_init.c
175
sctp->sctp_sctph->sh_verf = 0;
usr/src/uts/common/inet/sctp/sctp_init.c
176
sctp->sctp_sctph6->sh_verf = 0;
usr/src/uts/common/inet/sctp/sctp_init.c
178
mp = sctp_make_mp(sctp, fp, initlen);
usr/src/uts/common/inet/sctp/sctp_init.c
184
if (sctp->sctp_nsaddrs == 0) {
usr/src/uts/common/inet/sctp/sctp_init.c
200
icp->sic_inittag = sctp->sctp_lvtag;
usr/src/uts/common/inet/sctp/sctp_init.c
201
U32_TO_ABE32(sctp->sctp_rwnd, &(icp->sic_a_rwnd));
usr/src/uts/common/inet/sctp/sctp_init.c
202
U16_TO_ABE16(sctp->sctp_num_ostr, &(icp->sic_outstr));
usr/src/uts/common/inet/sctp/sctp_init.c
203
U16_TO_ABE16(sctp->sctp_num_istr, &(icp->sic_instr));
usr/src/uts/common/inet/sctp/sctp_init.c
204
U32_TO_ABE32(sctp->sctp_ltsn, &(icp->sic_inittsn));
usr/src/uts/common/inet/sctp/sctp_init.c
209
p += sctp_adaptation_code_param(sctp, p);
usr/src/uts/common/inet/sctp/sctp_init.c
212
p += sctp_supaddr_param(sctp, p);
usr/src/uts/common/inet/sctp/sctp_init.c
215
p += sctp_addr_params(sctp, supp_af, p, B_FALSE);
usr/src/uts/common/inet/sctp/sctp_init.c
218
if (sctp->sctp_prsctp_aware && sctps->sctps_prsctp_enabled)
usr/src/uts/common/inet/sctp/sctp_init.c
219
p += sctp_options_param(sctp, p, SCTP_PRSCTP_OPTION);
usr/src/uts/common/inet/sctp/sctp_init.c
221
BUMP_LOCAL(sctp->sctp_obchunks);
usr/src/uts/common/inet/sctp/sctp_init.c
223
sctp_set_iplen(sctp, mp, fp->sf_ixa);
usr/src/uts/common/inet/sctp/sctp_init.c
242
sctp_addr_params(sctp_t *sctp, int af, uchar_t *p, boolean_t modify)
usr/src/uts/common/inet/sctp/sctp_init.c
246
ASSERT(sctp->sctp_nsaddrs > 0);
usr/src/uts/common/inet/sctp/sctp_init.c
252
if ((!modify && sctp->sctp_nsaddrs == 1) || sctp->sctp_loopback ||
usr/src/uts/common/inet/sctp/sctp_init.c
253
sctp->sctp_linklocal) {
usr/src/uts/common/inet/sctp/sctp_init.c
257
param_len = sctp_saddr_info(sctp, af, p, modify);
usr/src/uts/common/inet/sctp/sctp_init.c
258
return ((sctp->sctp_nsaddrs == 1) ? 0 : param_len);
usr/src/uts/common/inet/sctp/sctp_init.c
47
sctp_supaddr_param_len(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_init.c
53
sctp_supaddr_param(sctp_t *sctp, uchar_t *p)
usr/src/uts/common/inet/sctp/sctp_init.c
57
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_init.c
70
if (!sctp->sctp_connp->conn_ipv6_v6only) {
usr/src/uts/common/inet/sctp/sctp_init.c
91
sctp_options_param_len(const sctp_t *sctp, int option)
usr/src/uts/common/inet/sctp/sctp_input.c
1187
if (ntohl((*dc)->sdh_tsn) <= sctp->sctp_ftsn &&
usr/src/uts/common/inet/sctp/sctp_input.c
1188
srp->sr_msglen >= sctp->sctp_pd_point &&
usr/src/uts/common/inet/sctp/sctp_input.c
1190
dmp = sctp_try_partial_delivery(sctp, reassq_curr,
usr/src/uts/common/inet/sctp/sctp_input.c
1244
BUMP_LOCAL(sctp->sctp_reassmsgs);
usr/src/uts/common/inet/sctp/sctp_input.c
1285
sctp_data_chunk(sctp_t *sctp, sctp_chunk_hdr_t *ch, mblk_t *mp, mblk_t **dups,
usr/src/uts/common/inet/sctp/sctp_input.c
1300
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_input.c
1304
#define SCTP_ACK_IT(sctp, tsn) \
usr/src/uts/common/inet/sctp/sctp_input.c
1305
if (tsn == sctp->sctp_ftsn) { \
usr/src/uts/common/inet/sctp/sctp_input.c
1307
(sctp)->sctp_ftsn++; \
usr/src/uts/common/inet/sctp/sctp_input.c
1308
if ((sctp)->sctp_sack_gaps > 0) \
usr/src/uts/common/inet/sctp/sctp_input.c
1309
(sctp)->sctp_force_sack = 1; \
usr/src/uts/common/inet/sctp/sctp_input.c
1310
} else if (SEQ_GT(tsn, sctp->sctp_ftsn)) { \
usr/src/uts/common/inet/sctp/sctp_input.c
1312
BUMP_LOCAL(sctp->sctp_outseqtsns); \
usr/src/uts/common/inet/sctp/sctp_input.c
1314
sctp_ack_add(&sctp->sctp_sack_info, tsn, \
usr/src/uts/common/inet/sctp/sctp_input.c
1315
&sctp->sctp_sack_gaps); \
usr/src/uts/common/inet/sctp/sctp_input.c
1316
sctp->sctp_force_sack = 1; \
usr/src/uts/common/inet/sctp/sctp_input.c
1327
if (SEQ_LT(tsn, sctp->sctp_ftsn)) {
usr/src/uts/common/inet/sctp/sctp_input.c
1329
BUMP_LOCAL(sctp->sctp_idupchunks);
usr/src/uts/common/inet/sctp/sctp_input.c
1330
sctp->sctp_force_sack = 1;
usr/src/uts/common/inet/sctp/sctp_input.c
1336
if (sctp->sctp_sack_info != NULL) {
usr/src/uts/common/inet/sctp/sctp_input.c
1339
for (sp = sctp->sctp_sack_info; sp; sp = sp->next) {
usr/src/uts/common/inet/sctp/sctp_input.c
1344
BUMP_LOCAL(sctp->sctp_idupchunks);
usr/src/uts/common/inet/sctp/sctp_input.c
1345
sctp->sctp_force_sack = 1;
usr/src/uts/common/inet/sctp/sctp_input.c
1353
if (SCTP_IS_DETACHED(sctp)) {
usr/src/uts/common/inet/sctp/sctp_input.c
1366
if ((sctp->sctp_rwnd - sctp->sctp_rxqueued < dlen) &&
usr/src/uts/common/inet/sctp/sctp_input.c
1367
(tsn != sctp->sctp_ftsn || sctp->sctp_rwnd == 0)) {
usr/src/uts/common/inet/sctp/sctp_input.c
1369
sctp->sctp_force_sack = 1;
usr/src/uts/common/inet/sctp/sctp_input.c
1371
"dlen %d ssn %d tsn %x\n", sctp->sctp_rwnd,
usr/src/uts/common/inet/sctp/sctp_input.c
1372
sctp->sctp_rxqueued, dlen, ntohs(dc->sdh_ssn),
usr/src/uts/common/inet/sctp/sctp_input.c
1380
if (sid >= sctp->sctp_num_istr) {
usr/src/uts/common/inet/sctp/sctp_input.c
1389
sctp_add_err(sctp, SCTP_ERR_BAD_SID, (void *)&inval_parm,
usr/src/uts/common/inet/sctp/sctp_input.c
1391
SCTP_ACK_IT(sctp, tsn);
usr/src/uts/common/inet/sctp/sctp_input.c
1397
ASSERT(sctp->sctp_instr != NULL);
usr/src/uts/common/inet/sctp/sctp_input.c
1400
instr = &sctp->sctp_instr[sid];
usr/src/uts/common/inet/sctp/sctp_input.c
1402
if (instr->sctp == NULL)
usr/src/uts/common/inet/sctp/sctp_input.c
1403
instr->sctp = sctp;
usr/src/uts/common/inet/sctp/sctp_input.c
1423
sctp->sctp_rxqueued += dlen;
usr/src/uts/common/inet/sctp/sctp_input.c
1425
oftsn = sctp->sctp_ftsn;
usr/src/uts/common/inet/sctp/sctp_input.c
1434
dmp = sctp_uodata_frag(sctp, dmp, &dc);
usr/src/uts/common/inet/sctp/sctp_input.c
1438
&sctp->sctp_instr[sid]);
usr/src/uts/common/inet/sctp/sctp_input.c
1449
dmp = sctp_data_frag(sctp, dmp, &dc, &error, instr,
usr/src/uts/common/inet/sctp/sctp_input.c
1454
sctp->sctp_rxqueued -= dlen;
usr/src/uts/common/inet/sctp/sctp_input.c
1468
SCTP_ACK_IT(sctp, tsn);
usr/src/uts/common/inet/sctp/sctp_input.c
1469
DTRACE_PROBE4(sctp_data_frag_queued, sctp_t *, sctp,
usr/src/uts/common/inet/sctp/sctp_input.c
1526
(sctp->sctp_istr_nmsgs)++;
usr/src/uts/common/inet/sctp/sctp_input.c
1527
SCTP_ACK_IT(sctp, tsn);
usr/src/uts/common/inet/sctp/sctp_input.c
1528
DTRACE_PROBE4(sctp_pqueue_completemsg, sctp_t *, sctp,
usr/src/uts/common/inet/sctp/sctp_input.c
1540
ASSERT(sctp->sctp_rxqueued >= dlen);
usr/src/uts/common/inet/sctp/sctp_input.c
1543
sctp->sctp_rxqueued -= dlen;
usr/src/uts/common/inet/sctp/sctp_input.c
1548
if (sctp_input_add_ancillary(sctp, &dmp, dc, fp,
usr/src/uts/common/inet/sctp/sctp_input.c
1558
if (sctp->sctp_flowctrld) {
usr/src/uts/common/inet/sctp/sctp_input.c
1559
sctp->sctp_rwnd -= dlen;
usr/src/uts/common/inet/sctp/sctp_input.c
1560
if (sctp->sctp_rwnd < 0)
usr/src/uts/common/inet/sctp/sctp_input.c
1561
sctp->sctp_rwnd = 0;
usr/src/uts/common/inet/sctp/sctp_input.c
1563
if (sctp->sctp_ulp_recv(sctp->sctp_ulpd, dmp,
usr/src/uts/common/inet/sctp/sctp_input.c
1565
sctp->sctp_flowctrld = B_TRUE;
usr/src/uts/common/inet/sctp/sctp_input.c
1567
SCTP_ACK_IT(sctp, tsn);
usr/src/uts/common/inet/sctp/sctp_input.c
1576
SCTP_ACK_IT(sctp, tsn);
usr/src/uts/common/inet/sctp/sctp_input.c
1586
BUMP_LOCAL(sctp->sctp_iudchunks);
usr/src/uts/common/inet/sctp/sctp_input.c
1589
BUMP_LOCAL(sctp->sctp_idchunks);
usr/src/uts/common/inet/sctp/sctp_input.c
1599
DTRACE_PROBE4(sctp_partial_delivery, sctp_t *, sctp,
usr/src/uts/common/inet/sctp/sctp_input.c
1607
sctp_t *, sctp, int, sid, int, tsn,
usr/src/uts/common/inet/sctp/sctp_input.c
1614
(void *)sctp, sid,
usr/src/uts/common/inet/sctp/sctp_input.c
1615
tsn, sctp->sctp_ftsn, ssn,
usr/src/uts/common/inet/sctp/sctp_input.c
1625
sctp_t *, sctp, int, sid, int, tsn,
usr/src/uts/common/inet/sctp/sctp_input.c
1629
(void *)sctp, sid, ssn, instr->nextseq);
usr/src/uts/common/inet/sctp/sctp_input.c
1634
DTRACE_PROBE4(sctp_deliver_completemsg, sctp_t *, sctp, int, sid,
usr/src/uts/common/inet/sctp/sctp_input.c
1652
DTRACE_PROBE4(sctp_deliver_pqueuedmsg, sctp_t *, sctp,
usr/src/uts/common/inet/sctp/sctp_input.c
1660
(sctp->sctp_istr_nmsgs)--;
usr/src/uts/common/inet/sctp/sctp_input.c
1680
ASSERT(sctp->sctp_rxqueued >= dlen);
usr/src/uts/common/inet/sctp/sctp_input.c
1682
sctp->sctp_rxqueued -= dlen;
usr/src/uts/common/inet/sctp/sctp_input.c
1685
if (sctp_input_add_ancillary(sctp, &dmp, dc, fp,
usr/src/uts/common/inet/sctp/sctp_input.c
1696
if (sctp->sctp_flowctrld) {
usr/src/uts/common/inet/sctp/sctp_input.c
1697
sctp->sctp_rwnd -= dlen;
usr/src/uts/common/inet/sctp/sctp_input.c
1698
if (sctp->sctp_rwnd < 0)
usr/src/uts/common/inet/sctp/sctp_input.c
1699
sctp->sctp_rwnd = 0;
usr/src/uts/common/inet/sctp/sctp_input.c
1701
if (sctp->sctp_ulp_recv(sctp->sctp_ulpd, dmp,
usr/src/uts/common/inet/sctp/sctp_input.c
1703
sctp->sctp_flowctrld = B_TRUE;
usr/src/uts/common/inet/sctp/sctp_input.c
1705
SCTP_ACK_IT(sctp, tsn);
usr/src/uts/common/inet/sctp/sctp_input.c
1714
SCTP_ACK_IT(sctp, tsn);
usr/src/uts/common/inet/sctp/sctp_input.c
1725
if (sctp->sctp_sack_info != NULL &&
usr/src/uts/common/inet/sctp/sctp_input.c
1726
sctp->sctp_ftsn == sctp->sctp_sack_info->begin) {
usr/src/uts/common/inet/sctp/sctp_input.c
1727
sctp->sctp_ftsn = sctp->sctp_sack_info->end + 1;
usr/src/uts/common/inet/sctp/sctp_input.c
1733
if (oftsn != sctp->sctp_ftsn && sctp->sctp_sack_info != NULL) {
usr/src/uts/common/inet/sctp/sctp_input.c
1734
sctp_ack_rem(&sctp->sctp_sack_info, sctp->sctp_ftsn - 1,
usr/src/uts/common/inet/sctp/sctp_input.c
1735
&sctp->sctp_sack_gaps);
usr/src/uts/common/inet/sctp/sctp_input.c
1737
sctp->sctp_ftsn - 1, sctp->sctp_sack_gaps));
usr/src/uts/common/inet/sctp/sctp_input.c
1741
if (sctp->sctp_sack_info != NULL) {
usr/src/uts/common/inet/sctp/sctp_input.c
1742
ASSERT(sctp->sctp_ftsn != sctp->sctp_sack_info->begin);
usr/src/uts/common/inet/sctp/sctp_input.c
1750
sctp_fill_sack(sctp_t *sctp, unsigned char *dst, int sacklen)
usr/src/uts/common/inet/sctp/sctp_input.c
1755
uint16_t num_gaps = sctp->sctp_sack_gaps;
usr/src/uts/common/inet/sctp/sctp_input.c
1765
sctp->sctp_lastacked = sctp->sctp_ftsn - 1;
usr/src/uts/common/inet/sctp/sctp_input.c
1768
sc->ssc_cumtsn = htonl(sctp->sctp_lastacked);
usr/src/uts/common/inet/sctp/sctp_input.c
1769
if (sctp->sctp_rxqueued < sctp->sctp_rwnd) {
usr/src/uts/common/inet/sctp/sctp_input.c
1770
sc->ssc_a_rwnd = htonl(sctp->sctp_rwnd - sctp->sctp_rxqueued);
usr/src/uts/common/inet/sctp/sctp_input.c
1775
sctp->sctp_arwnd = sc->ssc_a_rwnd;
usr/src/uts/common/inet/sctp/sctp_input.c
1781
for (sp = sctp->sctp_sack_info; sp; sp = sp->next) {
usr/src/uts/common/inet/sctp/sctp_input.c
1785
if (sp->begin > sctp->sctp_lastacked) {
usr/src/uts/common/inet/sctp/sctp_input.c
1786
offset = (uint16_t)(sp->begin - sctp->sctp_lastacked);
usr/src/uts/common/inet/sctp/sctp_input.c
1789
offset = (uint16_t)(UINT32_MAX - sctp->sctp_lastacked +
usr/src/uts/common/inet/sctp/sctp_input.c
1811
if (sctp->sctp_ack_timer_running) {
usr/src/uts/common/inet/sctp/sctp_input.c
1812
sctp_timer_stop(sctp->sctp_ack_mp);
usr/src/uts/common/inet/sctp/sctp_input.c
1813
sctp->sctp_ack_timer_running = B_FALSE;
usr/src/uts/common/inet/sctp/sctp_input.c
1816
BUMP_LOCAL(sctp->sctp_obchunks);
usr/src/uts/common/inet/sctp/sctp_input.c
1817
BUMP_LOCAL(sctp->sctp_osacks);
usr/src/uts/common/inet/sctp/sctp_input.c
1821
sctp_make_sack(sctp_t *sctp, sctp_faddr_t *sendto, mblk_t *dups)
usr/src/uts/common/inet/sctp/sctp_input.c
1828
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_input.c
1834
if (sctp->sctp_force_sack) {
usr/src/uts/common/inet/sctp/sctp_input.c
1835
sctp->sctp_force_sack = 0;
usr/src/uts/common/inet/sctp/sctp_input.c
1840
if (sctp->sctp_state == SCTPS_ESTABLISHED) {
usr/src/uts/common/inet/sctp/sctp_input.c
1841
if (sctp->sctp_sack_toggle < acks_max) {
usr/src/uts/common/inet/sctp/sctp_input.c
1844
(void *)sctp));
usr/src/uts/common/inet/sctp/sctp_input.c
1846
} else if (sctp->sctp_sack_toggle >= acks_max) {
usr/src/uts/common/inet/sctp/sctp_input.c
1847
sctp->sctp_sack_toggle = 0;
usr/src/uts/common/inet/sctp/sctp_input.c
1851
if (sctp->sctp_ftsn == sctp->sctp_lastacked + 1) {
usr/src/uts/common/inet/sctp/sctp_input.c
1853
(void *)sctp));
usr/src/uts/common/inet/sctp/sctp_input.c
1858
dprint(2, ("sctp_make_sack: acking %x\n", sctp->sctp_ftsn - 1));
usr/src/uts/common/inet/sctp/sctp_input.c
1865
(sizeof (sctp_sack_frag_t) * sctp->sctp_sack_gaps);
usr/src/uts/common/inet/sctp/sctp_input.c
1872
if (sctp->sctp_err_chunks != NULL) {
usr/src/uts/common/inet/sctp/sctp_input.c
1873
fp = SCTP_CHUNK_DEST(sctp->sctp_err_chunks);
usr/src/uts/common/inet/sctp/sctp_input.c
1874
if (sctp->sctp_err_len + slen + dups_len > fp->sf_pmss) {
usr/src/uts/common/inet/sctp/sctp_input.c
1875
if ((smp = sctp_make_mp(sctp, fp, 0)) == NULL) {
usr/src/uts/common/inet/sctp/sctp_input.c
1878
freemsg(sctp->sctp_err_chunks);
usr/src/uts/common/inet/sctp/sctp_input.c
1879
sctp->sctp_err_chunks = NULL;
usr/src/uts/common/inet/sctp/sctp_input.c
1880
sctp->sctp_err_len = 0;
usr/src/uts/common/inet/sctp/sctp_input.c
1883
smp->b_cont = sctp->sctp_err_chunks;
usr/src/uts/common/inet/sctp/sctp_input.c
1884
sctp_set_iplen(sctp, smp, fp->sf_ixa);
usr/src/uts/common/inet/sctp/sctp_input.c
1886
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_input.c
1887
sctp->sctp_err_chunks = NULL;
usr/src/uts/common/inet/sctp/sctp_input.c
1888
sctp->sctp_err_len = 0;
usr/src/uts/common/inet/sctp/sctp_input.c
1891
smp = sctp_make_mp(sctp, sendto, slen);
usr/src/uts/common/inet/sctp/sctp_input.c
1898
sctp_fill_sack(sctp, smp->b_wptr, slen);
usr/src/uts/common/inet/sctp/sctp_input.c
1907
if (sctp->sctp_err_chunks != NULL) {
usr/src/uts/common/inet/sctp/sctp_input.c
1908
linkb(smp, sctp->sctp_err_chunks);
usr/src/uts/common/inet/sctp/sctp_input.c
1909
sctp->sctp_err_chunks = NULL;
usr/src/uts/common/inet/sctp/sctp_input.c
1910
sctp->sctp_err_len = 0;
usr/src/uts/common/inet/sctp/sctp_input.c
1920
sctp_sack(sctp_t *sctp, mblk_t *dups)
usr/src/uts/common/inet/sctp/sctp_input.c
1923
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_input.c
1926
if (sctp->sctp_state == SCTPS_SHUTDOWN_SENT) {
usr/src/uts/common/inet/sctp/sctp_input.c
1927
sctp_send_shutdown(sctp, 0);
usr/src/uts/common/inet/sctp/sctp_input.c
1930
ASSERT(sctp->sctp_lastdata != NULL);
usr/src/uts/common/inet/sctp/sctp_input.c
1932
if ((smp = sctp_make_sack(sctp, sctp->sctp_lastdata, dups)) == NULL) {
usr/src/uts/common/inet/sctp/sctp_input.c
1939
(void *)sctp->sctp_lastdata,
usr/src/uts/common/inet/sctp/sctp_input.c
1940
SCTP_PRINTADDR(sctp->sctp_lastdata->sf_faddr)));
usr/src/uts/common/inet/sctp/sctp_input.c
1942
sctp->sctp_active = LBOLT_FASTPATH64;
usr/src/uts/common/inet/sctp/sctp_input.c
1946
sctp_set_iplen(sctp, smp, sctp->sctp_lastdata->sf_ixa);
usr/src/uts/common/inet/sctp/sctp_input.c
1947
(void) conn_ip_output(smp, sctp->sctp_lastdata->sf_ixa);
usr/src/uts/common/inet/sctp/sctp_input.c
1948
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_input.c
1962
sctp_check_abandoned_msg(sctp_t *sctp, mblk_t *meta)
usr/src/uts/common/inet/sctp/sctp_input.c
1969
uint32_t adv_pap = sctp->sctp_adv_pap;
usr/src/uts/common/inet/sctp/sctp_input.c
1970
sctp_faddr_t *fp = sctp->sctp_current;
usr/src/uts/common/inet/sctp/sctp_input.c
1971
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_input.c
1974
if (SEQ_GEQ(sctp->sctp_lastack_rxd, ntohl(dh->sdh_tsn))) {
usr/src/uts/common/inet/sctp/sctp_input.c
1983
sctp->sctp_adv_pap = ntohl(dh->sdh_tsn);
usr/src/uts/common/inet/sctp/sctp_input.c
1986
sctp->sctp_adv_pap = adv_pap;
usr/src/uts/common/inet/sctp/sctp_input.c
1989
nmp = sctp_make_ftsn_chunk(sctp, fp, sets, nsets, seglen);
usr/src/uts/common/inet/sctp/sctp_input.c
1992
sctp->sctp_adv_pap = adv_pap;
usr/src/uts/common/inet/sctp/sctp_input.c
1995
head = sctp_add_proto_hdr(sctp, fp, nmp, 0, NULL);
usr/src/uts/common/inet/sctp/sctp_input.c
1997
sctp->sctp_adv_pap = adv_pap;
usr/src/uts/common/inet/sctp/sctp_input.c
2003
sctp_set_iplen(sctp, head, fp->sf_ixa);
usr/src/uts/common/inet/sctp/sctp_input.c
2005
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_input.c
2007
SCTP_FADDR_TIMER_RESTART(sctp, fp, fp->sf_rto);
usr/src/uts/common/inet/sctp/sctp_input.c
2017
ASSERT(sctp->sctp_unsent >= unsent);
usr/src/uts/common/inet/sctp/sctp_input.c
2018
sctp->sctp_unsent -= unsent;
usr/src/uts/common/inet/sctp/sctp_input.c
2023
if (!SCTP_IS_DETACHED(sctp))
usr/src/uts/common/inet/sctp/sctp_input.c
2024
SCTP_TXQ_UPDATE(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
2031
sctp_cumack(sctp_t *sctp, uint32_t tsn, mblk_t **first_unacked)
usr/src/uts/common/inet/sctp/sctp_input.c
2040
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_input.c
2042
ump = sctp->sctp_xmit_head;
usr/src/uts/common/inet/sctp/sctp_input.c
2062
if (sctp->sctp_prsctp_aware &&
usr/src/uts/common/inet/sctp/sctp_input.c
2066
sctp))) {
usr/src/uts/common/inet/sctp/sctp_input.c
2067
(void) sctp_check_abandoned_msg(sctp,
usr/src/uts/common/inet/sctp/sctp_input.c
2074
if (SEQ_GEQ(sctp->sctp_lastack_rxd, xtsn))
usr/src/uts/common/inet/sctp/sctp_input.c
2080
if (sctp->sctp_out_time != 0 &&
usr/src/uts/common/inet/sctp/sctp_input.c
2081
xtsn == sctp->sctp_rtt_tsn) {
usr/src/uts/common/inet/sctp/sctp_input.c
2083
sctp_update_rtt(sctp, fp,
usr/src/uts/common/inet/sctp/sctp_input.c
2085
sctp->sctp_out_time);
usr/src/uts/common/inet/sctp/sctp_input.c
2086
sctp->sctp_out_time = 0;
usr/src/uts/common/inet/sctp/sctp_input.c
2096
ASSERT(sctp->sctp_unacked >=
usr/src/uts/common/inet/sctp/sctp_input.c
2098
sctp->sctp_unacked -=
usr/src/uts/common/inet/sctp/sctp_input.c
2105
SCTP_FADDR_TIMER_RESTART(sctp, fp,
usr/src/uts/common/inet/sctp/sctp_input.c
2115
if (ump == sctp->sctp_xmit_tail)
usr/src/uts/common/inet/sctp/sctp_input.c
2116
sctp->sctp_xmit_tail = nump;
usr/src/uts/common/inet/sctp/sctp_input.c
2118
BUMP_LOCAL(sctp->sctp_prsctpdrop);
usr/src/uts/common/inet/sctp/sctp_input.c
2120
sctp_sendfail_event(sctp, ump, 0, B_TRUE);
usr/src/uts/common/inet/sctp/sctp_input.c
2124
sctp->sctp_xmit_head = ump = nump;
usr/src/uts/common/inet/sctp/sctp_input.c
2130
if (SEQ_GT(sctp->sctp_lastack_rxd, sctp->sctp_recovery_tsn)) {
usr/src/uts/common/inet/sctp/sctp_input.c
2131
sctp->sctp_recovery_tsn = sctp->sctp_lastack_rxd;
usr/src/uts/common/inet/sctp/sctp_input.c
2138
if (!SCTP_IS_DETACHED(sctp))
usr/src/uts/common/inet/sctp/sctp_input.c
2139
SCTP_TXQ_UPDATE(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
2142
if (sctp->sctp_state == SCTPS_SHUTDOWN_PENDING) {
usr/src/uts/common/inet/sctp/sctp_input.c
2143
sctp_send_shutdown(sctp, 0);
usr/src/uts/common/inet/sctp/sctp_input.c
2145
sctp->sctp_xmit_unacked = mp;
usr/src/uts/common/inet/sctp/sctp_input.c
2150
sctp->sctp_lastack_rxd = tsn;
usr/src/uts/common/inet/sctp/sctp_input.c
2151
if (SEQ_LT(sctp->sctp_adv_pap, sctp->sctp_lastack_rxd))
usr/src/uts/common/inet/sctp/sctp_input.c
2152
sctp->sctp_adv_pap = sctp->sctp_lastack_rxd;
usr/src/uts/common/inet/sctp/sctp_input.c
2153
ASSERT(sctp->sctp_xmit_head || sctp->sctp_unacked == 0);
usr/src/uts/common/inet/sctp/sctp_input.c
2159
sctp_set_frwnd(sctp_t *sctp, uint32_t frwnd)
usr/src/uts/common/inet/sctp/sctp_input.c
2163
if (sctp->sctp_unacked > frwnd) {
usr/src/uts/common/inet/sctp/sctp_input.c
2164
sctp->sctp_frwnd = 0;
usr/src/uts/common/inet/sctp/sctp_input.c
2167
orwnd = sctp->sctp_frwnd;
usr/src/uts/common/inet/sctp/sctp_input.c
2168
sctp->sctp_frwnd = frwnd - sctp->sctp_unacked;
usr/src/uts/common/inet/sctp/sctp_input.c
2169
if (orwnd < sctp->sctp_frwnd) {
usr/src/uts/common/inet/sctp/sctp_input.c
2183
sctp_ftsn_check_uo_frag(sctp_t *sctp, uint32_t ftsn)
usr/src/uts/common/inet/sctp/sctp_input.c
2190
hmp = sctp->sctp_uo_frags;
usr/src/uts/common/inet/sctp/sctp_input.c
2196
sctp->sctp_uo_frags = hmp_next;
usr/src/uts/common/inet/sctp/sctp_input.c
2215
sctp_ftsn_check_frag(sctp_t *sctp, uint16_t ssn, sctp_instr_t *sip)
usr/src/uts/common/inet/sctp/sctp_input.c
2243
(void *)sctp, (void *)sip,
usr/src/uts/common/inet/sctp/sctp_input.c
2246
sctp_partial_delivery_event(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
2284
sctp_process_forward_tsn(sctp_t *sctp, sctp_chunk_hdr_t *ch, sctp_faddr_t *fp,
usr/src/uts/common/inet/sctp/sctp_input.c
2297
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_input.c
2302
if (SCTP_IS_DETACHED(sctp)) {
usr/src/uts/common/inet/sctp/sctp_input.c
2311
flen = sctp_ftsn_check_uo_frag(sctp, *ftsn);
usr/src/uts/common/inet/sctp/sctp_input.c
2313
ASSERT(sctp->sctp_rxqueued >= flen);
usr/src/uts/common/inet/sctp/sctp_input.c
2314
sctp->sctp_rxqueued -= flen;
usr/src/uts/common/inet/sctp/sctp_input.c
2320
if (ftsn_entry->ftsn_sid >= sctp->sctp_num_istr) {
usr/src/uts/common/inet/sctp/sctp_input.c
2328
sctp_add_err(sctp, SCTP_ERR_BAD_SID,
usr/src/uts/common/inet/sctp/sctp_input.c
2334
instr = &sctp->sctp_instr[ftsn_entry->ftsn_sid];
usr/src/uts/common/inet/sctp/sctp_input.c
2335
flen = sctp_ftsn_check_frag(sctp, ftsn_entry->ftsn_ssn, instr);
usr/src/uts/common/inet/sctp/sctp_input.c
2338
ASSERT(sctp->sctp_rxqueued >= flen);
usr/src/uts/common/inet/sctp/sctp_input.c
2339
sctp->sctp_rxqueued -= flen;
usr/src/uts/common/inet/sctp/sctp_input.c
2368
if (sctp_input_add_ancillary(sctp,
usr/src/uts/common/inet/sctp/sctp_input.c
2370
sctp->sctp_rxqueued -= dlen;
usr/src/uts/common/inet/sctp/sctp_input.c
2377
if (sctp->sctp_flowctrld) {
usr/src/uts/common/inet/sctp/sctp_input.c
2378
sctp->sctp_rwnd -= dlen;
usr/src/uts/common/inet/sctp/sctp_input.c
2379
if (sctp->sctp_rwnd < 0)
usr/src/uts/common/inet/sctp/sctp_input.c
2380
sctp->sctp_rwnd = 0;
usr/src/uts/common/inet/sctp/sctp_input.c
2382
if (sctp->sctp_ulp_recv(
usr/src/uts/common/inet/sctp/sctp_input.c
2383
sctp->sctp_ulpd, dmp, msgdsize(dmp),
usr/src/uts/common/inet/sctp/sctp_input.c
2385
sctp->sctp_flowctrld = B_TRUE;
usr/src/uts/common/inet/sctp/sctp_input.c
2400
sctp->sctp_rxqueued -= dlen;
usr/src/uts/common/inet/sctp/sctp_input.c
2407
sctp->sctp_istr_nmsgs--;
usr/src/uts/common/inet/sctp/sctp_input.c
2416
if (*ftsn <= (sctp->sctp_ftsn - 1)) {
usr/src/uts/common/inet/sctp/sctp_input.c
2417
sctp->sctp_force_sack = 1;
usr/src/uts/common/inet/sctp/sctp_input.c
2421
sctp->sctp_ftsn = *ftsn + 1;
usr/src/uts/common/inet/sctp/sctp_input.c
2424
if (sctp->sctp_sack_info != NULL) {
usr/src/uts/common/inet/sctp/sctp_input.c
2425
sctp_ack_rem(&sctp->sctp_sack_info, sctp->sctp_ftsn - 1,
usr/src/uts/common/inet/sctp/sctp_input.c
2426
&sctp->sctp_sack_gaps);
usr/src/uts/common/inet/sctp/sctp_input.c
2434
if (sctp->sctp_sack_info != NULL &&
usr/src/uts/common/inet/sctp/sctp_input.c
2435
sctp->sctp_ftsn == sctp->sctp_sack_info->begin) {
usr/src/uts/common/inet/sctp/sctp_input.c
2436
sctp->sctp_ftsn = sctp->sctp_sack_info->end + 1;
usr/src/uts/common/inet/sctp/sctp_input.c
2437
sctp_ack_rem(&sctp->sctp_sack_info, sctp->sctp_ftsn - 1,
usr/src/uts/common/inet/sctp/sctp_input.c
2438
&sctp->sctp_sack_gaps);
usr/src/uts/common/inet/sctp/sctp_input.c
2449
sctp_check_abandoned_data(sctp_t *sctp, sctp_faddr_t *fp)
usr/src/uts/common/inet/sctp/sctp_input.c
2451
mblk_t *meta = sctp->sctp_xmit_head;
usr/src/uts/common/inet/sctp/sctp_input.c
2455
uint32_t adv_pap = sctp->sctp_adv_pap;
usr/src/uts/common/inet/sctp/sctp_input.c
2471
sctp_check_adv_ack_pt(sctp, meta, mp);
usr/src/uts/common/inet/sctp/sctp_input.c
2472
if (SEQ_GT(sctp->sctp_adv_pap, adv_pap)) {
usr/src/uts/common/inet/sctp/sctp_input.c
2473
sctp_make_ftsns(sctp, meta, mp, &nmp, fp, &seglen);
usr/src/uts/common/inet/sctp/sctp_input.c
2475
sctp->sctp_adv_pap = adv_pap;
usr/src/uts/common/inet/sctp/sctp_input.c
2477
SCTP_FADDR_TIMER_RESTART(sctp, fp, fp->sf_rto);
usr/src/uts/common/inet/sctp/sctp_input.c
2480
sctp_set_iplen(sctp, nmp, fp->sf_ixa);
usr/src/uts/common/inet/sctp/sctp_input.c
2482
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_input.c
2484
SCTP_FADDR_TIMER_RESTART(sctp, fp, fp->sf_rto);
usr/src/uts/common/inet/sctp/sctp_input.c
2497
sctp_process_uo_gaps(sctp_t *sctp, uint32_t ctsn, sctp_sack_frag_t *ssf,
usr/src/uts/common/inet/sctp/sctp_input.c
2512
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_input.c
2547
if (SEQ_GT(gapstart, sctp->sctp_ltsn - 1) ||
usr/src/uts/common/inet/sctp/sctp_input.c
2548
SEQ_GT(gapend, sctp->sctp_ltsn - 1)) {
usr/src/uts/common/inet/sctp/sctp_input.c
2613
sctp->sctp_unacked -= chunklen - sizeof (*sdc);
usr/src/uts/common/inet/sctp/sctp_input.c
2614
ASSERT(sctp->sctp_unacked >= 0);
usr/src/uts/common/inet/sctp/sctp_input.c
2671
SCTP_CHUNK_REXMIT(sctp, mp);
usr/src/uts/common/inet/sctp/sctp_input.c
2672
sctp->sctp_chk_fast_rexmit = B_TRUE;
usr/src/uts/common/inet/sctp/sctp_input.c
2686
sctp->sctp_recovery_tsn =
usr/src/uts/common/inet/sctp/sctp_input.c
2687
sctp->sctp_ltsn - 1;
usr/src/uts/common/inet/sctp/sctp_input.c
2708
sctp_got_sack(sctp_t *sctp, sctp_chunk_hdr_t *sch)
usr/src/uts/common/inet/sctp/sctp_input.c
2729
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_input.c
2731
BUMP_LOCAL(sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp_input.c
2732
BUMP_LOCAL(sctp->sctp_isacks);
usr/src/uts/common/inet/sctp/sctp_input.c
2740
dprint(2, ("got sack cumtsn %x -> %x\n", sctp->sctp_lastack_rxd,
usr/src/uts/common/inet/sctp/sctp_input.c
2744
if (SEQ_LT(cumtsn, sctp->sctp_lastack_rxd))
usr/src/uts/common/inet/sctp/sctp_input.c
2747
if (SEQ_GT(cumtsn, sctp->sctp_ltsn - 1)) {
usr/src/uts/common/inet/sctp/sctp_input.c
2756
if (SEQ_LT(sctp->sctp_lastack_rxd, sctp->sctp_recovery_tsn))
usr/src/uts/common/inet/sctp/sctp_input.c
2762
if (SEQ_LT(sctp->sctp_lastack_rxd, sctp->sctp_adv_pap))
usr/src/uts/common/inet/sctp/sctp_input.c
2765
if (cumtsn == sctp->sctp_lastack_rxd &&
usr/src/uts/common/inet/sctp/sctp_input.c
2766
(sctp->sctp_xmit_unacked == NULL ||
usr/src/uts/common/inet/sctp/sctp_input.c
2767
!SCTP_CHUNK_ABANDONED(sctp->sctp_xmit_unacked))) {
usr/src/uts/common/inet/sctp/sctp_input.c
2768
if (sctp->sctp_xmit_unacked != NULL)
usr/src/uts/common/inet/sctp/sctp_input.c
2769
mp = sctp->sctp_xmit_unacked;
usr/src/uts/common/inet/sctp/sctp_input.c
2770
else if (sctp->sctp_xmit_head != NULL)
usr/src/uts/common/inet/sctp/sctp_input.c
2771
mp = sctp->sctp_xmit_head->b_cont;
usr/src/uts/common/inet/sctp/sctp_input.c
2780
if (mp != NULL && sctp->sctp_zero_win_probe &&
usr/src/uts/common/inet/sctp/sctp_input.c
2781
ntohl(sc->ssc_a_rwnd) >= sctp->sctp_current->sf_pmss) {
usr/src/uts/common/inet/sctp/sctp_input.c
2785
mblk_t *meta = sctp->sctp_xmit_head;
usr/src/uts/common/inet/sctp/sctp_input.c
2791
fp = sctp->sctp_current;
usr/src/uts/common/inet/sctp/sctp_input.c
2793
SCTP_MAX_RTO(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_input.c
2795
pkt = sctp_rexmit_packet(sctp, &meta, &mp1, fp,
usr/src/uts/common/inet/sctp/sctp_input.c
2802
sctp->sctp_zero_win_probe = B_FALSE;
usr/src/uts/common/inet/sctp/sctp_input.c
2803
sctp->sctp_rxt_nxttsn = sctp->sctp_ltsn;
usr/src/uts/common/inet/sctp/sctp_input.c
2804
sctp->sctp_rxt_maxtsn = sctp->sctp_ltsn;
usr/src/uts/common/inet/sctp/sctp_input.c
2805
sctp_set_iplen(sctp, pkt, fp->sf_ixa);
usr/src/uts/common/inet/sctp/sctp_input.c
2807
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_input.c
2810
if (sctp->sctp_zero_win_probe) {
usr/src/uts/common/inet/sctp/sctp_input.c
2815
fp = sctp->sctp_current;
usr/src/uts/common/inet/sctp/sctp_input.c
2817
SCTP_MAX_RTO(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_input.c
2818
sctp->sctp_zero_win_probe = B_FALSE;
usr/src/uts/common/inet/sctp/sctp_input.c
2820
if (!sctp->sctp_rexmitting) {
usr/src/uts/common/inet/sctp/sctp_input.c
2821
sctp->sctp_rxt_nxttsn = sctp->sctp_ltsn;
usr/src/uts/common/inet/sctp/sctp_input.c
2822
sctp->sctp_rxt_maxtsn = sctp->sctp_ltsn;
usr/src/uts/common/inet/sctp/sctp_input.c
2825
acked = sctp_cumack(sctp, cumtsn, &mp);
usr/src/uts/common/inet/sctp/sctp_input.c
2826
sctp->sctp_xmit_unacked = mp;
usr/src/uts/common/inet/sctp/sctp_input.c
2830
if (fwd_tsn && SEQ_GEQ(sctp->sctp_lastack_rxd,
usr/src/uts/common/inet/sctp/sctp_input.c
2831
sctp->sctp_adv_pap)) {
usr/src/uts/common/inet/sctp/sctp_input.c
2837
UPDATE_LOCAL(sctp->sctp_gapcnt, num_gaps);
usr/src/uts/common/inet/sctp/sctp_input.c
2851
mblk_t *mp2 = sctp->sctp_xmit_head->b_cont;
usr/src/uts/common/inet/sctp/sctp_input.c
2861
ump = sctp->sctp_xmit_head;
usr/src/uts/common/inet/sctp/sctp_input.c
2881
acked += sctp_process_uo_gaps(sctp,
usr/src/uts/common/inet/sctp/sctp_input.c
2883
sctp->sctp_xmit_head, mp1,
usr/src/uts/common/inet/sctp/sctp_input.c
2901
if (SEQ_GT(gapstart, sctp->sctp_ltsn - 1) ||
usr/src/uts/common/inet/sctp/sctp_input.c
2902
SEQ_GT(gapend, sctp->sctp_ltsn - 1)) {
usr/src/uts/common/inet/sctp/sctp_input.c
2928
SCTP_CHUNK_REXMIT(sctp, mp);
usr/src/uts/common/inet/sctp/sctp_input.c
2929
sctp->sctp_chk_fast_rexmit = B_TRUE;
usr/src/uts/common/inet/sctp/sctp_input.c
2943
sctp->sctp_recovery_tsn =
usr/src/uts/common/inet/sctp/sctp_input.c
2944
sctp->sctp_ltsn - 1;
usr/src/uts/common/inet/sctp/sctp_input.c
2958
sctp->sctp_unacked += chunklen - sizeof (*sdc);
usr/src/uts/common/inet/sctp/sctp_input.c
2959
SCTP_CHUNK_CLEAR_ACKED(sctp, mp);
usr/src/uts/common/inet/sctp/sctp_input.c
2961
SCTP_FADDR_TIMER_RESTART(sctp, fp,
usr/src/uts/common/inet/sctp/sctp_input.c
2979
(void *)sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
3015
sctp->sctp_unacked -= chunklen - sizeof (*sdc);
usr/src/uts/common/inet/sctp/sctp_input.c
3016
ASSERT(sctp->sctp_unacked >= 0);
usr/src/uts/common/inet/sctp/sctp_input.c
3046
(void *)sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
3048
ump = sctp->sctp_xmit_head;
usr/src/uts/common/inet/sctp/sctp_input.c
3068
ump = sctp->sctp_xmit_head;
usr/src/uts/common/inet/sctp/sctp_input.c
3078
if (sctp->sctp_prsctp_aware)
usr/src/uts/common/inet/sctp/sctp_input.c
3079
sctp_check_abandoned_data(sctp, sctp->sctp_current);
usr/src/uts/common/inet/sctp/sctp_input.c
3080
if (sctp->sctp_chk_fast_rexmit)
usr/src/uts/common/inet/sctp/sctp_input.c
3081
sctp_fast_rexmit(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
3083
trysend += sctp_set_frwnd(sctp, ntohl(sc->ssc_a_rwnd));
usr/src/uts/common/inet/sctp/sctp_input.c
3089
if (sctp->sctp_frwnd == 0 && sctp->sctp_unacked == 0 &&
usr/src/uts/common/inet/sctp/sctp_input.c
3090
sctp->sctp_unsent != 0) {
usr/src/uts/common/inet/sctp/sctp_input.c
3091
SCTP_FADDR_TIMER_RESTART(sctp, sctp->sctp_current,
usr/src/uts/common/inet/sctp/sctp_input.c
3092
sctp->sctp_current->sf_rto);
usr/src/uts/common/inet/sctp/sctp_input.c
3102
if (sctp->sctp_current->sf_acked == acked) {
usr/src/uts/common/inet/sctp/sctp_input.c
3106
fp = sctp->sctp_current;
usr/src/uts/common/inet/sctp/sctp_input.c
3119
sctp->sctp_cwnd_max);
usr/src/uts/common/inet/sctp/sctp_input.c
3129
sctp->sctp_cwnd_max);
usr/src/uts/common/inet/sctp/sctp_input.c
3144
for (fp = sctp->sctp_faddrs; fp != NULL; fp = fp->sf_next) {
usr/src/uts/common/inet/sctp/sctp_input.c
3154
sctp->sctp_cwnd_max);
usr/src/uts/common/inet/sctp/sctp_input.c
3161
sctp->sctp_cwnd_max);
usr/src/uts/common/inet/sctp/sctp_input.c
3172
fp = sctp->sctp_current;
usr/src/uts/common/inet/sctp/sctp_input.c
3179
if (sctp->sctp_rexmitting) {
usr/src/uts/common/inet/sctp/sctp_input.c
3180
if (SEQ_LT(sctp->sctp_lastack_rxd, sctp->sctp_rxt_maxtsn)) {
usr/src/uts/common/inet/sctp/sctp_input.c
3192
sctp_ss_rexmit(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
3195
sctp->sctp_rexmitting = B_FALSE;
usr/src/uts/common/inet/sctp/sctp_input.c
3196
sctp->sctp_rxt_nxttsn = sctp->sctp_ltsn;
usr/src/uts/common/inet/sctp/sctp_input.c
3197
sctp->sctp_rxt_maxtsn = sctp->sctp_ltsn;
usr/src/uts/common/inet/sctp/sctp_input.c
3209
sctp_strange_chunk(sctp_t *sctp, sctp_chunk_hdr_t *ch, sctp_faddr_t *fp)
usr/src/uts/common/inet/sctp/sctp_input.c
321
sctp_input_add_ancillary(sctp_t *sctp, mblk_t **mp, sctp_data_hdr_t *dcp,
usr/src/uts/common/inet/sctp/sctp_input.c
3213
BUMP_LOCAL(sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp_input.c
3217
sctp_add_err(sctp, SCTP_ERR_UNREC_CHUNK, ch, len, fp);
usr/src/uts/common/inet/sctp/sctp_input.c
3245
sctp_check_input(sctp_t *sctp, sctp_chunk_hdr_t *ch, ssize_t len, int first)
usr/src/uts/common/inet/sctp/sctp_input.c
334
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_input.c
3399
sctp_t *sctp;
usr/src/uts/common/inet/sctp/sctp_input.c
3467
sctp = sctp_addrlist2sctp(mp, sctph, ch, zoneid, sctps);
usr/src/uts/common/inet/sctp/sctp_input.c
3468
if (sctp != NULL) {
usr/src/uts/common/inet/sctp/sctp_input.c
3470
mutex_enter(&sctp->sctp_lock);
usr/src/uts/common/inet/sctp/sctp_input.c
3471
if (sctp->sctp_running) {
usr/src/uts/common/inet/sctp/sctp_input.c
3472
sctp_add_recvq(sctp, mp, B_FALSE, ira);
usr/src/uts/common/inet/sctp/sctp_input.c
3473
mutex_exit(&sctp->sctp_lock);
usr/src/uts/common/inet/sctp/sctp_input.c
3481
sctp->sctp_running = B_TRUE;
usr/src/uts/common/inet/sctp/sctp_input.c
3482
mutex_exit(&sctp->sctp_lock);
usr/src/uts/common/inet/sctp/sctp_input.c
3483
sctp_input_data(sctp, mp, ira);
usr/src/uts/common/inet/sctp/sctp_input.c
3484
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
3486
SCTP_REFRELE(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
3519
sctp_t *sctp = CONN2SCTP(connp);
usr/src/uts/common/inet/sctp/sctp_input.c
3532
SCTP_REFRELE(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
3551
SCTP_REFRELE(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
3558
mutex_enter(&sctp->sctp_lock);
usr/src/uts/common/inet/sctp/sctp_input.c
3559
if (sctp->sctp_running) {
usr/src/uts/common/inet/sctp/sctp_input.c
3560
sctp_add_recvq(sctp, mp, B_FALSE, ira);
usr/src/uts/common/inet/sctp/sctp_input.c
3561
mutex_exit(&sctp->sctp_lock);
usr/src/uts/common/inet/sctp/sctp_input.c
3564
sctp->sctp_running = B_TRUE;
usr/src/uts/common/inet/sctp/sctp_input.c
3565
mutex_exit(&sctp->sctp_lock);
usr/src/uts/common/inet/sctp/sctp_input.c
3567
mutex_enter(&sctp->sctp_recvq_lock);
usr/src/uts/common/inet/sctp/sctp_input.c
3568
if (sctp->sctp_recvq != NULL) {
usr/src/uts/common/inet/sctp/sctp_input.c
3569
sctp_add_recvq(sctp, mp, B_TRUE, ira);
usr/src/uts/common/inet/sctp/sctp_input.c
357
if (sctp->sctp_recvsndrcvinfo)
usr/src/uts/common/inet/sctp/sctp_input.c
3570
mutex_exit(&sctp->sctp_recvq_lock);
usr/src/uts/common/inet/sctp/sctp_input.c
3571
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
3575
mutex_exit(&sctp->sctp_recvq_lock);
usr/src/uts/common/inet/sctp/sctp_input.c
3577
sctp_icmp_error(sctp, mp);
usr/src/uts/common/inet/sctp/sctp_input.c
3579
sctp_input_data(sctp, mp, ira);
usr/src/uts/common/inet/sctp/sctp_input.c
3580
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
3583
SCTP_REFRELE(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
3589
sctp_process_abort(sctp_t *sctp, sctp_chunk_hdr_t *ch, int err)
usr/src/uts/common/inet/sctp/sctp_input.c
3591
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_input.c
3594
BUMP_LOCAL(sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp_input.c
3600
if (sctp->sctp_state >= SCTPS_ESTABLISHED) {
usr/src/uts/common/inet/sctp/sctp_input.c
3601
sctp_assoc_event(sctp, SCTP_COMM_LOST,
usr/src/uts/common/inet/sctp/sctp_input.c
3605
sctp_clean_death(sctp, err);
usr/src/uts/common/inet/sctp/sctp_input.c
3609
sctp_input_data(sctp_t *sctp, mblk_t *mp, ip_recv_attr_t *ira)
usr/src/uts/common/inet/sctp/sctp_input.c
3630
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_input.c
3636
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_input.c
364
ira->ira_ruifindex != sctp->sctp_recvifindex) {
usr/src/uts/common/inet/sctp/sctp_input.c
3655
BUMP_LOCAL(sctp->sctp_ipkts);
usr/src/uts/common/inet/sctp/sctp_input.c
3712
if (!sctp_check_input(sctp, ch, mlen, 1)) {
usr/src/uts/common/inet/sctp/sctp_input.c
372
ipp->ipp_hoplimit != sctp->sctp_recvhops) {
usr/src/uts/common/inet/sctp/sctp_input.c
3732
if (sctph->sh_verf == sctp->sctp_lvtag)
usr/src/uts/common/inet/sctp/sctp_input.c
3734
if (sctph->sh_verf == sctp->sctp_fvtag &&
usr/src/uts/common/inet/sctp/sctp_input.c
3745
if (sctp->sctp_state > SCTPS_BOUND &&
usr/src/uts/common/inet/sctp/sctp_input.c
3746
sctp->sctp_state < SCTPS_ESTABLISHED) {
usr/src/uts/common/inet/sctp/sctp_input.c
3759
if (sctph->sh_verf != sctp->sctp_lvtag &&
usr/src/uts/common/inet/sctp/sctp_input.c
3760
sctp->sctp_state != SCTPS_LISTEN) {
usr/src/uts/common/inet/sctp/sctp_input.c
3768
fp = sctp_lookup_faddr(sctp, &src);
usr/src/uts/common/inet/sctp/sctp_input.c
3770
(void *)fp, (void *)sctp));
usr/src/uts/common/inet/sctp/sctp_input.c
3779
sctp->sctp_state, (int)(ch->sch_id)));
usr/src/uts/common/inet/sctp/sctp_input.c
3782
if (sctph->sh_verf != sctp->sctp_lvtag &&
usr/src/uts/common/inet/sctp/sctp_input.c
3783
sctph->sh_verf != sctp->sctp_fvtag) {
usr/src/uts/common/inet/sctp/sctp_input.c
3789
switch (sctp->sctp_state) {
usr/src/uts/common/inet/sctp/sctp_input.c
380
ipp->ipp_tclass != sctp->sctp_recvtclass) {
usr/src/uts/common/inet/sctp/sctp_input.c
3800
sctp_send_abort(sctp, sctp->sctp_fvtag,
usr/src/uts/common/inet/sctp/sctp_input.c
3803
sctp_assoc_event(sctp, SCTP_COMM_LOST,
usr/src/uts/common/inet/sctp/sctp_input.c
3805
sctp_clean_death(sctp, ECONNABORTED);
usr/src/uts/common/inet/sctp/sctp_input.c
3810
sctp->sctp_lastdata = fp;
usr/src/uts/common/inet/sctp/sctp_input.c
3811
sctp_data_chunk(sctp, ch, mp, &dups, fp,
usr/src/uts/common/inet/sctp/sctp_input.c
3815
if (sctp->sctp_state == SCTPS_SHUTDOWN_SENT) {
usr/src/uts/common/inet/sctp/sctp_input.c
3825
sctp->sctp_out_time) >
usr/src/uts/common/inet/sctp/sctp_input.c
3827
sctp_send_abort(sctp,
usr/src/uts/common/inet/sctp/sctp_input.c
3828
sctp->sctp_fvtag, 0, NULL,
usr/src/uts/common/inet/sctp/sctp_input.c
3830
sctp_assoc_event(sctp,
usr/src/uts/common/inet/sctp/sctp_input.c
3832
sctp_clean_death(sctp,
usr/src/uts/common/inet/sctp/sctp_input.c
3836
SCTP_FADDR_TIMER_RESTART(sctp, fp,
usr/src/uts/common/inet/sctp/sctp_input.c
3846
sctp_faddr_alive(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_input.c
3847
trysend = sctp_got_sack(sctp, ch);
usr/src/uts/common/inet/sctp/sctp_input.c
3849
sctp_send_abort(sctp, sctph->sh_verf,
usr/src/uts/common/inet/sctp/sctp_input.c
3851
sctp_assoc_event(sctp,
usr/src/uts/common/inet/sctp/sctp_input.c
3853
sctp_clean_death(sctp,
usr/src/uts/common/inet/sctp/sctp_input.c
3866
sctp_return_heartbeat(sctp, ch, mp);
usr/src/uts/common/inet/sctp/sctp_input.c
3871
sctp_process_heartbeat(sctp, ch);
usr/src/uts/common/inet/sctp/sctp_input.c
3874
sctp_shutdown_event(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
3875
trysend = sctp_shutdown_received(sctp, ch,
usr/src/uts/common/inet/sctp/sctp_input.c
3877
BUMP_LOCAL(sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp_input.c
388
ip_cmpbuf(sctp->sctp_hopopts, sctp->sctp_hopoptslen,
usr/src/uts/common/inet/sctp/sctp_input.c
3880
BUMP_LOCAL(sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp_input.c
3881
if (sctp->sctp_state == SCTPS_SHUTDOWN_SENT) {
usr/src/uts/common/inet/sctp/sctp_input.c
3882
sctp_shutdown_complete(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
3884
sctp_assoc_event(sctp,
usr/src/uts/common/inet/sctp/sctp_input.c
3886
sctp_clean_death(sctp, 0);
usr/src/uts/common/inet/sctp/sctp_input.c
3894
sp = sctp_saddr_lookup(sctp, &dst, 0);
usr/src/uts/common/inet/sctp/sctp_input.c
3897
BUMP_LOCAL(sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp_input.c
3901
sctp_process_abort(sctp, ch, ECONNRESET);
usr/src/uts/common/inet/sctp/sctp_input.c
3905
sctp_send_initack(sctp, sctph, ch, mp, ira);
usr/src/uts/common/inet/sctp/sctp_input.c
3908
if (sctp_process_cookie(sctp, ch, mp, &iack,
usr/src/uts/common/inet/sctp/sctp_input.c
3910
sctp_send_cookie_ack(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
3911
sctp_assoc_event(sctp, SCTP_RESTART,
usr/src/uts/common/inet/sctp/sctp_input.c
3914
sctp->sctp_recv_adaptation = 1;
usr/src/uts/common/inet/sctp/sctp_input.c
3915
sctp_adaptation_event(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
392
sctp->sctp_v6label_len;
usr/src/uts/common/inet/sctp/sctp_input.c
3925
BUMP_LOCAL(sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp_input.c
3926
error = sctp_handle_error(sctp, sctph, ch, mp,
usr/src/uts/common/inet/sctp/sctp_input.c
3929
sctp_assoc_event(sctp, SCTP_COMM_LOST,
usr/src/uts/common/inet/sctp/sctp_input.c
3931
sctp_clean_death(sctp, error);
usr/src/uts/common/inet/sctp/sctp_input.c
3938
sctp_input_asconf(sctp, ch, fp);
usr/src/uts/common/inet/sctp/sctp_input.c
3939
BUMP_LOCAL(sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp_input.c
3943
sctp_faddr_alive(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_input.c
3944
sctp_input_asconf_ack(sctp, ch, fp);
usr/src/uts/common/inet/sctp/sctp_input.c
3945
BUMP_LOCAL(sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp_input.c
3949
sctp->sctp_lastdata = fp;
usr/src/uts/common/inet/sctp/sctp_input.c
3950
sctp_process_forward_tsn(sctp, ch, fp,
usr/src/uts/common/inet/sctp/sctp_input.c
3953
BUMP_LOCAL(sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp_input.c
3956
if (sctp_strange_chunk(sctp, ch, fp) == 0) {
usr/src/uts/common/inet/sctp/sctp_input.c
396
if (!ip_allocbuf((void **)&sctp->sctp_hopopts,
usr/src/uts/common/inet/sctp/sctp_input.c
3966
sctp_send_initack(sctp, sctph, ch, mp, ira);
usr/src/uts/common/inet/sctp/sctp_input.c
397
&sctp->sctp_hopoptslen,
usr/src/uts/common/inet/sctp/sctp_input.c
3971
if (sctp_process_cookie(sctp, ch, mp, &iack,
usr/src/uts/common/inet/sctp/sctp_input.c
3987
eager = sctp_conn_request(sctp, mp, ifindex,
usr/src/uts/common/inet/sctp/sctp_input.c
3990
sctp_send_abort(sctp, sctph->sh_verf,
usr/src/uts/common/inet/sctp/sctp_input.c
4030
sctp->sctp_rx_adaptation_code;
usr/src/uts/common/inet/sctp/sctp_input.c
404
ip_cmpbuf(sctp->sctp_rthdrdstopts, sctp->sctp_rthdrdstoptslen,
usr/src/uts/common/inet/sctp/sctp_input.c
4042
sctp = eager;
usr/src/uts/common/inet/sctp/sctp_input.c
4043
fp = sctp_lookup_faddr(sctp, &peer_src);
usr/src/uts/common/inet/sctp/sctp_input.c
4050
fp = sctp_lookup_faddr(sctp, &src);
usr/src/uts/common/inet/sctp/sctp_input.c
4052
sctp_faddr_alive(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_input.c
4058
sctp_validate_peer(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
4066
BUMP_LOCAL(sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp_input.c
4069
BUMP_LOCAL(sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp_input.c
4070
sctp_send_abort(sctp, sctph->sh_verf, 0, NULL,
usr/src/uts/common/inet/sctp/sctp_input.c
4079
sctp_stop_faddr_timers(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
4080
sctp_faddr_alive(sctp, sctp->sctp_current);
usr/src/uts/common/inet/sctp/sctp_input.c
4081
sctp_send_cookie_echo(sctp, ch, mp, ira);
usr/src/uts/common/inet/sctp/sctp_input.c
4082
BUMP_LOCAL(sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp_input.c
4085
sctp_process_abort(sctp, ch, ECONNREFUSED);
usr/src/uts/common/inet/sctp/sctp_input.c
4088
sctp_send_initack(sctp, sctph, ch, mp, ira);
usr/src/uts/common/inet/sctp/sctp_input.c
4094
if (sctp_process_cookie(sctp, ch, mp, &iack,
usr/src/uts/common/inet/sctp/sctp_input.c
4100
sctp_send_cookie_ack(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
4101
sctp_stop_faddr_timers(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
4102
if (!SCTP_IS_DETACHED(sctp)) {
usr/src/uts/common/inet/sctp/sctp_input.c
4103
sctp->sctp_ulp_connected(
usr/src/uts/common/inet/sctp/sctp_input.c
4104
sctp->sctp_ulpd, 0, cr, cpid);
usr/src/uts/common/inet/sctp/sctp_input.c
4105
sctp_set_ulp_prop(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
4108
SCTP_ASSOC_EST(sctps, sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
411
if (!ip_allocbuf((void **)&sctp->sctp_rthdrdstopts,
usr/src/uts/common/inet/sctp/sctp_input.c
4110
if (sctp->sctp_cookie_mp) {
usr/src/uts/common/inet/sctp/sctp_input.c
4111
freemsg(sctp->sctp_cookie_mp);
usr/src/uts/common/inet/sctp/sctp_input.c
4112
sctp->sctp_cookie_mp = NULL;
usr/src/uts/common/inet/sctp/sctp_input.c
4116
sctp->sctp_active = now;
usr/src/uts/common/inet/sctp/sctp_input.c
4117
sctp_validate_peer(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
4119
sctp_assoc_event(sctp, SCTP_COMM_UP, 0, NULL);
usr/src/uts/common/inet/sctp/sctp_input.c
412
&sctp->sctp_rthdrdstoptslen,
usr/src/uts/common/inet/sctp/sctp_input.c
4121
sctp->sctp_recv_adaptation = 1;
usr/src/uts/common/inet/sctp/sctp_input.c
4122
sctp_adaptation_event(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
4128
if (sctp_strange_chunk(sctp, ch, fp) == 0) {
usr/src/uts/common/inet/sctp/sctp_input.c
4141
if (!SCTP_IS_DETACHED(sctp)) {
usr/src/uts/common/inet/sctp/sctp_input.c
4142
sctp->sctp_ulp_connected(
usr/src/uts/common/inet/sctp/sctp_input.c
4143
sctp->sctp_ulpd, 0, cr, cpid);
usr/src/uts/common/inet/sctp/sctp_input.c
4144
sctp_set_ulp_prop(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
4146
if (sctp->sctp_unacked == 0)
usr/src/uts/common/inet/sctp/sctp_input.c
4147
sctp_stop_faddr_timers(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
4148
SCTP_ASSOC_EST(sctps, sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
4150
BUMP_LOCAL(sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp_input.c
4151
if (sctp->sctp_cookie_mp) {
usr/src/uts/common/inet/sctp/sctp_input.c
4152
freemsg(sctp->sctp_cookie_mp);
usr/src/uts/common/inet/sctp/sctp_input.c
4153
sctp->sctp_cookie_mp = NULL;
usr/src/uts/common/inet/sctp/sctp_input.c
4155
sctp_faddr_alive(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_input.c
4157
sctp->sctp_active = now;
usr/src/uts/common/inet/sctp/sctp_input.c
4158
sctp_validate_peer(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
4162
sctp_assoc_event(sctp, SCTP_COMM_UP, 0, NULL);
usr/src/uts/common/inet/sctp/sctp_input.c
4163
sctp_adaptation_event(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
4166
sctp_process_abort(sctp, ch, ECONNREFUSED);
usr/src/uts/common/inet/sctp/sctp_input.c
4172
if (sctp_process_cookie(sctp, ch, mp, &iack,
usr/src/uts/common/inet/sctp/sctp_input.c
4178
sctp_send_cookie_ack(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
4180
if (!SCTP_IS_DETACHED(sctp)) {
usr/src/uts/common/inet/sctp/sctp_input.c
4181
sctp->sctp_ulp_connected(
usr/src/uts/common/inet/sctp/sctp_input.c
4182
sctp->sctp_ulpd, 0, cr, cpid);
usr/src/uts/common/inet/sctp/sctp_input.c
4183
sctp_set_ulp_prop(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
4186
if (sctp->sctp_unacked == 0)
usr/src/uts/common/inet/sctp/sctp_input.c
4187
sctp_stop_faddr_timers(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
4188
SCTP_ASSOC_EST(sctps, sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
419
ip_cmpbuf(sctp->sctp_rthdr, sctp->sctp_rthdrlen,
usr/src/uts/common/inet/sctp/sctp_input.c
4190
if (sctp->sctp_cookie_mp) {
usr/src/uts/common/inet/sctp/sctp_input.c
4191
freemsg(sctp->sctp_cookie_mp);
usr/src/uts/common/inet/sctp/sctp_input.c
4192
sctp->sctp_cookie_mp = NULL;
usr/src/uts/common/inet/sctp/sctp_input.c
4195
sctp->sctp_active = now;
usr/src/uts/common/inet/sctp/sctp_input.c
4196
sctp_validate_peer(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
4198
sctp_assoc_event(sctp, SCTP_COMM_UP, 0, NULL);
usr/src/uts/common/inet/sctp/sctp_input.c
4200
sctp->sctp_recv_adaptation = 1;
usr/src/uts/common/inet/sctp/sctp_input.c
4201
sctp_adaptation_event(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
4207
sctp_send_initack(sctp, sctph, ch, mp, ira);
usr/src/uts/common/inet/sctp/sctp_input.c
4212
BUMP_LOCAL(sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp_input.c
4223
sctp_error_event(sctp,
usr/src/uts/common/inet/sctp/sctp_input.c
4225
sctp_assoc_event(sctp,
usr/src/uts/common/inet/sctp/sctp_input.c
4227
sctp_clean_death(sctp,
usr/src/uts/common/inet/sctp/sctp_input.c
4236
sctp_return_heartbeat(sctp, ch, mp);
usr/src/uts/common/inet/sctp/sctp_input.c
4241
if (sctp_strange_chunk(sctp, ch, fp) == 0) {
usr/src/uts/common/inet/sctp/sctp_input.c
4251
sctp_update_dce(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
4252
sctp_process_abort(sctp, ch, 0);
usr/src/uts/common/inet/sctp/sctp_input.c
4255
BUMP_LOCAL(sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp_input.c
4257
sctp_assoc_event(sctp, SCTP_SHUTDOWN_COMP, 0,
usr/src/uts/common/inet/sctp/sctp_input.c
426
if (!ip_allocbuf((void **)&sctp->sctp_rthdr,
usr/src/uts/common/inet/sctp/sctp_input.c
4261
sctp_update_dce(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
4262
sctp_clean_death(sctp, 0);
usr/src/uts/common/inet/sctp/sctp_input.c
4265
sctp_shutdown_complete(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
4266
BUMP_LOCAL(sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp_input.c
4268
sctp_assoc_event(sctp, SCTP_SHUTDOWN_COMP, 0,
usr/src/uts/common/inet/sctp/sctp_input.c
427
&sctp->sctp_rthdrlen,
usr/src/uts/common/inet/sctp/sctp_input.c
4270
sctp_clean_death(sctp, 0);
usr/src/uts/common/inet/sctp/sctp_input.c
4273
(void) sctp_shutdown_received(sctp, NULL,
usr/src/uts/common/inet/sctp/sctp_input.c
4275
BUMP_LOCAL(sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp_input.c
4279
sctp_return_heartbeat(sctp, ch, mp);
usr/src/uts/common/inet/sctp/sctp_input.c
4284
if (sctp_strange_chunk(sctp, ch, fp) == 0) {
usr/src/uts/common/inet/sctp/sctp_input.c
4294
trysend = sctp_shutdown_received(sctp, ch,
usr/src/uts/common/inet/sctp/sctp_input.c
4305
if (shutdown_ack_needed && (sctp->sctp_state ==
usr/src/uts/common/inet/sctp/sctp_input.c
4310
trysend = sctp_got_sack(sctp, ch);
usr/src/uts/common/inet/sctp/sctp_input.c
4312
sctp_send_abort(sctp, sctph->sh_verf,
usr/src/uts/common/inet/sctp/sctp_input.c
4314
sctp_assoc_event(sctp,
usr/src/uts/common/inet/sctp/sctp_input.c
4316
sctp_clean_death(sctp,
usr/src/uts/common/inet/sctp/sctp_input.c
4331
if ((sctp->sctp_xmit_head == NULL) &&
usr/src/uts/common/inet/sctp/sctp_input.c
4332
(sctp->sctp_xmit_unsent == NULL))
usr/src/uts/common/inet/sctp/sctp_input.c
4336
sctp_process_abort(sctp, ch, ECONNRESET);
usr/src/uts/common/inet/sctp/sctp_input.c
434
ip_cmpbuf(sctp->sctp_dstopts, sctp->sctp_dstoptslen,
usr/src/uts/common/inet/sctp/sctp_input.c
4340
sctp_return_heartbeat(sctp, ch, mp);
usr/src/uts/common/inet/sctp/sctp_input.c
4345
if (sctp_strange_chunk(sctp, ch, fp) == 0) {
usr/src/uts/common/inet/sctp/sctp_input.c
4362
if (ch != NULL && !sctp_check_input(sctp, ch, mlen, 0))
usr/src/uts/common/inet/sctp/sctp_input.c
4371
sctp_send_shutdown_ack(sctp, fp, B_FALSE);
usr/src/uts/common/inet/sctp/sctp_input.c
4377
(sctp->sctp_sack_toggle)++;
usr/src/uts/common/inet/sctp/sctp_input.c
4378
sack_sent = sctp_sack(sctp, dups);
usr/src/uts/common/inet/sctp/sctp_input.c
4382
if (!sack_sent && !sctp->sctp_ack_timer_running) {
usr/src/uts/common/inet/sctp/sctp_input.c
4383
sctp->sctp_ack_timer_running = B_TRUE;
usr/src/uts/common/inet/sctp/sctp_input.c
4384
sctp_timer(sctp, sctp->sctp_ack_mp,
usr/src/uts/common/inet/sctp/sctp_input.c
4390
sctp_output(sctp, UINT_MAX);
usr/src/uts/common/inet/sctp/sctp_input.c
4391
if (sctp->sctp_cxmit_list != NULL)
usr/src/uts/common/inet/sctp/sctp_input.c
4392
sctp_wput_asconf(sctp, NULL);
usr/src/uts/common/inet/sctp/sctp_input.c
4398
if (sctp->sctp_unsent > 0 && !sctp->sctp_current->sf_timer_running &&
usr/src/uts/common/inet/sctp/sctp_input.c
4399
sctp->sctp_current->sf_timer_mp != NULL) {
usr/src/uts/common/inet/sctp/sctp_input.c
4400
SCTP_FADDR_TIMER_RESTART(sctp, sctp->sctp_current,
usr/src/uts/common/inet/sctp/sctp_input.c
4401
sctp->sctp_current->sf_rto);
usr/src/uts/common/inet/sctp/sctp_input.c
4409
if (sctp->sctp_err_chunks != NULL)
usr/src/uts/common/inet/sctp/sctp_input.c
441
if (!ip_allocbuf((void **)&sctp->sctp_dstopts,
usr/src/uts/common/inet/sctp/sctp_input.c
4410
sctp_process_err(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
4417
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
442
&sctp->sctp_dstoptslen,
usr/src/uts/common/inet/sctp/sctp_input.c
4428
sctp_recvd(sctp_t *sctp, int len)
usr/src/uts/common/inet/sctp/sctp_input.c
4430
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_input.c
4431
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_input.c
4434
ASSERT(sctp != NULL);
usr/src/uts/common/inet/sctp/sctp_input.c
4435
RUN_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
4437
sctp->sctp_flowctrld = B_FALSE;
usr/src/uts/common/inet/sctp/sctp_input.c
4439
sctp->sctp_ulp_rxqueued = connp->conn_rcvbuf - len;
usr/src/uts/common/inet/sctp/sctp_input.c
4441
if (connp->conn_rcvbuf - sctp->sctp_arwnd >= sctp->sctp_mss)
usr/src/uts/common/inet/sctp/sctp_input.c
4443
sctp->sctp_rwnd = connp->conn_rcvbuf;
usr/src/uts/common/inet/sctp/sctp_input.c
4445
if (sctp->sctp_state >= SCTPS_ESTABLISHED && send_sack) {
usr/src/uts/common/inet/sctp/sctp_input.c
4446
sctp->sctp_force_sack = 1;
usr/src/uts/common/inet/sctp/sctp_input.c
4448
(void) sctp_sack(sctp, NULL);
usr/src/uts/common/inet/sctp/sctp_input.c
4450
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_input.c
473
if (sctp->sctp_recvsndrcvinfo) {
usr/src/uts/common/inet/sctp/sctp_input.c
496
sri->sinfo_cumtsn = sctp->sctp_ftsn;
usr/src/uts/common/inet/sctp/sctp_input.c
519
pkti->ipi6_addr = sctp->sctp_ip6h->ip6_src;
usr/src/uts/common/inet/sctp/sctp_input.c
521
IN6_IPADDR_TO_V4MAPPED(sctp->sctp_ipha->ipha_src,
usr/src/uts/common/inet/sctp/sctp_input.c
528
sctp->sctp_recvifindex = ifindex;
usr/src/uts/common/inet/sctp/sctp_input.c
542
sctp->sctp_recvhops = ipp->ipp_hoplimit;
usr/src/uts/common/inet/sctp/sctp_input.c
556
sctp->sctp_recvtclass = ipp->ipp_tclass;
usr/src/uts/common/inet/sctp/sctp_input.c
569
ip_savebuf((void **)&sctp->sctp_hopopts,
usr/src/uts/common/inet/sctp/sctp_input.c
570
&sctp->sctp_hopoptslen,
usr/src/uts/common/inet/sctp/sctp_input.c
585
ip_savebuf((void **)&sctp->sctp_rthdrdstopts,
usr/src/uts/common/inet/sctp/sctp_input.c
586
&sctp->sctp_rthdrdstoptslen,
usr/src/uts/common/inet/sctp/sctp_input.c
601
ip_savebuf((void **)&sctp->sctp_rthdr,
usr/src/uts/common/inet/sctp/sctp_input.c
602
&sctp->sctp_rthdrlen,
usr/src/uts/common/inet/sctp/sctp_input.c
617
ip_savebuf((void **)&sctp->sctp_dstopts,
usr/src/uts/common/inet/sctp/sctp_input.c
618
&sctp->sctp_dstoptslen,
usr/src/uts/common/inet/sctp/sctp_input.c
668
sctp_uodata_frag(sctp_t *sctp, mblk_t *dmp, sctp_data_hdr_t **dc)
usr/src/uts/common/inet/sctp/sctp_input.c
681
if (sctp->sctp_uo_frags == NULL) {
usr/src/uts/common/inet/sctp/sctp_input.c
682
sctp->sctp_uo_frags = dmp;
usr/src/uts/common/inet/sctp/sctp_input.c
685
hmp = sctp->sctp_uo_frags;
usr/src/uts/common/inet/sctp/sctp_input.c
697
sctp->sctp_uo_frags = dmp;
usr/src/uts/common/inet/sctp/sctp_input.c
759
if (sctp->sctp_uo_frags == begin) {
usr/src/uts/common/inet/sctp/sctp_input.c
761
sctp->sctp_uo_frags = end->b_next;
usr/src/uts/common/inet/sctp/sctp_input.c
791
BUMP_LOCAL(sctp->sctp_reassmsgs);
usr/src/uts/common/inet/sctp/sctp_input.c
807
sctp_try_partial_delivery(sctp_t *sctp, mblk_t *hmp, sctp_reass_t *srp,
usr/src/uts/common/inet/sctp/sctp_input.c
918
BUMP_LOCAL(sctp->sctp_reassmsgs);
usr/src/uts/common/inet/sctp/sctp_input.c
933
sctp_data_frag(sctp_t *sctp, mblk_t *dmp, sctp_data_hdr_t **dc, int *error,
usr/src/uts/common/inet/sctp/sctp_misc.c
37
sctp_display(sctp_t *sctp, char *sup_buf)
usr/src/uts/common/inet/sctp/sctp_misc.c
45
if (sctp == NULL)
usr/src/uts/common/inet/sctp/sctp_misc.c
48
connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_misc.c
51
switch (sctp->sctp_state) {
usr/src/uts/common/inet/sctp/sctp_misc.c
83
(void) mi_sprintf(buf1, "SCTPUnkState(%d)", sctp->sctp_state);
usr/src/uts/common/inet/sctp/sctp_notify.c
118
rwnd = sctp->sctp_ulp_recv(sctp->sctp_ulpd, mp, msgdsize(mp), 0,
usr/src/uts/common/inet/sctp/sctp_notify.c
120
if (rwnd > sctp->sctp_rwnd) {
usr/src/uts/common/inet/sctp/sctp_notify.c
121
sctp->sctp_rwnd = rwnd;
usr/src/uts/common/inet/sctp/sctp_notify.c
126
sctp_assoc_event(sctp_t *sctp, uint16_t state, uint16_t error,
usr/src/uts/common/inet/sctp/sctp_notify.c
133
if (!sctp->sctp_recvassocevnt) {
usr/src/uts/common/inet/sctp/sctp_notify.c
145
sacp->sac_flags = sctp->sctp_prsctp_aware ? SCTP_PRSCTP_CAPABLE : 0;
usr/src/uts/common/inet/sctp/sctp_notify.c
149
sacp->sac_outbound_streams = sctp->sctp_num_ostr;
usr/src/uts/common/inet/sctp/sctp_notify.c
150
sacp->sac_inbound_streams = sctp->sctp_num_istr;
usr/src/uts/common/inet/sctp/sctp_notify.c
156
sctp_notify(sctp, mp, sacp->sac_length);
usr/src/uts/common/inet/sctp/sctp_notify.c
164
sctp_sendfail(sctp_t *sctp, mblk_t *msghdr, uint16_t flags, int error)
usr/src/uts/common/inet/sctp/sctp_notify.c
197
sctp_notify(sctp, mp, sfp->ssf_length);
usr/src/uts/common/inet/sctp/sctp_notify.c
205
sctp_sendfail_sent(sctp_t *sctp, mblk_t *meta, int error)
usr/src/uts/common/inet/sctp/sctp_notify.c
212
if (!sctp->sctp_recvsendfailevnt) {
usr/src/uts/common/inet/sctp/sctp_notify.c
245
sctp_sendfail(sctp, meta, flags, error);
usr/src/uts/common/inet/sctp/sctp_notify.c
252
sctp_sendfail_event(sctp_t *sctp, mblk_t *meta, int error, boolean_t chunkified)
usr/src/uts/common/inet/sctp/sctp_notify.c
261
if (!sctp->sctp_recvsendfailevnt) {
usr/src/uts/common/inet/sctp/sctp_notify.c
268
sctp_sendfail_sent(sctp, meta, error);
usr/src/uts/common/inet/sctp/sctp_notify.c
293
sctp_sendfail(sctp, meta, SCTP_DATA_UNSENT, error);
usr/src/uts/common/inet/sctp/sctp_notify.c
297
sctp_regift_xmitlist(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_notify.c
301
if (!sctp->sctp_recvsendfailevnt) {
usr/src/uts/common/inet/sctp/sctp_notify.c
305
while ((mp = sctp->sctp_xmit_head) != NULL) {
usr/src/uts/common/inet/sctp/sctp_notify.c
306
sctp->sctp_xmit_head = mp->b_next;
usr/src/uts/common/inet/sctp/sctp_notify.c
308
if (sctp->sctp_xmit_head != NULL)
usr/src/uts/common/inet/sctp/sctp_notify.c
309
sctp->sctp_xmit_head->b_prev = NULL;
usr/src/uts/common/inet/sctp/sctp_notify.c
310
sctp_sendfail_event(sctp, mp, 0, B_TRUE);
usr/src/uts/common/inet/sctp/sctp_notify.c
312
while ((mp = sctp->sctp_xmit_unsent) != NULL) {
usr/src/uts/common/inet/sctp/sctp_notify.c
313
sctp->sctp_xmit_unsent = mp->b_next;
usr/src/uts/common/inet/sctp/sctp_notify.c
315
sctp_sendfail_event(sctp, mp, 0, B_FALSE);
usr/src/uts/common/inet/sctp/sctp_notify.c
317
sctp->sctp_xmit_tail = sctp->sctp_xmit_unsent_tail = NULL;
usr/src/uts/common/inet/sctp/sctp_notify.c
318
sctp->sctp_unacked = sctp->sctp_unsent = 0;
usr/src/uts/common/inet/sctp/sctp_notify.c
322
sctp_intf_event(sctp_t *sctp, in6_addr_t addr, int state, int error)
usr/src/uts/common/inet/sctp/sctp_notify.c
330
if (!sctp->sctp_recvpathevnt) {
usr/src/uts/common/inet/sctp/sctp_notify.c
359
sctp_notify(sctp, mp, spc->spc_length);
usr/src/uts/common/inet/sctp/sctp_notify.c
363
sctp_error_event(sctp_t *sctp, sctp_chunk_hdr_t *ch, boolean_t is_asconf)
usr/src/uts/common/inet/sctp/sctp_notify.c
373
if (!sctp->sctp_recvpeererr) {
usr/src/uts/common/inet/sctp/sctp_notify.c
425
sctp_notify(sctp, mp, len);
usr/src/uts/common/inet/sctp/sctp_notify.c
429
sctp_shutdown_event(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_notify.c
434
if (!sctp->sctp_recvshutdownevnt) {
usr/src/uts/common/inet/sctp/sctp_notify.c
449
sctp_notify(sctp, mp, sse->sse_length);
usr/src/uts/common/inet/sctp/sctp_notify.c
453
sctp_adaptation_event(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_notify.c
458
if (!sctp->sctp_recvalevnt || !sctp->sctp_recv_adaptation) {
usr/src/uts/common/inet/sctp/sctp_notify.c
46
sctp_notify(sctp_t *sctp, mblk_t *emp, size_t len)
usr/src/uts/common/inet/sctp/sctp_notify.c
473
sai->sai_adaptation_ind = sctp->sctp_rx_adaptation_code;
usr/src/uts/common/inet/sctp/sctp_notify.c
476
sctp_notify(sctp, mp, sai->sai_length);
usr/src/uts/common/inet/sctp/sctp_notify.c
478
sctp->sctp_recv_adaptation = 0; /* in case there's a restart later */
usr/src/uts/common/inet/sctp/sctp_notify.c
483
sctp_partial_delivery_event(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_notify.c
488
if (!sctp->sctp_recvpdevnt)
usr/src/uts/common/inet/sctp/sctp_notify.c
501
sctp_notify(sctp, mp, pdapi->pdapi_length);
usr/src/uts/common/inet/sctp/sctp_notify.c
53
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_notify.c
73
fp = sctp->sctp_primary;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
101
sp->spinfo_mtu = sctp->sctp_hdr6_len;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1028
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1039
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1047
sctp_set_opt(sctp_t *sctp, int level, int name, const void *invalp,
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1053
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1054
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1072
RUN_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1075
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1129
sctp->sctp_mss);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
113
sstat->sstat_instrms = sctp->sctp_num_istr;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1134
connp->conn_rcvbuf = sctp->sctp_rwnd = *i1;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1135
sctp->sctp_arwnd = sctp->sctp_rwnd;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1136
sctp->sctp_pd_point = sctp->sctp_rwnd;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
114
sstat->sstat_outstrms = sctp->sctp_num_ostr;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1140
sctp->sctp_ulp_prop(sctp->sctp_ulpd, &sopp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1149
if (sctp->sctp_state >= SCTPS_BOUND) {
usr/src/uts/common/inet/sctp/sctp_opt_data.c
115
sstat->sstat_fragmentation_point = sctp->sctp_mss -
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1155
if (sctp->sctp_state >= SCTPS_BOUND) {
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1166
retval = sctp_set_rtoinfo(sctp, invalp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1169
retval = sctp_set_assocparams(sctp, invalp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1172
retval = sctp_set_initmsg(sctp, invalp, inlen);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1175
sctp->sctp_ndelay = ONOFF(*i1);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1183
sctp->sctp_autoclose = SEC_TO_TICK(*i1);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1184
sctp_heartbeat_timer(sctp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1187
retval = sctp_set_peerprim(sctp, invalp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
119
for (meta = sctp->sctp_xmit_head; meta; meta = meta->b_next) {
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1190
retval = sctp_set_prim(sctp, invalp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1196
sctp->sctp_send_adaptation = 1;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1197
sctp->sctp_tx_adaptation_code = ssb->ssb_adaptation_ind;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1201
retval = sctp_set_peer_addr_params(sctp, invalp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1204
retval = sctp_set_def_send_params(sctp, invalp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1210
sctp->sctp_recvsndrcvinfo =
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1212
sctp->sctp_recvassocevnt =
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1214
sctp->sctp_recvpathevnt =
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1216
sctp->sctp_recvsendfailevnt =
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1218
sctp->sctp_recvpeererr =
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1220
sctp->sctp_recvshutdownevnt =
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1222
sctp->sctp_recvpdevnt =
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1224
sctp->sctp_recvalevnt =
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1234
if (sctp->sctp_state < SCTPS_BOUND) {
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1245
retval = sctp_bind_add(sctp, invalp, addrcnt,
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1248
retval = sctp_bind_del(sctp, invalp, addrcnt,
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1259
sctp->sctp_ulpd = us->sus_handle;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1260
sctp->sctp_upcalls = us->sus_upcalls;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1264
sctp->sctp_prsctp_aware = onoff;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1286
if (sctp->sctp_state >= SCTPS_LISTEN) {
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1302
sctp->sctp_recvifindex = 0;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1306
sctp->sctp_recvtclass = 0xffffffffU;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1310
sctp->sctp_recvhops = 0xffffffffU;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1317
if (sctp->sctp_state >= SCTPS_LISTEN) {
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1327
if (sctp->sctp_state >= SCTPS_BOUND) {
usr/src/uts/common/inet/sctp/sctp_opt_data.c
134
if (sctp->sctp_instr != NULL) {
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1347
for (fp = sctp->sctp_faddrs; fp != NULL; fp = fp->sf_next)
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1348
sctp_get_dest(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
135
for (i = 0; i < sctp->sctp_num_istr; i++) {
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1351
retval = sctp_build_hdrs(sctp, KM_NOSLEEP);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1358
if (sctp->sctp_current != NULL) {
usr/src/uts/common/inet/sctp/sctp_opt_data.c
136
for (meta = sctp->sctp_instr[i].istr_reass;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1363
sctp_set_ulp_prop(sctp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1367
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1377
sctp_getsockname(sctp_t *sctp, struct sockaddr *addr, socklen_t *addrlen)
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1383
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1385
ASSERT(sctp != NULL);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1387
RUN_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1392
if ((sctp->sctp_state <= SCTPS_LISTEN) &&
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1393
sctp->sctp_bound_to_all) {
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1397
err = sctp_getmyaddrs(sctp, sin4, &addrcnt);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1407
if ((sctp->sctp_state <= SCTPS_LISTEN) &&
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1408
sctp->sctp_bound_to_all) {
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1412
err = sctp_getmyaddrs(sctp, sin6, &addrcnt);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1422
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1432
sctp_getpeername(sctp_t *sctp, struct sockaddr *addr, socklen_t *addrlen)
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1437
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1439
ASSERT(sctp != NULL);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1441
RUN_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1445
err = sctp_getpeeraddrs(sctp, addr, &addrcnt);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1454
err = sctp_getpeeraddrs(sctp, sin6, &addrcnt);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1462
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
147
for (meta = sctp->sctp_uo_frags; meta != NULL; meta = meta->b_next)
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1472
sctp_getpeeraddrs(sctp_t *sctp, void *paddrs, int *addrcnt)
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1479
sctp_faddr_t *fp = sctp->sctp_faddrs;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1481
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1483
ASSERT(sctp != NULL);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1485
if (sctp->sctp_faddrs == NULL)
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1493
addr = sctp->sctp_primary->sf_faddr;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1509
(sctp->sctp_primary->sf_ixa->ixa_flags &
usr/src/uts/common/inet/sctp/sctp_opt_data.c
1512
sctp->sctp_primary->sf_ixa->ixa_scopeid;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
157
sctp_get_paddrinfo(sctp_t *sctp, void *ptr, socklen_t *optlen)
usr/src/uts/common/inet/sctp/sctp_opt_data.c
178
if ((fp = sctp_lookup_faddr(sctp, &faddr)) == NULL)
usr/src/uts/common/inet/sctp/sctp_opt_data.c
196
sctp_get_rtoinfo(sctp_t *sctp, void *ptr)
usr/src/uts/common/inet/sctp/sctp_opt_data.c
200
srto->srto_initial = TICK_TO_MSEC(sctp->sctp_rto_initial);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
201
srto->srto_max = TICK_TO_MSEC(sctp->sctp_rto_max);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
202
srto->srto_min = TICK_TO_MSEC(sctp->sctp_rto_min);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
208
sctp_set_rtoinfo(sctp_t *sctp, const void *invalp)
usr/src/uts/common/inet/sctp/sctp_opt_data.c
212
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
213
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
240
new_min = (srto->srto_min != 0) ? srto->srto_min : sctp->sctp_rto_min;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
241
new_max = (srto->srto_max != 0) ? srto->srto_max : sctp->sctp_rto_max;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
247
sctp->sctp_rto_initial = MSEC_TO_TICK(srto->srto_initial);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
252
sctp->sctp_rto_max = MAX(MSEC_TO_TICK(srto->srto_max), 1);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
255
sctp->sctp_rto_min = MSEC_TO_TICK(srto->srto_min);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
265
sctp_get_assocparams(sctp_t *sctp, void *ptr)
usr/src/uts/common/inet/sctp/sctp_opt_data.c
271
sap->sasoc_asocmaxrxt = sctp->sctp_pa_max_rxt;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
276
for (i = 0, fp = sctp->sctp_faddrs; fp != NULL; fp = fp->sf_next) {
usr/src/uts/common/inet/sctp/sctp_opt_data.c
280
sap->sasoc_peer_rwnd = sctp->sctp_frwnd;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
281
sap->sasoc_local_rwnd = sctp->sctp_rwnd;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
282
sap->sasoc_cookie_life = TICK_TO_MSEC(sctp->sctp_cookie_lifetime);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
288
sctp_set_assocparams(sctp_t *sctp, const void *invalp)
usr/src/uts/common/inet/sctp/sctp_opt_data.c
293
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
296
if (sctp->sctp_faddrs) {
usr/src/uts/common/inet/sctp/sctp_opt_data.c
301
for (fp = sctp->sctp_faddrs; fp; fp = fp->sf_next) {
usr/src/uts/common/inet/sctp/sctp_opt_data.c
323
sctp->sctp_pa_max_rxt = sap->sasoc_asocmaxrxt;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
326
sctp->sctp_cookie_lifetime = MSEC_TO_TICK(
usr/src/uts/common/inet/sctp/sctp_opt_data.c
336
sctp_get_initmsg(sctp_t *sctp, void *ptr)
usr/src/uts/common/inet/sctp/sctp_opt_data.c
340
si->sinit_num_ostreams = sctp->sctp_num_ostr;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
341
si->sinit_max_instreams = sctp->sctp_num_istr;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
342
si->sinit_max_attempts = sctp->sctp_max_init_rxt;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
343
si->sinit_max_init_timeo = TICK_TO_MSEC(sctp->sctp_rto_max_init);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
349
sctp_set_initmsg(sctp_t *sctp, const void *invalp, uint_t inlen)
usr/src/uts/common/inet/sctp/sctp_opt_data.c
352
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
353
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
355
if (sctp->sctp_state > SCTPS_LISTEN) {
usr/src/uts/common/inet/sctp/sctp_opt_data.c
387
sctp->sctp_num_ostr = si->sinit_num_ostreams;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
390
sctp->sctp_num_istr = si->sinit_max_instreams;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
393
sctp->sctp_max_init_rxt = si->sinit_max_attempts;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
396
sctp->sctp_rto_max_init =
usr/src/uts/common/inet/sctp/sctp_opt_data.c
406
sctp_find_peer_fp(sctp_t *sctp, const struct sockaddr_storage *ss,
usr/src/uts/common/inet/sctp/sctp_opt_data.c
427
*fpp = sctp_lookup_faddr(sctp, &addr);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
436
sctp_get_peer_addr_params(sctp_t *sctp, void *ptr)
usr/src/uts/common/inet/sctp/sctp_opt_data.c
442
retval = sctp_find_peer_fp(sctp, &spp->spp_address, &fp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
450
spp->spp_hbinterval = TICK_TO_MSEC(sctp->sctp_hb_interval);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
451
spp->spp_pathmaxrxt = sctp->sctp_pp_max_rxt;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
457
sctp_set_peer_addr_params(sctp_t *sctp, const void *invalp)
usr/src/uts/common/inet/sctp/sctp_opt_data.c
464
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
466
retval = sctp_find_peer_fp(sctp, &spp->spp_address, &fp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
481
if (spp->spp_pathmaxrxt && sctp->sctp_faddrs) {
usr/src/uts/common/inet/sctp/sctp_opt_data.c
482
for (fp2 = sctp->sctp_faddrs; fp2; fp2 = fp2->sf_next) {
usr/src/uts/common/inet/sctp/sctp_opt_data.c
489
if (sctp->sctp_pa_max_rxt > sum) {
usr/src/uts/common/inet/sctp/sctp_opt_data.c
501
sctp_send_heartbeat(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
510
sctp_heartbeat_timer(sctp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
516
for (fp2 = sctp->sctp_faddrs; fp2 != NULL; fp2 = fp2->sf_next) {
usr/src/uts/common/inet/sctp/sctp_opt_data.c
522
sctp_send_heartbeat(sctp, fp2);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
533
sctp->sctp_hb_interval = MSEC_TO_TICK(
usr/src/uts/common/inet/sctp/sctp_opt_data.c
536
sctp_timer(sctp, sctp->sctp_heartbeat_mp,
usr/src/uts/common/inet/sctp/sctp_opt_data.c
537
sctp->sctp_hb_interval);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
540
sctp->sctp_pp_max_rxt = spp->spp_pathmaxrxt;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
550
sctp_get_def_send_params(sctp_t *sctp, void *ptr)
usr/src/uts/common/inet/sctp/sctp_opt_data.c
554
sinfo->sinfo_stream = sctp->sctp_def_stream;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
556
sinfo->sinfo_flags = sctp->sctp_def_flags;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
557
sinfo->sinfo_ppid = sctp->sctp_def_ppid;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
558
sinfo->sinfo_context = sctp->sctp_def_context;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
559
sinfo->sinfo_timetolive = sctp->sctp_def_timetolive;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
567
sctp_set_def_send_params(sctp_t *sctp, const void *invalp)
usr/src/uts/common/inet/sctp/sctp_opt_data.c
571
if (sinfo->sinfo_stream >= sctp->sctp_num_ostr) {
usr/src/uts/common/inet/sctp/sctp_opt_data.c
575
sctp->sctp_def_stream = sinfo->sinfo_stream;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
576
sctp->sctp_def_flags = sinfo->sinfo_flags;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
577
sctp->sctp_def_ppid = sinfo->sinfo_ppid;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
578
sctp->sctp_def_context = sinfo->sinfo_context;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
579
sctp->sctp_def_timetolive = sinfo->sinfo_timetolive;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
585
sctp_set_prim(sctp_t *sctp, const void *invalp)
usr/src/uts/common/inet/sctp/sctp_opt_data.c
591
retval = sctp_find_peer_fp(sctp, &pp->sspp_addr, &fp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
597
if (fp == sctp->sctp_primary)
usr/src/uts/common/inet/sctp/sctp_opt_data.c
599
sctp->sctp_primary = fp;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
602
if (fp->sf_state != SCTP_FADDRS_ALIVE || fp == sctp->sctp_current) {
usr/src/uts/common/inet/sctp/sctp_opt_data.c
605
sctp_set_faddr_current(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
69
sctp_get_status(sctp_t *sctp, void *ptr)
usr/src/uts/common/inet/sctp/sctp_opt_data.c
78
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
799
sctp_get_opt(sctp_t *sctp, int level, int name, void *ptr, socklen_t *optlen)
usr/src/uts/common/inet/sctp/sctp_opt_data.c
80
sstat->sstat_state = sctp->sctp_state;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
804
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
81
sstat->sstat_rwnd = sctp->sctp_frwnd;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
814
RUN_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
817
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
828
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
839
*optlen = sctp_get_rtoinfo(sctp, ptr);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
84
if (!sctp->sctp_primary) {
usr/src/uts/common/inet/sctp/sctp_opt_data.c
842
*optlen = sctp_get_assocparams(sctp, ptr);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
845
*optlen = sctp_get_initmsg(sctp, ptr);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
848
*i1 = sctp->sctp_ndelay;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
851
*i1 = TICK_TO_SEC(sctp->sctp_autoclose);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
855
sctp->sctp_tx_adaptation_code;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
858
*optlen = sctp_get_peer_addr_params(sctp, ptr);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
861
*optlen = sctp_get_def_send_params(sctp, ptr);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
868
ONOFF(sctp->sctp_recvsndrcvinfo);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
870
ONOFF(sctp->sctp_recvassocevnt);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
872
ONOFF(sctp->sctp_recvpathevnt);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
874
ONOFF(sctp->sctp_recvsendfailevnt);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
876
ONOFF(sctp->sctp_recvpeererr);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
878
ONOFF(sctp->sctp_recvshutdownevnt);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
88
fp = sctp->sctp_primary;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
880
ONOFF(sctp->sctp_recvpdevnt);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
882
ONOFF(sctp->sctp_recvalevnt);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
887
*optlen = sctp_get_status(sctp, ptr);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
890
retval = sctp_get_paddrinfo(sctp, ptr, optlen);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
893
*(int32_t *)ptr = sctp->sctp_nsaddrs;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
904
retval = sctp_getmyaddrs(sctp, ptr, &addr_cnt);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
913
for (i = 0, fp = sctp->sctp_faddrs; fp != NULL;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
928
retval = sctp_getpeeraddrs(sctp, ptr, &addr_cnt);
usr/src/uts/common/inet/sctp/sctp_opt_data.c
934
*i1 = sctp->sctp_prsctp_aware ? 1 : 0;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
948
sas->sas_gapcnt = sctp->sctp_gapcnt;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
949
sas->sas_outseqtsns = sctp->sctp_outseqtsns;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
95
sp->spinfo_mtu = sctp->sctp_hdr_len;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
950
sas->sas_osacks = sctp->sctp_osacks;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
951
sas->sas_isacks = sctp->sctp_isacks;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
952
sas->sas_idupchunks = sctp->sctp_idupchunks;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
953
sas->sas_rtxchunks = sctp->sctp_rxtchunks +
usr/src/uts/common/inet/sctp/sctp_opt_data.c
954
sctp->sctp_cum_rxtchunks;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
955
sas->sas_octrlchunks = sctp->sctp_obchunks +
usr/src/uts/common/inet/sctp/sctp_opt_data.c
956
sctp->sctp_cum_obchunks;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
957
sas->sas_ictrlchunks = sctp->sctp_ibchunks +
usr/src/uts/common/inet/sctp/sctp_opt_data.c
958
sctp->sctp_cum_ibchunks;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
959
sas->sas_oodchunks = sctp->sctp_odchunks +
usr/src/uts/common/inet/sctp/sctp_opt_data.c
960
sctp->sctp_cum_odchunks;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
961
sas->sas_iodchunks = sctp->sctp_idchunks +
usr/src/uts/common/inet/sctp/sctp_opt_data.c
962
sctp->sctp_cum_idchunks;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
963
sas->sas_ouodchunks = sctp->sctp_oudchunks +
usr/src/uts/common/inet/sctp/sctp_opt_data.c
964
sctp->sctp_cum_oudchunks;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
965
sas->sas_iuodchunks = sctp->sctp_iudchunks +
usr/src/uts/common/inet/sctp/sctp_opt_data.c
966
sctp->sctp_cum_iudchunks;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
972
if (sctp->sctp_maxrto == 0) {
usr/src/uts/common/inet/sctp/sctp_opt_data.c
974
sas->sas_maxrto = sctp->sctp_prev_maxrto;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
977
sas->sas_maxrto = sctp->sctp_maxrto;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
980
sctp->sctp_prev_maxrto = sas->sas_maxrto;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
983
sctp->sctp_maxrto = 0;
usr/src/uts/common/inet/sctp/sctp_opt_data.c
996
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_output.c
1007
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_output.c
1012
if (sctp->sctp_ftsn == sctp->sctp_lastacked + 1) {
usr/src/uts/common/inet/sctp/sctp_output.c
1018
(sizeof (sctp_sack_frag_t) * sctp->sctp_sack_gaps);
usr/src/uts/common/inet/sctp/sctp_output.c
1019
lfp = sctp->sctp_lastdata;
usr/src/uts/common/inet/sctp/sctp_output.c
1022
lfp = sctp->sctp_current;
usr/src/uts/common/inet/sctp/sctp_output.c
1025
cansend = sctp->sctp_frwnd;
usr/src/uts/common/inet/sctp/sctp_output.c
1026
if (sctp->sctp_unsent < cansend)
usr/src/uts/common/inet/sctp/sctp_output.c
1027
cansend = sctp->sctp_unsent;
usr/src/uts/common/inet/sctp/sctp_output.c
1034
if ((cansend < sctp->sctp_current->sf_pmss / 2) &&
usr/src/uts/common/inet/sctp/sctp_output.c
1035
(sctp->sctp_unacked != 0) &&
usr/src/uts/common/inet/sctp/sctp_output.c
1036
(sctp->sctp_unacked < sctp->sctp_current->sf_pmss) &&
usr/src/uts/common/inet/sctp/sctp_output.c
1037
!sctp->sctp_ndelay ||
usr/src/uts/common/inet/sctp/sctp_output.c
1038
(cansend == 0 && sctp->sctp_unacked == 0 &&
usr/src/uts/common/inet/sctp/sctp_output.c
1039
sctp->sctp_unsent != 0)) {
usr/src/uts/common/inet/sctp/sctp_output.c
1041
fp = sctp->sctp_current;
usr/src/uts/common/inet/sctp/sctp_output.c
1058
meta = sctp_get_msg_to_send(sctp, &mp,
usr/src/uts/common/inet/sctp/sctp_output.c
1063
fp = sctp->sctp_current;
usr/src/uts/common/inet/sctp/sctp_output.c
1066
sctp->sctp_xmit_tail = meta;
usr/src/uts/common/inet/sctp/sctp_output.c
1081
fp = sctp->sctp_current;
usr/src/uts/common/inet/sctp/sctp_output.c
1105
head = sctp_add_proto_hdr(sctp, fp, nmp, sacklen,
usr/src/uts/common/inet/sctp/sctp_output.c
1119
SCTP_CHUNK_SENT(sctp, mp, sdc,
usr/src/uts/common/inet/sctp/sctp_output.c
1132
fp = sctp->sctp_current;
usr/src/uts/common/inet/sctp/sctp_output.c
1152
head = sctp_add_proto_hdr(sctp, fp, nmp, 0, &error);
usr/src/uts/common/inet/sctp/sctp_output.c
1165
SCTP_CHUNK_SENT(sctp, mp, sdc,
usr/src/uts/common/inet/sctp/sctp_output.c
1176
SCTP_CHUNK_SENT(sctp, mp, sdc, fp, chunklen, meta);
usr/src/uts/common/inet/sctp/sctp_output.c
1185
if (sctp->sctp_out_time == 0 && tsn == (sctp->sctp_ltsn - 1)) {
usr/src/uts/common/inet/sctp/sctp_output.c
1186
sctp->sctp_out_time = now;
usr/src/uts/common/inet/sctp/sctp_output.c
1187
sctp->sctp_rtt_tsn = tsn;
usr/src/uts/common/inet/sctp/sctp_output.c
1190
fill = sctp_get_padding(sctp, extra);
usr/src/uts/common/inet/sctp/sctp_output.c
1216
meta = sctp_get_msg_to_send(sctp, &mp,
usr/src/uts/common/inet/sctp/sctp_output.c
1225
sctp->sctp_xmit_tail = meta;
usr/src/uts/common/inet/sctp/sctp_output.c
1248
fill = sctp_get_padding(sctp, extra);
usr/src/uts/common/inet/sctp/sctp_output.c
1261
SCTP_CHUNK_SENT(sctp, mp, sdc, fp, chunklen, meta);
usr/src/uts/common/inet/sctp/sctp_output.c
128
sctp_sendmsg(sctp_t *sctp, mblk_t *mp, int flags)
usr/src/uts/common/inet/sctp/sctp_output.c
1281
ntohs(sdc->sdh_ssn), (void *)fp, sctp->sctp_frwnd,
usr/src/uts/common/inet/sctp/sctp_output.c
1282
cansend, sctp->sctp_lastack_rxd));
usr/src/uts/common/inet/sctp/sctp_output.c
1283
sctp_set_iplen(sctp, head, fp->sf_ixa);
usr/src/uts/common/inet/sctp/sctp_output.c
1285
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_output.c
1288
SCTP_FADDR_TIMER_RESTART(sctp, fp, fp->sf_rto);
usr/src/uts/common/inet/sctp/sctp_output.c
1291
sctp->sctp_active = now;
usr/src/uts/common/inet/sctp/sctp_output.c
1296
SCTP_FADDR_TIMER_RESTART(sctp, fp, fp->sf_rto);
usr/src/uts/common/inet/sctp/sctp_output.c
136
uint16_t sid = sctp->sctp_def_stream;
usr/src/uts/common/inet/sctp/sctp_output.c
137
uint32_t ppid = sctp->sctp_def_ppid;
usr/src/uts/common/inet/sctp/sctp_output.c
138
uint32_t context = sctp->sctp_def_context;
usr/src/uts/common/inet/sctp/sctp_output.c
139
uint16_t msg_flags = sctp->sctp_def_flags;
usr/src/uts/common/inet/sctp/sctp_output.c
1403
sctp_make_ftsn_chunk(sctp_t *sctp, sctp_faddr_t *fp, sctp_ftsn_set_t *sets,
usr/src/uts/common/inet/sctp/sctp_output.c
1412
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_output.c
1416
xtralen = sctp->sctp_hdr_len + sctps->sctps_wroff_xtra;
usr/src/uts/common/inet/sctp/sctp_output.c
1418
xtralen = sctp->sctp_hdr6_len + sctps->sctps_wroff_xtra;
usr/src/uts/common/inet/sctp/sctp_output.c
142
uint32_t timetolive = sctp->sctp_def_timetolive;
usr/src/uts/common/inet/sctp/sctp_output.c
143
conn_t *connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_output.c
1436
U32_TO_ABE32(sctp->sctp_adv_pap, advtsn);
usr/src/uts/common/inet/sctp/sctp_output.c
1459
sctp_make_ftsns(sctp_t *sctp, mblk_t *meta, mblk_t *mp, mblk_t **nmp,
usr/src/uts/common/inet/sctp/sctp_output.c
1471
uint32_t adv_pap = sctp->sctp_adv_pap;
usr/src/uts/common/inet/sctp/sctp_output.c
1474
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_output.c
1480
SEQ_GEQ(sctp->sctp_adv_pap, ntohl(sdc->sdh_tsn))) {
usr/src/uts/common/inet/sctp/sctp_output.c
1489
sctp->sctp_adv_pap = adv_pap;
usr/src/uts/common/inet/sctp/sctp_output.c
1512
*nmp = sctp_make_ftsn_chunk(sctp, fp, sets, nsets, *seglen);
usr/src/uts/common/inet/sctp/sctp_output.c
1516
if (sctp->sctp_ftsn == sctp->sctp_lastacked + 1) {
usr/src/uts/common/inet/sctp/sctp_output.c
1521
(sizeof (sctp_sack_frag_t) * sctp->sctp_sack_gaps);
usr/src/uts/common/inet/sctp/sctp_output.c
1522
if (*seglen + sacklen > sctp->sctp_lastdata->sf_pmss) {
usr/src/uts/common/inet/sctp/sctp_output.c
1526
fp = sctp->sctp_lastdata;
usr/src/uts/common/inet/sctp/sctp_output.c
1529
head = sctp_add_proto_hdr(sctp, fp, *nmp, sacklen, NULL);
usr/src/uts/common/inet/sctp/sctp_output.c
1546
SEQ_GEQ(sctp->sctp_adv_pap, ntohl(sdc->sdh_tsn))) {
usr/src/uts/common/inet/sctp/sctp_output.c
1553
SCTP_CHUNK_SENT(sctp, mp1, sdc, fp, clen,
usr/src/uts/common/inet/sctp/sctp_output.c
1576
ASSERT(sctp->sctp_unsent >= unsent);
usr/src/uts/common/inet/sctp/sctp_output.c
1577
sctp->sctp_unsent -= unsent;
usr/src/uts/common/inet/sctp/sctp_output.c
1582
if (!SCTP_IS_DETACHED(sctp))
usr/src/uts/common/inet/sctp/sctp_output.c
1583
SCTP_TXQ_UPDATE(sctp);
usr/src/uts/common/inet/sctp/sctp_output.c
1595
sctp_check_adv_ack_pt(sctp_t *sctp, mblk_t *meta, mblk_t *mp)
usr/src/uts/common/inet/sctp/sctp_output.c
1597
uint32_t tsn = sctp->sctp_adv_pap;
usr/src/uts/common/inet/sctp/sctp_output.c
1603
ASSERT(SEQ_GT(ntohl(sdc->sdh_tsn), sctp->sctp_lastack_rxd));
usr/src/uts/common/inet/sctp/sctp_output.c
1606
!SCTP_MSG_TO_BE_ABANDONED(meta, msg_hdr, sctp)) {
usr/src/uts/common/inet/sctp/sctp_output.c
1626
!SCTP_MSG_TO_BE_ABANDONED(meta, msg_hdr, sctp)) {
usr/src/uts/common/inet/sctp/sctp_output.c
1631
sctp->sctp_adv_pap = tsn;
usr/src/uts/common/inet/sctp/sctp_output.c
1641
sctp->sctp_adv_pap = tsn;
usr/src/uts/common/inet/sctp/sctp_output.c
1667
sctp_rexmit(sctp_t *sctp, sctp_faddr_t *oldfp)
usr/src/uts/common/inet/sctp/sctp_output.c
1672
mblk_t *meta = sctp->sctp_xmit_head;
usr/src/uts/common/inet/sctp/sctp_output.c
1680
uint32_t adv_pap = sctp->sctp_adv_pap;
usr/src/uts/common/inet/sctp/sctp_output.c
1685
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_output.c
1721
if (SEQ_GT(tsn, sctp->sctp_lastack_rxd)) {
usr/src/uts/common/inet/sctp/sctp_output.c
1722
if (sctp->sctp_prsctp_aware && ftsn_check) {
usr/src/uts/common/inet/sctp/sctp_output.c
1723
if (SEQ_GEQ(sctp->sctp_adv_pap, tsn)) {
usr/src/uts/common/inet/sctp/sctp_output.c
1724
ASSERT(sctp->sctp_prsctp_aware);
usr/src/uts/common/inet/sctp/sctp_output.c
1728
sctp_check_adv_ack_pt(sctp,
usr/src/uts/common/inet/sctp/sctp_output.c
1730
if (SEQ_GT(sctp->sctp_adv_pap,
usr/src/uts/common/inet/sctp/sctp_output.c
1743
if (meta != NULL && sctp->sctp_prsctp_aware) {
usr/src/uts/common/inet/sctp/sctp_output.c
1747
SCTP_MSG_TO_BE_ABANDONED(meta, mhdr, sctp))) {
usr/src/uts/common/inet/sctp/sctp_output.c
1757
if (sctp->sctp_unacked == 0 && sctp->sctp_unsent != 0) {
usr/src/uts/common/inet/sctp/sctp_output.c
1762
if (sctp->sctp_frwnd < (oldfp->sf_pmss - sizeof (*sdc)))
usr/src/uts/common/inet/sctp/sctp_output.c
1763
sctp->sctp_frwnd = oldfp->sf_pmss - sizeof (*sdc);
usr/src/uts/common/inet/sctp/sctp_output.c
1766
sctp->sctp_rxt_nxttsn = sctp->sctp_ltsn;
usr/src/uts/common/inet/sctp/sctp_output.c
1773
sctp_output(sctp, 1);
usr/src/uts/common/inet/sctp/sctp_output.c
1776
sctp->sctp_rxt_maxtsn = sctp->sctp_ltsn - 1;
usr/src/uts/common/inet/sctp/sctp_output.c
1777
ASSERT(sctp->sctp_rxt_maxtsn >= sctp->sctp_rxt_nxttsn);
usr/src/uts/common/inet/sctp/sctp_output.c
1778
sctp->sctp_zero_win_probe = B_TRUE;
usr/src/uts/common/inet/sctp/sctp_output.c
179
fp = sctp_lookup_faddr(sctp, addr);
usr/src/uts/common/inet/sctp/sctp_output.c
1793
if (sctp->sctp_zero_win_probe) {
usr/src/uts/common/inet/sctp/sctp_output.c
1803
fp = sctp_rotate_faddr(sctp, oldfp);
usr/src/uts/common/inet/sctp/sctp_output.c
1804
pkt = sctp_rexmit_packet(sctp, &meta, &mp, fp, &pkt_len);
usr/src/uts/common/inet/sctp/sctp_output.c
1807
sctp_set_iplen(sctp, pkt, fp->sf_ixa);
usr/src/uts/common/inet/sctp/sctp_output.c
1809
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_output.c
1819
sctp->sctp_strikes++;
usr/src/uts/common/inet/sctp/sctp_output.c
1821
SCTP_CALC_RXT(sctp, oldfp, sctp->sctp_rto_max);
usr/src/uts/common/inet/sctp/sctp_output.c
1823
SCTP_FADDR_TIMER_RESTART(sctp, oldfp, fp->sf_rto);
usr/src/uts/common/inet/sctp/sctp_output.c
1824
SCTP_FADDR_TIMER_RESTART(sctp, fp, fp->sf_rto);
usr/src/uts/common/inet/sctp/sctp_output.c
1837
fp = sctp_rotate_faddr(sctp, oldfp);
usr/src/uts/common/inet/sctp/sctp_output.c
1843
sctp_make_ftsns(sctp, meta, mp, &nmp, fp, &seglen);
usr/src/uts/common/inet/sctp/sctp_output.c
1845
sctp->sctp_adv_pap = adv_pap;
usr/src/uts/common/inet/sctp/sctp_output.c
1867
if (sctp->sctp_ftsn == sctp->sctp_lastacked + 1) {
usr/src/uts/common/inet/sctp/sctp_output.c
1872
(sizeof (sctp_sack_frag_t) * sctp->sctp_sack_gaps);
usr/src/uts/common/inet/sctp/sctp_output.c
1873
if (seglen + sacklen > sctp->sctp_lastdata->sf_pmss) {
usr/src/uts/common/inet/sctp/sctp_output.c
1885
if (sctp->sctp_lastdata != oldfp &&
usr/src/uts/common/inet/sctp/sctp_output.c
1886
sctp->sctp_lastdata->sf_state ==
usr/src/uts/common/inet/sctp/sctp_output.c
1888
fp = sctp->sctp_lastdata;
usr/src/uts/common/inet/sctp/sctp_output.c
1897
if (sctp->sctp_out_time != 0 &&
usr/src/uts/common/inet/sctp/sctp_output.c
1898
SEQ_GEQ(sctp->sctp_rtt_tsn, sdc->sdh_tsn)) {
usr/src/uts/common/inet/sctp/sctp_output.c
1899
sctp->sctp_out_time = 0;
usr/src/uts/common/inet/sctp/sctp_output.c
1909
sctp_set_faddr_current(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_output.c
1915
fill = sctp_get_padding(sctp, extra);
usr/src/uts/common/inet/sctp/sctp_output.c
1925
head = sctp_add_proto_hdr(sctp, fp, nmp, sacklen, NULL);
usr/src/uts/common/inet/sctp/sctp_output.c
1933
SCTP_CHUNK_SENT(sctp, mp, sdc, fp, chunklen, meta);
usr/src/uts/common/inet/sctp/sctp_output.c
1957
sctp)) {
usr/src/uts/common/inet/sctp/sctp_output.c
1968
meta = sctp_get_msg_to_send(sctp, &mp, NULL, &error,
usr/src/uts/common/inet/sctp/sctp_output.c
1990
fill = sctp_get_padding(sctp, extra);
usr/src/uts/common/inet/sctp/sctp_output.c
2001
SCTP_CHUNK_SENT(sctp, mp, sdc, fp, chunklen, meta);
usr/src/uts/common/inet/sctp/sctp_output.c
2022
(void *)fp, sctp->sctp_frwnd, sctp->sctp_lastack_rxd));
usr/src/uts/common/inet/sctp/sctp_output.c
2024
sctp->sctp_rexmitting = B_TRUE;
usr/src/uts/common/inet/sctp/sctp_output.c
2025
sctp->sctp_rxt_nxttsn = first_ua_tsn;
usr/src/uts/common/inet/sctp/sctp_output.c
2026
sctp->sctp_rxt_maxtsn = sctp->sctp_ltsn - 1;
usr/src/uts/common/inet/sctp/sctp_output.c
2027
sctp_set_iplen(sctp, head, fp->sf_ixa);
usr/src/uts/common/inet/sctp/sctp_output.c
2029
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_output.c
2037
sctp->sctp_strikes++;
usr/src/uts/common/inet/sctp/sctp_output.c
2038
SCTP_CALC_RXT(sctp, oldfp, sctp->sctp_rto_max);
usr/src/uts/common/inet/sctp/sctp_output.c
2046
SCTP_FADDR_TIMER_RESTART(sctp, oldfp, oldfp->sf_rto);
usr/src/uts/common/inet/sctp/sctp_output.c
2061
SCTP_FADDR_TIMER_RESTART(sctp, fp, fp->sf_rto);
usr/src/uts/common/inet/sctp/sctp_output.c
2063
sctp->sctp_active = ddi_get_lbolt64();
usr/src/uts/common/inet/sctp/sctp_output.c
2076
sctp_rexmit_packet(sctp_t *sctp, mblk_t **meta, mblk_t **mp, sctp_faddr_t *fp,
usr/src/uts/common/inet/sctp/sctp_output.c
2098
fill = sctp_get_padding(sctp, extra);
usr/src/uts/common/inet/sctp/sctp_output.c
2108
head = sctp_add_proto_hdr(sctp, fp, nmp, 0, NULL);
usr/src/uts/common/inet/sctp/sctp_output.c
2113
SCTP_CHUNK_SENT(sctp, *mp, sdc, fp, chunklen, *meta);
usr/src/uts/common/inet/sctp/sctp_output.c
2117
if (!sctp->sctp_zero_win_probe)
usr/src/uts/common/inet/sctp/sctp_output.c
2118
sctp->sctp_rxt_nxttsn = ntohl(sdc->sdh_tsn);
usr/src/uts/common/inet/sctp/sctp_output.c
2145
sctp)) {
usr/src/uts/common/inet/sctp/sctp_output.c
2158
if (SEQ_GT(ntohl(sdc->sdh_tsn), sctp->sctp_rxt_maxtsn))
usr/src/uts/common/inet/sctp/sctp_output.c
2171
fill = sctp_get_padding(sctp, extra);
usr/src/uts/common/inet/sctp/sctp_output.c
2182
SCTP_CHUNK_SENT(sctp, *mp, sdc, fp, chunklen, *meta);
usr/src/uts/common/inet/sctp/sctp_output.c
2186
if (!sctp->sctp_zero_win_probe)
usr/src/uts/common/inet/sctp/sctp_output.c
2187
sctp->sctp_rxt_nxttsn = ntohl(sdc->sdh_tsn);
usr/src/uts/common/inet/sctp/sctp_output.c
2209
sctp_ss_rexmit(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_output.c
2219
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_output.c
2221
ASSERT(!sctp->sctp_zero_win_probe);
usr/src/uts/common/inet/sctp/sctp_output.c
2227
if (SEQ_GEQ(sctp->sctp_lastack_rxd, sctp->sctp_rxt_nxttsn))
usr/src/uts/common/inet/sctp/sctp_output.c
2228
sctp->sctp_rxt_nxttsn = sctp->sctp_lastack_rxd + 1;
usr/src/uts/common/inet/sctp/sctp_output.c
2231
ASSERT(SEQ_LEQ(sctp->sctp_rxt_nxttsn, sctp->sctp_rxt_maxtsn));
usr/src/uts/common/inet/sctp/sctp_output.c
2237
fp = sctp->sctp_current;
usr/src/uts/common/inet/sctp/sctp_output.c
2272
for (meta = sctp->sctp_xmit_head; meta != NULL; meta = meta->b_next) {
usr/src/uts/common/inet/sctp/sctp_output.c
2276
SCTP_MSG_TO_BE_ABANDONED(meta, mhdr, sctp)) {
usr/src/uts/common/inet/sctp/sctp_output.c
2285
if (ntohl(sdc->sdh_tsn) == sctp->sctp_rxt_nxttsn)
usr/src/uts/common/inet/sctp/sctp_output.c
229
RUN_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_output.c
2295
SCTP_FADDR_TIMER_RESTART(sctp, fp, fp->sf_rto);
usr/src/uts/common/inet/sctp/sctp_output.c
2296
pkt = sctp_rexmit_packet(sctp, &meta, &mp, fp, &pkt_len);
usr/src/uts/common/inet/sctp/sctp_output.c
230
sctp_user_abort(sctp, mp);
usr/src/uts/common/inet/sctp/sctp_output.c
2311
sctp_set_iplen(sctp, pkt, fp->sf_ixa);
usr/src/uts/common/inet/sctp/sctp_output.c
2313
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_output.c
237
RUN_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_output.c
240
if (sctp->sctp_state > SCTPS_ESTABLISHED ||
usr/src/uts/common/inet/sctp/sctp_output.c
241
(sctp->sctp_connp->conn_state_flags & CONN_CLOSING)) {
usr/src/uts/common/inet/sctp/sctp_output.c
267
if (sctp->sctp_state >= SCTPS_COOKIE_ECHOED &&
usr/src/uts/common/inet/sctp/sctp_output.c
268
sid >= sctp->sctp_num_ostr) {
usr/src/uts/common/inet/sctp/sctp_output.c
270
sctp_sendfail_event(sctp, dupmsg(mproto), SCTP_ERR_BAD_SID,
usr/src/uts/common/inet/sctp/sctp_output.c
278
sctp_sendfail_event(sctp, dupmsg(mproto),
usr/src/uts/common/inet/sctp/sctp_output.c
285
if (sctp->sctp_xmit_unsent == NULL) {
usr/src/uts/common/inet/sctp/sctp_output.c
286
sctp->sctp_xmit_unsent = sctp->sctp_xmit_unsent_tail = mproto;
usr/src/uts/common/inet/sctp/sctp_output.c
288
sctp->sctp_xmit_unsent_tail->b_next = mproto;
usr/src/uts/common/inet/sctp/sctp_output.c
289
sctp->sctp_xmit_unsent_tail = mproto;
usr/src/uts/common/inet/sctp/sctp_output.c
291
sctp->sctp_unsent += msg_len;
usr/src/uts/common/inet/sctp/sctp_output.c
292
BUMP_LOCAL(sctp->sctp_msgcount);
usr/src/uts/common/inet/sctp/sctp_output.c
296
if (SCTP_TXQ_LEN(sctp) >= connp->conn_sndbuf) {
usr/src/uts/common/inet/sctp/sctp_output.c
297
sctp->sctp_txq_full = 1;
usr/src/uts/common/inet/sctp/sctp_output.c
298
sctp->sctp_ulp_txq_full(sctp->sctp_ulpd, B_TRUE);
usr/src/uts/common/inet/sctp/sctp_output.c
300
if (sctp->sctp_state == SCTPS_ESTABLISHED)
usr/src/uts/common/inet/sctp/sctp_output.c
301
sctp_output(sctp, UINT_MAX);
usr/src/uts/common/inet/sctp/sctp_output.c
303
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_output.c
306
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_output.c
320
sctp_chunkify(sctp_t *sctp, int mss, int firstseg_len, int bytes_to_send)
usr/src/uts/common/inet/sctp/sctp_output.c
330
mblk_t *mdblk = sctp->sctp_xmit_unsent;
usr/src/uts/common/inet/sctp/sctp_output.c
335
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_output.c
344
fp = sctp->sctp_current;
usr/src/uts/common/inet/sctp/sctp_output.c
346
xtralen = sctp->sctp_hdr_len + sctps->sctps_wroff_xtra +
usr/src/uts/common/inet/sctp/sctp_output.c
349
xtralen = sctp->sctp_hdr6_len + sctps->sctps_wroff_xtra +
usr/src/uts/common/inet/sctp/sctp_output.c
353
next_msg_hdr = (sctp_msg_hdr_t *)sctp->sctp_xmit_unsent->b_rptr;
usr/src/uts/common/inet/sctp/sctp_output.c
387
if (SCTP_MSG_TO_BE_ABANDONED(mdblk, msg_hdr, sctp)) {
usr/src/uts/common/inet/sctp/sctp_output.c
388
sctp->sctp_xmit_unsent = mdblk->b_next;
usr/src/uts/common/inet/sctp/sctp_output.c
389
if (sctp->sctp_xmit_unsent == NULL)
usr/src/uts/common/inet/sctp/sctp_output.c
390
sctp->sctp_xmit_unsent_tail = NULL;
usr/src/uts/common/inet/sctp/sctp_output.c
391
ASSERT(sctp->sctp_unsent >= msg_hdr->smh_msglen);
usr/src/uts/common/inet/sctp/sctp_output.c
392
sctp->sctp_unsent -= msg_hdr->smh_msglen;
usr/src/uts/common/inet/sctp/sctp_output.c
394
BUMP_LOCAL(sctp->sctp_prsctpdrop);
usr/src/uts/common/inet/sctp/sctp_output.c
399
if (!SCTP_IS_DETACHED(sctp))
usr/src/uts/common/inet/sctp/sctp_output.c
400
SCTP_TXQ_UPDATE(sctp);
usr/src/uts/common/inet/sctp/sctp_output.c
401
sctp_sendfail_event(sctp, mdblk, 0, B_FALSE);
usr/src/uts/common/inet/sctp/sctp_output.c
431
return (sctp->sctp_xmit_tail);
usr/src/uts/common/inet/sctp/sctp_output.c
465
return (sctp->sctp_xmit_tail);
usr/src/uts/common/inet/sctp/sctp_output.c
506
sctp->sctp_xmit_unsent = mdblk->b_next;
usr/src/uts/common/inet/sctp/sctp_output.c
508
sctp->sctp_xmit_unsent_tail = NULL;
usr/src/uts/common/inet/sctp/sctp_output.c
512
if (sctp->sctp_xmit_tail == NULL) {
usr/src/uts/common/inet/sctp/sctp_output.c
513
sctp->sctp_xmit_head = sctp->sctp_xmit_tail = mdblk;
usr/src/uts/common/inet/sctp/sctp_output.c
515
mp = sctp->sctp_xmit_tail;
usr/src/uts/common/inet/sctp/sctp_output.c
522
if (bytes_to_send > 0 && sctp->sctp_xmit_unsent != NULL) {
usr/src/uts/common/inet/sctp/sctp_output.c
523
mdblk = sctp->sctp_xmit_unsent;
usr/src/uts/common/inet/sctp/sctp_output.c
526
fp1 = sctp->sctp_current;
usr/src/uts/common/inet/sctp/sctp_output.c
540
xtralen = sctp->sctp_hdr_len;
usr/src/uts/common/inet/sctp/sctp_output.c
542
xtralen = sctp->sctp_hdr6_len;
usr/src/uts/common/inet/sctp/sctp_output.c
549
return (sctp->sctp_xmit_tail);
usr/src/uts/common/inet/sctp/sctp_output.c
568
sctp_add_proto_hdr(sctp_t *sctp, sctp_faddr_t *fp, mblk_t *mp, int sacklen,
usr/src/uts/common/inet/sctp/sctp_output.c
574
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_output.c
580
hdrlen = sctp->sctp_hdr_len;
usr/src/uts/common/inet/sctp/sctp_output.c
581
hdr = sctp->sctp_iphc;
usr/src/uts/common/inet/sctp/sctp_output.c
583
hdrlen = sctp->sctp_hdr6_len;
usr/src/uts/common/inet/sctp/sctp_output.c
584
hdr = sctp->sctp_iphc6;
usr/src/uts/common/inet/sctp/sctp_output.c
599
sctp_get_dest(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_output.c
632
sctp_fill_sack(sctp, mp->b_rptr + hdrlen, sacklen);
usr/src/uts/common/inet/sctp/sctp_output.c
634
if (fp != sctp->sctp_current) {
usr/src/uts/common/inet/sctp/sctp_output.c
643
} else if (sctp->sctp_bound_to_all) {
usr/src/uts/common/inet/sctp/sctp_output.c
652
} else if (sctp->sctp_bound_to_all) {
usr/src/uts/common/inet/sctp/sctp_output.c
666
sctp_get_padding(sctp_t *sctp, int pad)
usr/src/uts/common/inet/sctp/sctp_output.c
671
ASSERT(sctp->sctp_pad_mp != NULL);
usr/src/uts/common/inet/sctp/sctp_output.c
672
if ((fill = dupb(sctp->sctp_pad_mp)) != NULL) {
usr/src/uts/common/inet/sctp/sctp_output.c
692
sctp_find_fast_rexmit_mblks(sctp_t *sctp, int *total, sctp_faddr_t **fp)
usr/src/uts/common/inet/sctp/sctp_output.c
705
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_output.c
707
for (meta = sctp->sctp_xmit_head; meta != NULL; meta = meta->b_next) {
usr/src/uts/common/inet/sctp/sctp_output.c
710
SCTP_MSG_TO_BE_ABANDONED(meta, msg_hdr, sctp)) {
usr/src/uts/common/inet/sctp/sctp_output.c
729
*fp = sctp->sctp_current;
usr/src/uts/common/inet/sctp/sctp_output.c
756
fill = sctp_get_padding(sctp, extra);
usr/src/uts/common/inet/sctp/sctp_output.c
764
BUMP_LOCAL(sctp->sctp_rxtchunks);
usr/src/uts/common/inet/sctp/sctp_output.c
779
sctp->sctp_chk_fast_rexmit = B_FALSE;
usr/src/uts/common/inet/sctp/sctp_output.c
815
sctp_get_msg_to_send(sctp_t *sctp, mblk_t **mp, mblk_t *meta, int *error,
usr/src/uts/common/inet/sctp/sctp_output.c
826
ASSERT(sctp->sctp_current != NULL);
usr/src/uts/common/inet/sctp/sctp_output.c
835
if (!SCTP_MSG_TO_BE_ABANDONED(meta, msg_hdr, sctp)) {
usr/src/uts/common/inet/sctp/sctp_output.c
841
sctp->sctp_xmit_head, meta));
usr/src/uts/common/inet/sctp/sctp_output.c
861
*error = sctp_check_abandoned_msg(sctp, meta);
usr/src/uts/common/inet/sctp/sctp_output.c
864
ASSERT(sctp_verify_chain(sctp->sctp_xmit_head,
usr/src/uts/common/inet/sctp/sctp_output.c
865
sctp->sctp_xmit_tail));
usr/src/uts/common/inet/sctp/sctp_output.c
871
BUMP_LOCAL(sctp->sctp_prsctpdrop);
usr/src/uts/common/inet/sctp/sctp_output.c
872
ASSERT(sctp->sctp_unsent >= msg_hdr->smh_msglen);
usr/src/uts/common/inet/sctp/sctp_output.c
874
ASSERT(sctp->sctp_xmit_head == meta);
usr/src/uts/common/inet/sctp/sctp_output.c
875
sctp->sctp_xmit_head = tmp_meta;
usr/src/uts/common/inet/sctp/sctp_output.c
876
if (sctp->sctp_xmit_tail == meta)
usr/src/uts/common/inet/sctp/sctp_output.c
877
sctp->sctp_xmit_tail = tmp_meta;
usr/src/uts/common/inet/sctp/sctp_output.c
882
if (sctp->sctp_xmit_tail == meta)
usr/src/uts/common/inet/sctp/sctp_output.c
883
sctp->sctp_xmit_tail = meta->b_prev;
usr/src/uts/common/inet/sctp/sctp_output.c
889
if (sctp->sctp_xmit_tail == meta)
usr/src/uts/common/inet/sctp/sctp_output.c
890
sctp->sctp_xmit_tail = tmp_meta;
usr/src/uts/common/inet/sctp/sctp_output.c
894
sctp->sctp_unsent -= msg_hdr->smh_msglen;
usr/src/uts/common/inet/sctp/sctp_output.c
899
if (!SCTP_IS_DETACHED(sctp))
usr/src/uts/common/inet/sctp/sctp_output.c
900
SCTP_TXQ_UPDATE(sctp);
usr/src/uts/common/inet/sctp/sctp_output.c
901
sctp_sendfail_event(sctp, meta, 0, B_TRUE);
usr/src/uts/common/inet/sctp/sctp_output.c
906
if (cansend > 0 && sctp->sctp_xmit_unsent != NULL) {
usr/src/uts/common/inet/sctp/sctp_output.c
907
ASSERT(sctp->sctp_unsent > 0);
usr/src/uts/common/inet/sctp/sctp_output.c
909
fp = SCTP_CHUNK_DEST(sctp->sctp_xmit_unsent);
usr/src/uts/common/inet/sctp/sctp_output.c
911
fp = sctp->sctp_current;
usr/src/uts/common/inet/sctp/sctp_output.c
916
fp1 = SCTP_CHUNK_DEST(sctp->sctp_xmit_unsent);
usr/src/uts/common/inet/sctp/sctp_output.c
922
meta = sctp_chunkify(sctp, fp->sf_pmss, firstseg_len, cansend);
usr/src/uts/common/inet/sctp/sctp_output.c
934
if (SCTP_CHUNK_ISSENT(sctp->sctp_xmit_tail->b_cont)) {
usr/src/uts/common/inet/sctp/sctp_output.c
936
mp1 = sctp->sctp_xmit_tail->b_cont;
usr/src/uts/common/inet/sctp/sctp_output.c
942
if ((meta = sctp->sctp_xmit_tail->b_next) == NULL)
usr/src/uts/common/inet/sctp/sctp_output.c
949
ASSERT(sctp_verify_chain(sctp->sctp_xmit_head, sctp->sctp_xmit_tail));
usr/src/uts/common/inet/sctp/sctp_output.c
955
sctp_fast_rexmit(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_output.c
960
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_output.c
962
ASSERT(sctp->sctp_xmit_head != NULL);
usr/src/uts/common/inet/sctp/sctp_output.c
963
mp = sctp_find_fast_rexmit_mblks(sctp, &pktlen, &fp);
usr/src/uts/common/inet/sctp/sctp_output.c
968
if ((head = sctp_add_proto_hdr(sctp, fp, mp, 0, NULL)) == NULL) {
usr/src/uts/common/inet/sctp/sctp_output.c
979
sctp_set_iplen(sctp, head, fp->sf_ixa);
usr/src/uts/common/inet/sctp/sctp_output.c
981
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_output.c
982
sctp->sctp_active = fp->sf_lastactive = ddi_get_lbolt64();
usr/src/uts/common/inet/sctp/sctp_output.c
986
sctp_output(sctp_t *sctp, uint_t num_pkt)
usr/src/uts/common/inet/sctp/sctp_output.c
991
mblk_t *meta = sctp->sctp_xmit_tail;
usr/src/uts/common/inet/sctp/sctp_shutdown.c
110
sendmp = sctp_make_mp(sctp, fp,
usr/src/uts/common/inet/sctp/sctp_shutdown.c
120
sctp->sctp_lastacked = sctp->sctp_ftsn - 1;
usr/src/uts/common/inet/sctp/sctp_shutdown.c
128
*ctsn = htonl(sctp->sctp_lastacked);
usr/src/uts/common/inet/sctp/sctp_shutdown.c
132
BUMP_LOCAL(sctp->sctp_obchunks);
usr/src/uts/common/inet/sctp/sctp_shutdown.c
135
sctp_set_iplen(sctp, sendmp, fp->sf_ixa);
usr/src/uts/common/inet/sctp/sctp_shutdown.c
137
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_shutdown.c
140
sctp->sctp_state = SCTPS_SHUTDOWN_SENT;
usr/src/uts/common/inet/sctp/sctp_shutdown.c
141
SCTP_FADDR_TIMER_RESTART(sctp, sctp->sctp_current,
usr/src/uts/common/inet/sctp/sctp_shutdown.c
142
sctp->sctp_current->sf_rto);
usr/src/uts/common/inet/sctp/sctp_shutdown.c
146
sctp_shutdown_received(sctp_t *sctp, sctp_chunk_hdr_t *sch, boolean_t crwsd,
usr/src/uts/common/inet/sctp/sctp_shutdown.c
153
if (sctp->sctp_state != SCTPS_SHUTDOWN_ACK_SENT)
usr/src/uts/common/inet/sctp/sctp_shutdown.c
154
sctp->sctp_state = SCTPS_SHUTDOWN_RECEIVED;
usr/src/uts/common/inet/sctp/sctp_shutdown.c
160
if (!SEQ_LT(ntohl(*tsn), sctp->sctp_lastack_rxd))
usr/src/uts/common/inet/sctp/sctp_shutdown.c
161
trysend = sctp_cumack(sctp, ntohl(*tsn), &samp);
usr/src/uts/common/inet/sctp/sctp_shutdown.c
165
if (!SCTP_IS_DETACHED(sctp) && !sctp->sctp_ulp_discon_done) {
usr/src/uts/common/inet/sctp/sctp_shutdown.c
166
sctp->sctp_ulp_opctl(sctp->sctp_ulpd, SOCK_OPCTL_SHUT_SEND, 0);
usr/src/uts/common/inet/sctp/sctp_shutdown.c
167
sctp->sctp_ulp_discon_done = B_TRUE;
usr/src/uts/common/inet/sctp/sctp_shutdown.c
175
if (sctp->sctp_xmit_head != NULL || sctp->sctp_xmit_unsent != NULL)
usr/src/uts/common/inet/sctp/sctp_shutdown.c
181
fp = sctp->sctp_current;
usr/src/uts/common/inet/sctp/sctp_shutdown.c
183
fp = sctp_rotate_faddr(sctp, sctp->sctp_shutdown_faddr);
usr/src/uts/common/inet/sctp/sctp_shutdown.c
186
sctp_send_shutdown_ack(sctp, fp, crwsd);
usr/src/uts/common/inet/sctp/sctp_shutdown.c
192
sctp_shutdown_complete(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_shutdown.c
196
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_shutdown.c
198
scmp = sctp_make_mp(sctp, sctp->sctp_current, sizeof (*scch));
usr/src/uts/common/inet/sctp/sctp_shutdown.c
212
BUMP_LOCAL(sctp->sctp_obchunks);
usr/src/uts/common/inet/sctp/sctp_shutdown.c
214
sctp_set_iplen(sctp, scmp, sctp->sctp_current->sf_ixa);
usr/src/uts/common/inet/sctp/sctp_shutdown.c
215
(void) conn_ip_output(scmp, sctp->sctp_current->sf_ixa);
usr/src/uts/common/inet/sctp/sctp_shutdown.c
216
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_shutdown.c
368
sctp_send_shutdown_ack(sctp_t *sctp, sctp_faddr_t *fp, boolean_t crwsd)
usr/src/uts/common/inet/sctp/sctp_shutdown.c
372
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_shutdown.c
374
ASSERT(sctp->sctp_xmit_unacked == NULL);
usr/src/uts/common/inet/sctp/sctp_shutdown.c
375
ASSERT(sctp->sctp_lastack_rxd == (sctp->sctp_ltsn - 1));
usr/src/uts/common/inet/sctp/sctp_shutdown.c
378
sctp->sctp_shutdown_faddr = fp;
usr/src/uts/common/inet/sctp/sctp_shutdown.c
380
samp = sctp_make_mp(sctp, fp, sizeof (*sach));
usr/src/uts/common/inet/sctp/sctp_shutdown.c
399
errmp = sctp_make_err(sctp, SCTP_ERR_COOKIE_SHUT, NULL, 0);
usr/src/uts/common/inet/sctp/sctp_shutdown.c
402
BUMP_LOCAL(sctp->sctp_obchunks);
usr/src/uts/common/inet/sctp/sctp_shutdown.c
406
BUMP_LOCAL(sctp->sctp_obchunks);
usr/src/uts/common/inet/sctp/sctp_shutdown.c
408
sctp_set_iplen(sctp, samp, fp->sf_ixa);
usr/src/uts/common/inet/sctp/sctp_shutdown.c
410
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_shutdown.c
413
sctp->sctp_state = SCTPS_SHUTDOWN_ACK_SENT;
usr/src/uts/common/inet/sctp/sctp_shutdown.c
414
SCTP_FADDR_TIMER_RESTART(sctp, fp, fp->sf_rto);
usr/src/uts/common/inet/sctp/sctp_shutdown.c
49
sctp_send_shutdown(sctp_t *sctp, int rexmit)
usr/src/uts/common/inet/sctp/sctp_shutdown.c
56
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_shutdown.c
58
if (sctp->sctp_state != SCTPS_ESTABLISHED &&
usr/src/uts/common/inet/sctp/sctp_shutdown.c
59
sctp->sctp_state != SCTPS_SHUTDOWN_PENDING &&
usr/src/uts/common/inet/sctp/sctp_shutdown.c
60
sctp->sctp_state != SCTPS_SHUTDOWN_SENT) {
usr/src/uts/common/inet/sctp/sctp_shutdown.c
64
if (sctp->sctp_state == SCTPS_ESTABLISHED) {
usr/src/uts/common/inet/sctp/sctp_shutdown.c
65
sctp->sctp_state = SCTPS_SHUTDOWN_PENDING;
usr/src/uts/common/inet/sctp/sctp_shutdown.c
77
sctp->sctp_out_time = ddi_get_lbolt64();
usr/src/uts/common/inet/sctp/sctp_shutdown.c
83
if (sctp->sctp_xmit_head != NULL || sctp->sctp_xmit_unsent != NULL) {
usr/src/uts/common/inet/sctp/sctp_shutdown.c
89
fp = sctp->sctp_current;
usr/src/uts/common/inet/sctp/sctp_shutdown.c
91
fp = sctp_rotate_faddr(sctp, sctp->sctp_shutdown_faddr);
usr/src/uts/common/inet/sctp/sctp_shutdown.c
94
sctp->sctp_shutdown_faddr = fp;
usr/src/uts/common/inet/sctp/sctp_shutdown.c
97
if (sctp->sctp_state > SCTPS_SHUTDOWN_PENDING &&
usr/src/uts/common/inet/sctp/sctp_shutdown.c
98
(sendmp = sctp_make_sack(sctp, fp, NULL)) != NULL) {
usr/src/uts/common/inet/sctp/sctp_snmp.c
100
while (sctp != NULL) {
usr/src/uts/common/inet/sctp/sctp_snmp.c
101
mutex_enter(&sctp->sctp_reflock);
usr/src/uts/common/inet/sctp/sctp_snmp.c
102
if (sctp->sctp_condemned) {
usr/src/uts/common/inet/sctp/sctp_snmp.c
103
mutex_exit(&sctp->sctp_reflock);
usr/src/uts/common/inet/sctp/sctp_snmp.c
104
sctp = list_next(&sctps->sctps_g_list, sctp);
usr/src/uts/common/inet/sctp/sctp_snmp.c
107
sctp->sctp_refcnt++;
usr/src/uts/common/inet/sctp/sctp_snmp.c
108
mutex_exit(&sctp->sctp_reflock);
usr/src/uts/common/inet/sctp/sctp_snmp.c
112
if (sctp->sctp_connp->conn_zoneid != myzoneid)
usr/src/uts/common/inet/sctp/sctp_snmp.c
114
if (sctp->sctp_state == SCTPS_ESTABLISHED ||
usr/src/uts/common/inet/sctp/sctp_snmp.c
115
sctp->sctp_state == SCTPS_SHUTDOWN_PENDING ||
usr/src/uts/common/inet/sctp/sctp_snmp.c
116
sctp->sctp_state == SCTPS_SHUTDOWN_RECEIVED) {
usr/src/uts/common/inet/sctp/sctp_snmp.c
124
if (sctp->sctp_opkts) {
usr/src/uts/common/inet/sctp/sctp_snmp.c
126
sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_snmp.c
127
sctp->sctp_opkts = 0;
usr/src/uts/common/inet/sctp/sctp_snmp.c
130
if (sctp->sctp_obchunks) {
usr/src/uts/common/inet/sctp/sctp_snmp.c
132
sctp->sctp_obchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
133
UPDATE_LOCAL(sctp->sctp_cum_obchunks,
usr/src/uts/common/inet/sctp/sctp_snmp.c
134
sctp->sctp_obchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
135
sctp->sctp_obchunks = 0;
usr/src/uts/common/inet/sctp/sctp_snmp.c
138
if (sctp->sctp_odchunks) {
usr/src/uts/common/inet/sctp/sctp_snmp.c
140
sctp->sctp_odchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
141
UPDATE_LOCAL(sctp->sctp_cum_odchunks,
usr/src/uts/common/inet/sctp/sctp_snmp.c
142
sctp->sctp_odchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
143
sctp->sctp_odchunks = 0;
usr/src/uts/common/inet/sctp/sctp_snmp.c
146
if (sctp->sctp_oudchunks) {
usr/src/uts/common/inet/sctp/sctp_snmp.c
148
sctp->sctp_oudchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
149
UPDATE_LOCAL(sctp->sctp_cum_oudchunks,
usr/src/uts/common/inet/sctp/sctp_snmp.c
150
sctp->sctp_oudchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
151
sctp->sctp_oudchunks = 0;
usr/src/uts/common/inet/sctp/sctp_snmp.c
154
if (sctp->sctp_rxtchunks) {
usr/src/uts/common/inet/sctp/sctp_snmp.c
156
sctp->sctp_rxtchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
157
UPDATE_LOCAL(sctp->sctp_cum_rxtchunks,
usr/src/uts/common/inet/sctp/sctp_snmp.c
158
sctp->sctp_rxtchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
159
sctp->sctp_rxtchunks = 0;
usr/src/uts/common/inet/sctp/sctp_snmp.c
162
if (sctp->sctp_ipkts) {
usr/src/uts/common/inet/sctp/sctp_snmp.c
164
sctp->sctp_ipkts);
usr/src/uts/common/inet/sctp/sctp_snmp.c
165
sctp->sctp_ipkts = 0;
usr/src/uts/common/inet/sctp/sctp_snmp.c
168
if (sctp->sctp_ibchunks) {
usr/src/uts/common/inet/sctp/sctp_snmp.c
170
sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
171
UPDATE_LOCAL(sctp->sctp_cum_ibchunks,
usr/src/uts/common/inet/sctp/sctp_snmp.c
172
sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
173
sctp->sctp_ibchunks = 0;
usr/src/uts/common/inet/sctp/sctp_snmp.c
176
if (sctp->sctp_idchunks) {
usr/src/uts/common/inet/sctp/sctp_snmp.c
178
sctp->sctp_idchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
179
UPDATE_LOCAL(sctp->sctp_cum_idchunks,
usr/src/uts/common/inet/sctp/sctp_snmp.c
180
sctp->sctp_idchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
181
sctp->sctp_idchunks = 0;
usr/src/uts/common/inet/sctp/sctp_snmp.c
184
if (sctp->sctp_iudchunks) {
usr/src/uts/common/inet/sctp/sctp_snmp.c
186
sctp->sctp_iudchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
187
UPDATE_LOCAL(sctp->sctp_cum_iudchunks,
usr/src/uts/common/inet/sctp/sctp_snmp.c
188
sctp->sctp_iudchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
189
sctp->sctp_iudchunks = 0;
usr/src/uts/common/inet/sctp/sctp_snmp.c
192
if (sctp->sctp_fragdmsgs) {
usr/src/uts/common/inet/sctp/sctp_snmp.c
194
sctp->sctp_fragdmsgs);
usr/src/uts/common/inet/sctp/sctp_snmp.c
195
sctp->sctp_fragdmsgs = 0;
usr/src/uts/common/inet/sctp/sctp_snmp.c
198
if (sctp->sctp_reassmsgs) {
usr/src/uts/common/inet/sctp/sctp_snmp.c
200
sctp->sctp_reassmsgs);
usr/src/uts/common/inet/sctp/sctp_snmp.c
201
sctp->sctp_reassmsgs = 0;
usr/src/uts/common/inet/sctp/sctp_snmp.c
205
sctp_prev = sctp;
usr/src/uts/common/inet/sctp/sctp_snmp.c
207
sctp = list_next(&sctps->sctps_g_list, sctp);
usr/src/uts/common/inet/sctp/sctp_snmp.c
549
sctp_t *sctp, *sctp_prev = NULL;
usr/src/uts/common/inet/sctp/sctp_snmp.c
607
sctp = list_head(&sctps->sctps_g_list);
usr/src/uts/common/inet/sctp/sctp_snmp.c
608
while (sctp != NULL) {
usr/src/uts/common/inet/sctp/sctp_snmp.c
609
mutex_enter(&sctp->sctp_reflock);
usr/src/uts/common/inet/sctp/sctp_snmp.c
61
sctp_t *sctp, *sctp_prev;
usr/src/uts/common/inet/sctp/sctp_snmp.c
610
if (sctp->sctp_condemned) {
usr/src/uts/common/inet/sctp/sctp_snmp.c
611
mutex_exit(&sctp->sctp_reflock);
usr/src/uts/common/inet/sctp/sctp_snmp.c
612
sctp = list_next(&sctps->sctps_g_list, sctp);
usr/src/uts/common/inet/sctp/sctp_snmp.c
615
sctp->sctp_refcnt++;
usr/src/uts/common/inet/sctp/sctp_snmp.c
616
mutex_exit(&sctp->sctp_reflock);
usr/src/uts/common/inet/sctp/sctp_snmp.c
620
if (sctp->sctp_connp->conn_zoneid != zoneid)
usr/src/uts/common/inet/sctp/sctp_snmp.c
622
if (sctp->sctp_state == SCTPS_ESTABLISHED ||
usr/src/uts/common/inet/sctp/sctp_snmp.c
623
sctp->sctp_state == SCTPS_SHUTDOWN_PENDING ||
usr/src/uts/common/inet/sctp/sctp_snmp.c
624
sctp->sctp_state == SCTPS_SHUTDOWN_RECEIVED) {
usr/src/uts/common/inet/sctp/sctp_snmp.c
631
SCTPS_UPDATE_MIB(sctps, sctpOutSCTPPkts, sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_snmp.c
632
sctp->sctp_opkts = 0;
usr/src/uts/common/inet/sctp/sctp_snmp.c
633
SCTPS_UPDATE_MIB(sctps, sctpOutCtrlChunks, sctp->sctp_obchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
634
UPDATE_LOCAL(sctp->sctp_cum_obchunks,
usr/src/uts/common/inet/sctp/sctp_snmp.c
635
sctp->sctp_obchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
636
sctp->sctp_obchunks = 0;
usr/src/uts/common/inet/sctp/sctp_snmp.c
638
sctp->sctp_odchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
639
UPDATE_LOCAL(sctp->sctp_cum_odchunks,
usr/src/uts/common/inet/sctp/sctp_snmp.c
640
sctp->sctp_odchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
641
sctp->sctp_odchunks = 0;
usr/src/uts/common/inet/sctp/sctp_snmp.c
643
sctp->sctp_oudchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
644
UPDATE_LOCAL(sctp->sctp_cum_oudchunks,
usr/src/uts/common/inet/sctp/sctp_snmp.c
645
sctp->sctp_oudchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
646
sctp->sctp_oudchunks = 0;
usr/src/uts/common/inet/sctp/sctp_snmp.c
648
sctp->sctp_rxtchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
649
UPDATE_LOCAL(sctp->sctp_cum_rxtchunks,
usr/src/uts/common/inet/sctp/sctp_snmp.c
650
sctp->sctp_rxtchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
651
sctp->sctp_rxtchunks = 0;
usr/src/uts/common/inet/sctp/sctp_snmp.c
652
SCTPS_UPDATE_MIB(sctps, sctpInSCTPPkts, sctp->sctp_ipkts);
usr/src/uts/common/inet/sctp/sctp_snmp.c
653
sctp->sctp_ipkts = 0;
usr/src/uts/common/inet/sctp/sctp_snmp.c
654
SCTPS_UPDATE_MIB(sctps, sctpInCtrlChunks, sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
655
UPDATE_LOCAL(sctp->sctp_cum_ibchunks,
usr/src/uts/common/inet/sctp/sctp_snmp.c
656
sctp->sctp_ibchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
657
sctp->sctp_ibchunks = 0;
usr/src/uts/common/inet/sctp/sctp_snmp.c
658
SCTPS_UPDATE_MIB(sctps, sctpInOrderChunks, sctp->sctp_idchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
659
UPDATE_LOCAL(sctp->sctp_cum_idchunks,
usr/src/uts/common/inet/sctp/sctp_snmp.c
660
sctp->sctp_idchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
661
sctp->sctp_idchunks = 0;
usr/src/uts/common/inet/sctp/sctp_snmp.c
663
sctp->sctp_iudchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
664
UPDATE_LOCAL(sctp->sctp_cum_iudchunks,
usr/src/uts/common/inet/sctp/sctp_snmp.c
665
sctp->sctp_iudchunks);
usr/src/uts/common/inet/sctp/sctp_snmp.c
666
sctp->sctp_iudchunks = 0;
usr/src/uts/common/inet/sctp/sctp_snmp.c
667
SCTPS_UPDATE_MIB(sctps, sctpFragUsrMsgs, sctp->sctp_fragdmsgs);
usr/src/uts/common/inet/sctp/sctp_snmp.c
668
sctp->sctp_fragdmsgs = 0;
usr/src/uts/common/inet/sctp/sctp_snmp.c
669
SCTPS_UPDATE_MIB(sctps, sctpReasmUsrMsgs, sctp->sctp_reassmsgs);
usr/src/uts/common/inet/sctp/sctp_snmp.c
670
sctp->sctp_reassmsgs = 0;
usr/src/uts/common/inet/sctp/sctp_snmp.c
672
sce.sctpAssocId = ntohl(sctp->sctp_lvtag);
usr/src/uts/common/inet/sctp/sctp_snmp.c
673
sce.sctpAssocLocalPort = ntohs(sctp->sctp_connp->conn_lport);
usr/src/uts/common/inet/sctp/sctp_snmp.c
674
sce.sctpAssocRemPort = ntohs(sctp->sctp_connp->conn_fport);
usr/src/uts/common/inet/sctp/sctp_snmp.c
676
RUN_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_snmp.c
677
if (sctp->sctp_primary != NULL) {
usr/src/uts/common/inet/sctp/sctp_snmp.c
678
fp = sctp->sctp_primary;
usr/src/uts/common/inet/sctp/sctp_snmp.c
708
if (sctp->sctp_saddrs[i].ipif_count == 0)
usr/src/uts/common/inet/sctp/sctp_snmp.c
710
obj = list_head(&sctp->sctp_saddrs[i].sctp_ipif_list);
usr/src/uts/common/inet/sctp/sctp_snmp.c
711
for (l = 0; l < sctp->sctp_saddrs[i].ipif_count; l++) {
usr/src/uts/common/inet/sctp/sctp_snmp.c
718
scle.sctpAssocId = ntohl(sctp->sctp_lvtag);
usr/src/uts/common/inet/sctp/sctp_snmp.c
730
if (scanned >= sctp->sctp_nsaddrs)
usr/src/uts/common/inet/sctp/sctp_snmp.c
732
obj = list_next(&sctp->
usr/src/uts/common/inet/sctp/sctp_snmp.c
740
for (fp = sctp->sctp_faddrs; fp; fp = fp->sf_next) {
usr/src/uts/common/inet/sctp/sctp_snmp.c
741
scre.sctpAssocId = ntohl(sctp->sctp_lvtag);
usr/src/uts/common/inet/sctp/sctp_snmp.c
763
connp = sctp->sctp_connp;
usr/src/uts/common/inet/sctp/sctp_snmp.c
791
if (sctp->sctp_connp->conn_ixa->ixa_tsl != NULL) {
usr/src/uts/common/inet/sctp/sctp_snmp.c
794
tsl = sctp->sctp_connp->conn_ixa->ixa_tsl;
usr/src/uts/common/inet/sctp/sctp_snmp.c
800
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_snmp.c
801
sce.sctpAssocState = sctp_snmp_state(sctp);
usr/src/uts/common/inet/sctp/sctp_snmp.c
802
sce.sctpAssocInStreams = sctp->sctp_num_istr;
usr/src/uts/common/inet/sctp/sctp_snmp.c
803
sce.sctpAssocOutStreams = sctp->sctp_num_ostr;
usr/src/uts/common/inet/sctp/sctp_snmp.c
804
sce.sctpAssocMaxRetr = sctp->sctp_pa_max_rxt;
usr/src/uts/common/inet/sctp/sctp_snmp.c
807
sce.sctpAssocT1expired = sctp->sctp_T1expire;
usr/src/uts/common/inet/sctp/sctp_snmp.c
808
sce.sctpAssocT2expired = sctp->sctp_T2expire;
usr/src/uts/common/inet/sctp/sctp_snmp.c
809
sce.sctpAssocRtxChunks = sctp->sctp_T3expire;
usr/src/uts/common/inet/sctp/sctp_snmp.c
810
sce.sctpAssocStartTime = sctp->sctp_assoc_start_time;
usr/src/uts/common/inet/sctp/sctp_snmp.c
811
sce.sctpConnEntryInfo.ce_sendq = sctp->sctp_unacked +
usr/src/uts/common/inet/sctp/sctp_snmp.c
812
sctp->sctp_unsent;
usr/src/uts/common/inet/sctp/sctp_snmp.c
813
sce.sctpConnEntryInfo.ce_recvq = sctp->sctp_rxqueued;
usr/src/uts/common/inet/sctp/sctp_snmp.c
814
sce.sctpConnEntryInfo.ce_swnd = sctp->sctp_frwnd;
usr/src/uts/common/inet/sctp/sctp_snmp.c
815
sce.sctpConnEntryInfo.ce_rwnd = sctp->sctp_rwnd;
usr/src/uts/common/inet/sctp/sctp_snmp.c
816
sce.sctpConnEntryInfo.ce_mss = sctp->sctp_mss;
usr/src/uts/common/inet/sctp/sctp_snmp.c
833
sctp_prev = sctp;
usr/src/uts/common/inet/sctp/sctp_snmp.c
835
sctp = list_next(&sctps->sctps_g_list, sctp);
usr/src/uts/common/inet/sctp/sctp_snmp.c
901
sctp_snmp_state(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_snmp.c
903
if (sctp == NULL)
usr/src/uts/common/inet/sctp/sctp_snmp.c
906
switch (sctp->sctp_state) {
usr/src/uts/common/inet/sctp/sctp_snmp.c
99
sctp = list_head(&sctps->sctps_g_list);
usr/src/uts/common/inet/sctp/sctp_timer.c
100
sctp_timer(sctp_t *sctp, mblk_t *mp, clock_t tim)
usr/src/uts/common/inet/sctp/sctp_timer.c
105
ASSERT(sctp != NULL && mp != NULL);
usr/src/uts/common/inet/sctp/sctp_timer.c
131
SCTP_REFHOLD(sctp);
usr/src/uts/common/inet/sctp/sctp_timer.c
157
sctp_timer_alloc(sctp_t *sctp, pfv_t func, int sleep)
usr/src/uts/common/inet/sctp/sctp_timer.c
162
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_timer.c
179
sctpt->sctpt_sctp = sctp;
usr/src/uts/common/inet/sctp/sctp_timer.c
199
sctp_t *sctp;
usr/src/uts/common/inet/sctp/sctp_timer.c
207
sctp = sctpt->sctpt_sctp;
usr/src/uts/common/inet/sctp/sctp_timer.c
208
ASSERT(sctp != NULL);
usr/src/uts/common/inet/sctp/sctp_timer.c
210
mutex_enter(&sctp->sctp_lock);
usr/src/uts/common/inet/sctp/sctp_timer.c
211
if (sctp->sctp_running) {
usr/src/uts/common/inet/sctp/sctp_timer.c
217
if (sctp->sctp_timer_mp == NULL) {
usr/src/uts/common/inet/sctp/sctp_timer.c
218
SCTP_REFHOLD(sctp);
usr/src/uts/common/inet/sctp/sctp_timer.c
219
sctp->sctp_timer_mp = mp;
usr/src/uts/common/inet/sctp/sctp_timer.c
221
linkb(sctp->sctp_timer_mp, mp);
usr/src/uts/common/inet/sctp/sctp_timer.c
224
mutex_exit(&sctp->sctp_lock);
usr/src/uts/common/inet/sctp/sctp_timer.c
226
sctp->sctp_running = B_TRUE;
usr/src/uts/common/inet/sctp/sctp_timer.c
227
mutex_exit(&sctp->sctp_lock);
usr/src/uts/common/inet/sctp/sctp_timer.c
229
sctp_timer_call(sctp, mp);
usr/src/uts/common/inet/sctp/sctp_timer.c
230
WAKE_SCTP(sctp);
usr/src/uts/common/inet/sctp/sctp_timer.c
232
SCTP_REFRELE(sctp);
usr/src/uts/common/inet/sctp/sctp_timer.c
365
sctp_timer_call(sctp_t *sctp, mblk_t *mp)
usr/src/uts/common/inet/sctp/sctp_timer.c
370
(*sctpt->sctpt_pfv)(sctp, sctpt->sctpt_faddr);
usr/src/uts/common/inet/sctp/sctp_timer.c
378
sctp_ack_timer(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_timer.c
380
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_timer.c
382
sctp->sctp_ack_timer_running = 0;
usr/src/uts/common/inet/sctp/sctp_timer.c
383
sctp->sctp_sack_toggle = sctps->sctps_deferred_acks_max;
usr/src/uts/common/inet/sctp/sctp_timer.c
385
(void) sctp_sack(sctp, NULL);
usr/src/uts/common/inet/sctp/sctp_timer.c
392
sctp_heartbeat_timer(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_timer.c
398
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_timer.c
401
if (sctp->sctp_strikes >= sctp->sctp_pa_max_rxt) {
usr/src/uts/common/inet/sctp/sctp_timer.c
410
if (sctps->sctps_reclaim || !sctp_is_a_faddr_clean(sctp)) {
usr/src/uts/common/inet/sctp/sctp_timer.c
414
sctp_assoc_event(sctp, SCTP_COMM_LOST, 0, NULL);
usr/src/uts/common/inet/sctp/sctp_timer.c
415
sctp_clean_death(sctp, sctp->sctp_client_errno ?
usr/src/uts/common/inet/sctp/sctp_timer.c
416
sctp->sctp_client_errno : ETIMEDOUT);
usr/src/uts/common/inet/sctp/sctp_timer.c
422
if (sctp->sctp_state != SCTPS_ESTABLISHED) {
usr/src/uts/common/inet/sctp/sctp_timer.c
436
for (fp = sctp->sctp_faddrs; fp != NULL; fp = fp->sf_next) {
usr/src/uts/common/inet/sctp/sctp_timer.c
453
sctp_get_dest(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_timer.c
457
sctp_faddr_dead(sctp, fp,
usr/src/uts/common/inet/sctp/sctp_timer.c
499
sctp->sctp_strikes++;
usr/src/uts/common/inet/sctp/sctp_timer.c
509
if (sctp_faddr_dead(sctp, fp,
usr/src/uts/common/inet/sctp/sctp_timer.c
519
sctp->sctp_rto_initial;
usr/src/uts/common/inet/sctp/sctp_timer.c
522
SCTP_CALC_RXT(sctp, fp,
usr/src/uts/common/inet/sctp/sctp_timer.c
523
sctp->sctp_rto_max);
usr/src/uts/common/inet/sctp/sctp_timer.c
561
sctp_send_heartbeat(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_timer.c
567
if (sctp->sctp_autoclose != 0) {
usr/src/uts/common/inet/sctp/sctp_timer.c
570
expire = sctp->sctp_active + sctp->sctp_autoclose;
usr/src/uts/common/inet/sctp/sctp_timer.c
574
sctp_send_shutdown(sctp, 0);
usr/src/uts/common/inet/sctp/sctp_timer.c
584
sctp_timer(sctp, sctp->sctp_heartbeat_mp, earliest_expiry);
usr/src/uts/common/inet/sctp/sctp_timer.c
588
sctp_rexmit_timer(sctp_t *sctp, sctp_faddr_t *fp)
usr/src/uts/common/inet/sctp/sctp_timer.c
591
uint32_t rto_max = sctp->sctp_rto_max;
usr/src/uts/common/inet/sctp/sctp_timer.c
592
sctp_stack_t *sctps = sctp->sctp_sctps;
usr/src/uts/common/inet/sctp/sctp_timer.c
604
pa_max_retr = sctp->sctp_pa_max_rxt;
usr/src/uts/common/inet/sctp/sctp_timer.c
608
pa_max_retr = MIN(sctp_pa_early_abort, sctp->sctp_pa_max_rxt);
usr/src/uts/common/inet/sctp/sctp_timer.c
612
if (sctp->sctp_state < SCTPS_ESTABLISHED) {
usr/src/uts/common/inet/sctp/sctp_timer.c
613
if (fp->sf_strikes >= sctp->sctp_max_init_rxt) {
usr/src/uts/common/inet/sctp/sctp_timer.c
617
sctp_assoc_event(sctp, SCTP_CANT_STR_ASSOC, 0, NULL);
usr/src/uts/common/inet/sctp/sctp_timer.c
618
sctp_clean_death(sctp, sctp->sctp_client_errno ?
usr/src/uts/common/inet/sctp/sctp_timer.c
619
sctp->sctp_client_errno : ETIMEDOUT);
usr/src/uts/common/inet/sctp/sctp_timer.c
622
} else if (sctp->sctp_state >= SCTPS_ESTABLISHED) {
usr/src/uts/common/inet/sctp/sctp_timer.c
623
if (sctp->sctp_strikes >= pa_max_retr) {
usr/src/uts/common/inet/sctp/sctp_timer.c
627
sctp_assoc_event(sctp, SCTP_COMM_LOST, 0, NULL);
usr/src/uts/common/inet/sctp/sctp_timer.c
628
sctp_clean_death(sctp, sctp->sctp_client_errno ?
usr/src/uts/common/inet/sctp/sctp_timer.c
629
sctp->sctp_client_errno : ETIMEDOUT);
usr/src/uts/common/inet/sctp/sctp_timer.c
635
if (sctp_faddr_dead(sctp, fp, SCTP_FADDRS_DOWN) == -1) {
usr/src/uts/common/inet/sctp/sctp_timer.c
640
switch (sctp->sctp_state) {
usr/src/uts/common/inet/sctp/sctp_timer.c
642
(void) sctp_shutdown_received(sctp, NULL, B_FALSE, B_TRUE,
usr/src/uts/common/inet/sctp/sctp_timer.c
648
if (sctp->sctp_xmit_head == NULL &&
usr/src/uts/common/inet/sctp/sctp_timer.c
649
sctp->sctp_xmit_unsent == NULL) {
usr/src/uts/common/inet/sctp/sctp_timer.c
651
if (sctp->sctp_state == SCTPS_SHUTDOWN_PENDING) {
usr/src/uts/common/inet/sctp/sctp_timer.c
652
sctp_send_shutdown(sctp, 1);
usr/src/uts/common/inet/sctp/sctp_timer.c
659
sctp_rexmit(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_timer.c
666
BUMP_LOCAL(sctp->sctp_T1expire);
usr/src/uts/common/inet/sctp/sctp_timer.c
674
mp = sctp_init_mp(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_timer.c
678
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_timer.c
680
rto_max = sctp->sctp_rto_max_init;
usr/src/uts/common/inet/sctp/sctp_timer.c
683
BUMP_LOCAL(sctp->sctp_T1expire);
usr/src/uts/common/inet/sctp/sctp_timer.c
684
if (sctp->sctp_cookie_mp == NULL) {
usr/src/uts/common/inet/sctp/sctp_timer.c
685
sctp->sctp_state = SCTPS_COOKIE_WAIT;
usr/src/uts/common/inet/sctp/sctp_timer.c
688
mp = dupmsg(sctp->sctp_cookie_mp);
usr/src/uts/common/inet/sctp/sctp_timer.c
692
BUMP_LOCAL(sctp->sctp_opkts);
usr/src/uts/common/inet/sctp/sctp_timer.c
694
rto_max = sctp->sctp_rto_max_init;
usr/src/uts/common/inet/sctp/sctp_timer.c
697
BUMP_LOCAL(sctp->sctp_T2expire);
usr/src/uts/common/inet/sctp/sctp_timer.c
698
sctp_send_shutdown(sctp, 1);
usr/src/uts/common/inet/sctp/sctp_timer.c
703
ASSERT(sctp->sctp_xmit_head == NULL);
usr/src/uts/common/inet/sctp/sctp_timer.c
704
ASSERT(sctp->sctp_xmit_unsent == NULL);
usr/src/uts/common/inet/sctp/sctp_timer.c
706
BUMP_LOCAL(sctp->sctp_T2expire);
usr/src/uts/common/inet/sctp/sctp_timer.c
707
(void) sctp_shutdown_received(sctp, NULL, B_FALSE, B_TRUE,
usr/src/uts/common/inet/sctp/sctp_timer.c
717
sctp->sctp_strikes++;
usr/src/uts/common/inet/sctp/sctp_timer.c
718
SCTP_CALC_RXT(sctp, fp, rto_max);
usr/src/uts/common/inet/sctp/sctp_timer.c
720
SCTP_FADDR_TIMER_RESTART(sctp, fp, fp->sf_rto);
usr/src/uts/common/inet/sctp/sctp_timer.c
727
sctp_update_rtt(sctp_t *sctp, sctp_faddr_t *fp, clock_t delta)
usr/src/uts/common/inet/sctp/sctp_timer.c
762
if (fp->sf_rto < sctp->sctp_rto_min) {
usr/src/uts/common/inet/sctp/sctp_timer.c
763
fp->sf_rto = sctp->sctp_rto_min;
usr/src/uts/common/inet/sctp/sctp_timer.c
765
if (fp->sf_rto > sctp->sctp_rto_max) {
usr/src/uts/common/inet/sctp/sctp_timer.c
766
fp->sf_rto = sctp->sctp_rto_max;
usr/src/uts/common/inet/sctp/sctp_timer.c
769
SCTP_MAX_RTO(sctp, fp);
usr/src/uts/common/inet/sctp/sctp_timer.c
774
sctp_free_faddr_timers(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_timer.c
778
for (fp = sctp->sctp_faddrs; fp != NULL; fp = fp->sf_next) {
usr/src/uts/common/inet/sctp/sctp_timer.c
793
sctp_stop_faddr_timers(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_timer.c
797
for (fp = sctp->sctp_faddrs; fp != NULL; fp = fp->sf_next) {
usr/src/uts/common/inet/sctp/sctp_timer.c
804
sctp_process_timer(sctp_t *sctp)
usr/src/uts/common/inet/sctp/sctp_timer.c
808
ASSERT(sctp->sctp_running);
usr/src/uts/common/inet/sctp/sctp_timer.c
809
ASSERT(MUTEX_HELD(&sctp->sctp_lock));
usr/src/uts/common/inet/sctp/sctp_timer.c
810
while ((mp = sctp->sctp_timer_mp) != NULL) {
usr/src/uts/common/inet/sctp/sctp_timer.c
816
sctp->sctp_timer_mp = mp->b_cont;
usr/src/uts/common/inet/sctp/sctp_timer.c
823
mutex_exit(&sctp->sctp_lock);
usr/src/uts/common/inet/sctp/sctp_timer.c
824
sctp_timer_call(sctp, mp);
usr/src/uts/common/inet/sctp/sctp_timer.c
825
mutex_enter(&sctp->sctp_lock);
usr/src/uts/common/inet/sctp/sctp_timer.c
827
SCTP_REFRELE(sctp);