Lines Matching +full:shutdown +full:- +full:ack

40 #include "netdissect-stdinc.h"
118 { SCTP_INITIATION_ACK, "INIT ACK" },
121 { SCTP_HEARTBEAT_ACK, "HB ACK" },
123 { SCTP_SHUTDOWN, "SHUTDOWN" },
124 { SCTP_SHUTDOWN_ACK, "SHUTDOWN ACK" },
127 { SCTP_COOKIE_ACK, "COOKIE ACK" },
130 { SCTP_SHUTDOWN_COMPLETE, "SHUTDOWN COMPLETE" },
133 { SCTP_RELIABLE_CNTL_ACK, "REL CTRL ACK" },
191 /* Sctp association init request/ack */
193 /* this is used for init ack, too */
273 /* for the abort and shutdown ACK
293 /* For the graceful shutdown we must carry
427 { SCTP_PPID_SBC_AP, "SBc-AP" },
465 ndo->ndo_protocol = "sctp";
468 ND_PRINT("truncated-sctp - %zu bytes missing!",
469 sizeof(struct sctpHeader) - sctpPacketLength);
476 sourcePort = GET_BE_U_2(sctpPktHdr->source);
477 destPort = GET_BE_U_2(sctpPktHdr->destination);
487 GET_IP6ADDR_STRING(ip6->ip6_src),
489 GET_IP6ADDR_STRING(ip6->ip6_dst),
493 GET_IPADDR_STRING(ip->ip_src),
495 GET_IPADDR_STRING(ip->ip_dst),
509 sctpPacketLengthRemaining -= sizeof(struct sctpHeader);
511 if (ndo->ndo_vflag >= 2)
529 chunkLength = GET_BE_U_2(chunkDescPtr->chunkLength);
538 align = 4 - align;
548 sctpPacketLengthRemaining -= sizeof(*chunkDescPtr);
549 chunkLengthRemaining -= sizeof(*chunkDescPtr);
552 chunkID = GET_U_1(chunkDescPtr->chunkID);
563 chunkFlg = GET_U_1(chunkDescPtr->chunkFlg);
584 ppid = GET_BE_U_4(dataHdrPtr->payloadtype);
585 ND_PRINT("[TSN: %u] ", GET_BE_U_4(dataHdrPtr->TSN));
586 ND_PRINT("[SID: %u] ", GET_BE_U_2(dataHdrPtr->streamId));
587 ND_PRINT("[SSEQ %u] ", GET_BE_U_2(dataHdrPtr->sequence));
598 sctpPacketLengthRemaining -= sizeof(*dataHdrPtr);
599 chunkLengthRemaining -= sizeof(*dataHdrPtr);
609 ndo->ndo_protocol = "sctp";
610 } else if (ndo->ndo_vflag >= 2) { /* if verbose output is specified */
616 ndo->ndo_protocol = "sctp";
620 if (!ndo->ndo_suppress_default_print) {
629 sctpPacketLengthRemaining -= payload_size;
630 chunkLengthRemaining -= payload_size;
642 ND_PRINT("[init tag: %u] ", GET_BE_U_4(init->initTag));
643 ND_PRINT("[rwnd: %u] ", GET_BE_U_4(init->rcvWindowCredit));
644 ND_PRINT("[OS: %u] ", GET_BE_U_2(init->NumPreopenStreams));
645 ND_PRINT("[MIS: %u] ", GET_BE_U_2(init->MaxInboundStreams));
646 ND_PRINT("[init TSN: %u] ", GET_BE_U_4(init->initialTSN));
648 sctpPacketLengthRemaining -= sizeof(*init);
649 chunkLengthRemaining -= sizeof(*init);
657 sctpPacketLengthRemaining -= chunkLengthRemaining;
670 ND_PRINT("[init tag: %u] ", GET_BE_U_4(init->initTag));
671 ND_PRINT("[rwnd: %u] ", GET_BE_U_4(init->rcvWindowCredit));
672 ND_PRINT("[OS: %u] ", GET_BE_U_2(init->NumPreopenStreams));
673 ND_PRINT("[MIS: %u] ", GET_BE_U_2(init->MaxInboundStreams));
674 ND_PRINT("[init TSN: %u] ", GET_BE_U_4(init->initialTSN));
676 sctpPacketLengthRemaining -= sizeof(*init);
677 chunkLengthRemaining -= sizeof(*init);
685 sctpPacketLengthRemaining -= chunkLengthRemaining;
701 ND_PRINT("[cum ack %u] ", GET_BE_U_4(sack->highestConseqTSN));
702 ND_PRINT("[a_rwnd %u] ", GET_BE_U_4(sack->updatedRwnd));
703 ND_PRINT("[#gap acks %u] ", GET_BE_U_2(sack->numberOfdesc));
704 ND_PRINT("[#dup tsns %u] ", GET_BE_U_2(sack->numDupTsns));
706 sctpPacketLengthRemaining -= sizeof(*sack);
707 chunkLengthRemaining -= sizeof(*sack);
712 chunkLengthRemaining != 0 && fragNo < GET_BE_U_2(sack->numberOfdesc);
713 bp += sizeof(*frag), sctpPacketLengthRemaining -= sizeof(*frag), chunkLengthRemaining -= sizeof(*frag), fragNo++) {
719 ND_PRINT("\n\t\t[gap ack block #%u: start = %u, end = %u] ",
721 GET_BE_U_4(sack->highestConseqTSN) + GET_BE_U_2(frag->fragmentStart),
722 GET_BE_U_4(sack->highestConseqTSN) + GET_BE_U_2(frag->fragmentEnd));
727 chunkLengthRemaining != 0 && tsnNo<GET_BE_U_2(sack->numDupTsns);
728 bp += 4, sctpPacketLengthRemaining -= 4, chunkLengthRemaining -= 4, tsnNo++) {
742 sctpPacketLengthRemaining -= chunkLengthRemaining;
750 * XXX - report this?
753 sctpPacketLengthRemaining -= chunkLengthRemaining;
755 if (ndo->ndo_vflag < 2)
765 sctpPacketLengthRemaining -= align;